From f7cccae072562f4795c33bbb2ebcee2da86a9c2e Mon Sep 17 00:00:00 2001 From: Nora <46890129+RainbowDashLabs@users.noreply.github.com> Date: Tue, 5 May 2026 15:53:22 +0200 Subject: [PATCH 1/3] Refactor project structure and implement Nix development shell - Moved all public-facing files to a `public/` directory for better organization. - Renamed assets and relocated them to the `public/assets` directory. - Replaced custom PHP implementations for database and routing with environment-aware includes. - Converted database initialization logic into `php/pdo.php`. - Introduced `shell.nix` for setting up a Nix development shell with `php85` and Composer. - Updated Docker configuration to adapt to new folder structure. - Replaced generic MySQL image with version `9.7`. - Adjusted `compose.debug.yaml` and Apache settings for the new directory layout. --- .envrc | 1 + compose.debug.yaml | 5 +- debug.Dockerfile | 1 + docker/000-default.conf | 4 +- impressum.html | 85 ----------------- pdo.php | 87 ------------------ php/devmarkt.inc.php | 2 +- php/pdo.php | 87 +++++++++++++++++- {assets => public/assets}/css/style.css | 0 {assets => public/assets}/css/styles.css | 0 .../assets}/fonts/Inter-Medium.ttf | Bin .../assets}/fonts/Raleway-Black.ttf | Bin .../assets}/fonts/Roboto-Light.ttf | Bin {assets => public/assets}/img/favicon.png | Bin .../assets}/img/favicon_christmas.png | Bin {assets => public/assets}/img/favicon_old.png | Bin .../assets}/img/pattern_christmas.png | Bin {assets => public/assets}/img/snow.svg | 0 {assets => public/assets}/img/trianglify.svg | 0 {assets => public/assets}/js/index.js | 0 case.php => public/case.php | 11 +-- datenschutz.html => public/datenschutz.html | 0 error.php => public/error.php | 0 index.php => public/index.php | 12 +-- login.php => public/login.php | 6 +- logout.php => public/logout.php | 8 +- process.php => public/process.php | 11 +-- reason.php => public/reason.php | 9 +- strlen.php => public/strlen.php | 0 success.php => public/success.php | 2 +- user.php => public/user.php | 8 +- shell.nix | 5 + 32 files changed, 131 insertions(+), 213 deletions(-) create mode 100644 .envrc delete mode 100644 impressum.html delete mode 100644 pdo.php rename {assets => public/assets}/css/style.css (100%) rename {assets => public/assets}/css/styles.css (100%) rename {assets => public/assets}/fonts/Inter-Medium.ttf (100%) rename {assets => public/assets}/fonts/Raleway-Black.ttf (100%) rename {assets => public/assets}/fonts/Roboto-Light.ttf (100%) rename {assets => public/assets}/img/favicon.png (100%) rename {assets => public/assets}/img/favicon_christmas.png (100%) rename {assets => public/assets}/img/favicon_old.png (100%) rename {assets => public/assets}/img/pattern_christmas.png (100%) rename {assets => public/assets}/img/snow.svg (100%) rename {assets => public/assets}/img/trianglify.svg (100%) rename {assets => public/assets}/js/index.js (100%) rename case.php => public/case.php (97%) rename datenschutz.html => public/datenschutz.html (100%) rename error.php => public/error.php (100%) rename index.php => public/index.php (96%) rename login.php => public/login.php (94%) rename logout.php => public/logout.php (61%) rename process.php => public/process.php (95%) rename reason.php => public/reason.php (93%) rename strlen.php => public/strlen.php (100%) rename success.php => public/success.php (98%) rename user.php => public/user.php (97%) create mode 100644 shell.nix diff --git a/.envrc b/.envrc new file mode 100644 index 00000000..1d953f4b --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use nix diff --git a/compose.debug.yaml b/compose.debug.yaml index bde2943e..8e19b97f 100644 --- a/compose.debug.yaml +++ b/compose.debug.yaml @@ -1,8 +1,7 @@ services: mysql: container_name: mysql_dev - image: mysql - command: --default-authentication-plugin=mysql_native_password + image: mysql:9.7 environment: MYSQL_ROOT_PASSWORD: test MYSQL_DATABASE: test @@ -15,6 +14,8 @@ services: - "8080:80" volumes: - ./:/var/www/ + depends_on: + - mysql environment: MYSQL_HOST: mysql_dev MYSQL_DATABASE: test diff --git a/debug.Dockerfile b/debug.Dockerfile index 5901d11a..2a67964f 100644 --- a/debug.Dockerfile +++ b/debug.Dockerfile @@ -39,5 +39,6 @@ RUN chown -R www-data:www-data /var/www COPY docker/start-apache /usr/local/bin ENV APP_PATH=/var/www +COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf CMD ["start-apache"] diff --git a/docker/000-default.conf b/docker/000-default.conf index ab07a88d..e18959d1 100644 --- a/docker/000-default.conf +++ b/docker/000-default.conf @@ -1,8 +1,8 @@ ServerAdmin webmaster@localhost - DocumentRoot /var/www + DocumentRoot /var/www/public - + Options Indexes FollowSymLinks AllowOverride All Require all granted diff --git a/impressum.html b/impressum.html deleted file mode 100644 index b7486f01..00000000 --- a/impressum.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - Datenschutzerklärung - DevCord - - - - - -
-

Impressum

- -

Angaben gemäß § 5 TMG

-

- Max Schlosser
- Großbrösern 4
- 02627 Radibor -

- -

- Das Verbreiten und Ausnutzen der gestellten persönlichen Daten ist strengstens untersagt und wird - strafrechtlich verfolgt. -

- -

Kontakt

-

E-Mail: kontakt@max-schlosser.de

- -

- Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer - Verbraucherschlichtungsstelle teilzunehmen. -

- -

Haftung für Inhalte

-

- Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen - Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als - Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu - überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit - hinweisen. -

-

- Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen - bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der - Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden - Rechtsverletzungen werden wir diese Inhalte umgehend entfernen. -

-

Haftung für Links

-

- Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss - haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. - Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten - verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche - Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung - nicht erkennbar. -

-

- Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer - Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links - umgehend entfernen. -

-

Urheberrecht

-

- Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen - Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung - außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen - Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht - kommerziellen Gebrauch gestattet. -

-

- Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte - Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem - auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei - Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen. -

- -

- Quelle: - https://www.e-recht24.de/impressum-generator.html -

-
- - diff --git a/pdo.php b/pdo.php deleted file mode 100644 index 37b60511..00000000 --- a/pdo.php +++ /dev/null @@ -1,87 +0,0 @@ -host = getenv("MYSQL_HOST"); - $this->database = getenv("MYSQL_DATABASE"); - $this->username = getenv("MYSQL_USER"); - $this->password = getenv("MYSQL_PASSWORD"); - $options = array( - PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT, - PDO::ATTR_PERSISTENT => false, - ); - $this->pdo = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->database, $this->username, $this->password, $options); - $this->loadTables(); - - } - - public function loadTables() - { - - $pdoConnection = $this->getPDO(); - - $stmt = 'CREATE TABLE IF NOT EXISTS `dc_users` ( `id` INT NOT NULL AUTO_INCREMENT , `discord_id` VARCHAR(255) NOT NULL , `auth_code` VARCHAR(255) NOT NULL , `refresh_code` VARCHAR(255) NOT NULL , `rang` VARCHAR(50) NOT NULL , `login_token` VARCHAR(255),`blocked` BOOLEAN, `thread` VARCHAR(200) NULL DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE = InnoDB;'; - $qry = $pdoConnection->prepare($stmt); - $qry->execute(); - - $stmt1 = 'CREATE TABLE `anfragen` ( `id` INT NOT NULL AUTO_INCREMENT , `by_discord_id` VARCHAR(255) NOT NULL , `title` VARCHAR(100) NOT NULL , `type` VARCHAR(20) NOT NULL , `description` VARCHAR(' . getenv("MAX_DESCRIPTION_SIZE") . ') NOT NULL , `link` VARCHAR(100) NOT NULL , `req_id` VARCHAR(100) NOT NULL , `status` VARCHAR(100) NOT NULL , `processed_by` VARCHAR(100) NOT NULL ,`message_id` VARCHAR(100),`date` VARCHAR(100),`date_processed` VARCHAR(100),`color` VARCHAR(100),`reason` VARCHAR(500),`options` VARCHAR(200), PRIMARY KEY (`id`)) ENGINE = InnoDB;'; - $qry1 = $pdoConnection->prepare($stmt1); - $qry1->execute(); - - } - - public function getPDO() - { - - return $this->pdo; - - } - - public function close() - { - - $this->pdo->close(); - - } - - public function query($qry) - { - return $this->pdo->query($qry); - - } - - public function inTable($table, $column, $user) - { - - $pdoConnection = $this->pdo; - - $stmt = "SELECT * FROM `" . $table . "` WHERE `" . $column . "`=:user"; - $qry = $pdoConnection->prepare($stmt); - $qry->bindParam(":user", $user); - $qry->execute(); - - if ($qry->fetchColumn() == 0) { - return false; - } - return true; - } - -} - -?> diff --git a/php/devmarkt.inc.php b/php/devmarkt.inc.php index 402aacf1..0c66f17d 100644 --- a/php/devmarkt.inc.php +++ b/php/devmarkt.inc.php @@ -1,5 +1,5 @@ host = getenv("MYSQL_HOST"); + $this->database = getenv("MYSQL_DATABASE"); + $this->username = getenv("MYSQL_USER"); + $this->password = getenv("MYSQL_PASSWORD"); + $options = array( + PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT, + PDO::ATTR_PERSISTENT => false, + ); + $this->pdo = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->database, $this->username, $this->password, $options); + $this->loadTables(); + + } + + public function loadTables() + { + + $pdoConnection = $this->getPDO(); + + $stmt = 'CREATE TABLE IF NOT EXISTS `dc_users` ( `id` INT NOT NULL AUTO_INCREMENT , `discord_id` VARCHAR(255) NOT NULL , `auth_code` VARCHAR(255) NOT NULL , `refresh_code` VARCHAR(255) NOT NULL , `rang` VARCHAR(50) NOT NULL , `login_token` VARCHAR(255),`blocked` BOOLEAN, `thread` VARCHAR(200) NULL DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE = InnoDB;'; + $qry = $pdoConnection->prepare($stmt); + $qry->execute(); + + $stmt1 = 'CREATE TABLE `anfragen` ( `id` INT NOT NULL AUTO_INCREMENT , `by_discord_id` VARCHAR(255) NOT NULL , `title` VARCHAR(100) NOT NULL , `type` VARCHAR(20) NOT NULL , `description` VARCHAR(' . getenv("MAX_DESCRIPTION_SIZE") . ') NOT NULL , `link` VARCHAR(100) NOT NULL , `req_id` VARCHAR(100) NOT NULL , `status` VARCHAR(100) NOT NULL , `processed_by` VARCHAR(100) NOT NULL ,`message_id` VARCHAR(100),`date` VARCHAR(100),`date_processed` VARCHAR(100),`color` VARCHAR(100),`reason` VARCHAR(500),`options` VARCHAR(200), PRIMARY KEY (`id`)) ENGINE = InnoDB;'; + $qry1 = $pdoConnection->prepare($stmt1); + $qry1->execute(); + + } + + public function getPDO() + { + + return $this->pdo; + + } + + public function close() + { + + $this->pdo->close(); + + } + + public function query($qry) + { + return $this->pdo->query($qry); + + } + + public function inTable($table, $column, $user) + { + + $pdoConnection = $this->pdo; + + $stmt = "SELECT * FROM `" . $table . "` WHERE `" . $column . "`=:user"; + $qry = $pdoConnection->prepare($stmt); + $qry->bindParam(":user", $user); + $qry->execute(); + + if ($qry->fetchColumn() == 0) { + return false; + } + return true; + } + +} + +?> diff --git a/assets/css/style.css b/public/assets/css/style.css similarity index 100% rename from assets/css/style.css rename to public/assets/css/style.css diff --git a/assets/css/styles.css b/public/assets/css/styles.css similarity index 100% rename from assets/css/styles.css rename to public/assets/css/styles.css diff --git a/assets/fonts/Inter-Medium.ttf b/public/assets/fonts/Inter-Medium.ttf similarity index 100% rename from assets/fonts/Inter-Medium.ttf rename to public/assets/fonts/Inter-Medium.ttf diff --git a/assets/fonts/Raleway-Black.ttf b/public/assets/fonts/Raleway-Black.ttf similarity index 100% rename from assets/fonts/Raleway-Black.ttf rename to public/assets/fonts/Raleway-Black.ttf diff --git a/assets/fonts/Roboto-Light.ttf b/public/assets/fonts/Roboto-Light.ttf similarity index 100% rename from assets/fonts/Roboto-Light.ttf rename to public/assets/fonts/Roboto-Light.ttf diff --git a/assets/img/favicon.png b/public/assets/img/favicon.png similarity index 100% rename from assets/img/favicon.png rename to public/assets/img/favicon.png diff --git a/assets/img/favicon_christmas.png b/public/assets/img/favicon_christmas.png similarity index 100% rename from assets/img/favicon_christmas.png rename to public/assets/img/favicon_christmas.png diff --git a/assets/img/favicon_old.png b/public/assets/img/favicon_old.png similarity index 100% rename from assets/img/favicon_old.png rename to public/assets/img/favicon_old.png diff --git a/assets/img/pattern_christmas.png b/public/assets/img/pattern_christmas.png similarity index 100% rename from assets/img/pattern_christmas.png rename to public/assets/img/pattern_christmas.png diff --git a/assets/img/snow.svg b/public/assets/img/snow.svg similarity index 100% rename from assets/img/snow.svg rename to public/assets/img/snow.svg diff --git a/assets/img/trianglify.svg b/public/assets/img/trianglify.svg similarity index 100% rename from assets/img/trianglify.svg rename to public/assets/img/trianglify.svg diff --git a/assets/js/index.js b/public/assets/js/index.js similarity index 100% rename from assets/js/index.js rename to public/assets/js/index.js diff --git a/case.php b/public/case.php similarity index 97% rename from case.php rename to public/case.php index 1b5476a1..0661c287 100644 --- a/case.php +++ b/public/case.php @@ -1,10 +1,9 @@ diff --git a/user.php b/public/user.php similarity index 97% rename from user.php rename to public/user.php index 57d858cd..34aebbef 100644 --- a/user.php +++ b/public/user.php @@ -1,9 +1,9 @@ {}, ... }: + +pkgs.mkShell { + packages = with pkgs; [php85 php85Packages.composer]; +} From 3a3e1d1d412abf504f7720f280bc6b07cc4943ef Mon Sep 17 00:00:00 2001 From: Nora <46890129+RainbowDashLabs@users.noreply.github.com> Date: Tue, 5 May 2026 16:29:12 +0200 Subject: [PATCH 2/3] Update files and fix some issues --- .gitignore | 4 +++- README.md | 2 +- compose.debug.yaml | 2 +- .env.dev.example => example.dev.env | 0 .env.example => example.env | 0 php/devmarkt.inc.php | 4 ++-- public/devmarkt.inc.php | 2 ++ public/index.php | 2 +- 8 files changed, 10 insertions(+), 6 deletions(-) rename .env.dev.example => example.dev.env (100%) rename .env.example => example.env (100%) create mode 100644 public/devmarkt.inc.php diff --git a/.gitignore b/.gitignore index 121d0d6d..98948b21 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ .env -.env.dev +dev.env discordguild.php f.php test.php @@ -23,3 +23,5 @@ buildpush.sh html/install-php-extensions composer.lock info.php +*.env +!example.*.env diff --git a/README.md b/README.md index 99a72b25..2e504e76 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # DevCord Devmarkt ## setup dev environment -- copy .env.dev.example to .env.dev +- copy example.dev.env to dev.env - enter all properties - add the bot to your server - run `docker compose -f compose.debug.yaml up` diff --git a/compose.debug.yaml b/compose.debug.yaml index 8e19b97f..1812d0f8 100644 --- a/compose.debug.yaml +++ b/compose.debug.yaml @@ -23,4 +23,4 @@ services: MYSQL_PASSWORD: test BOT_REDIRECT_URI: http://localhost:8080/login.php? BOT_BASE_URI: http://localhost:8080 - env_file: .env.dev + env_file: dev.env diff --git a/.env.dev.example b/example.dev.env similarity index 100% rename from .env.dev.example rename to example.dev.env diff --git a/.env.example b/example.env similarity index 100% rename from .env.example rename to example.env diff --git a/php/devmarkt.inc.php b/php/devmarkt.inc.php index 0c66f17d..b40e8830 100644 --- a/php/devmarkt.inc.php +++ b/php/devmarkt.inc.php @@ -21,12 +21,12 @@ $devmarktChannel = getenv('GUILD_DEVMARKT_CHANNEL'); if ($login->isBlocked()) { - header('Location: index.php'); + header('Location: ' . $base_url . '/index.php'); } if ($login->isOnCoolDown() && !($login->isModerator())) { - header('Location: index.php'); + header('Location: ' . $base_url . '/index.php'); } if (!(isset($_POST['titel'], $_POST['type'], $_POST['beschreibung'], $_POST['color']))) { diff --git a/public/devmarkt.inc.php b/public/devmarkt.inc.php new file mode 100644 index 00000000..fab0ef8a --- /dev/null +++ b/public/devmarkt.inc.php @@ -0,0 +1,2 @@ + -
+ Date: Wed, 6 May 2026 16:15:04 +0200 Subject: [PATCH 3/3] Generify impressum data --- .dockerignore | 1 + README.md | 16 +++++ compose.debug.yaml | 1 + compose.yaml | 1 + docker/start-apache | 11 +++ docker/templates/impressum.html.template | 85 ++++++++++++++++++++++++ example.dev.env | 8 ++- example.env | 7 +- 8 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 docker/templates/impressum.html.template diff --git a/.dockerignore b/.dockerignore index 5c4b692e..c32acde3 100644 --- a/.dockerignore +++ b/.dockerignore @@ -11,3 +11,4 @@ README.md .gitattributes .gitignore debug.sh +public/impressum.html diff --git a/README.md b/README.md index 2e504e76..0347a5fd 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,19 @@ - enter all properties - add the bot to your server - run `docker compose -f compose.debug.yaml up` + +## Impressum +To provide an impressum, you can either: + +1. **Use the default template**: Fill in the following environment variables in your `.env` file: + - `IMPRESSUM_NAME` + - `IMPRESSUM_STREET` + - `IMPRESSUM_CITY` + - `IMPRESSUM_EMAIL` + +2. **Mount a custom file**: Create an `impressum.html` file in the `public` directory or mount it via docker-compose: +```yaml +volumes: + - ./impressum.html:/var/www/public/impressum.html +``` +If `public/impressum.html` exists (either in the image or mounted), it will be used instead of the template. diff --git a/compose.debug.yaml b/compose.debug.yaml index 1812d0f8..76d1ab06 100644 --- a/compose.debug.yaml +++ b/compose.debug.yaml @@ -14,6 +14,7 @@ services: - "8080:80" volumes: - ./:/var/www/ + # - ./impressum.html:/var/www/public/impressum.html depends_on: - mysql environment: diff --git a/compose.yaml b/compose.yaml index b56755ea..d39571fa 100644 --- a/compose.yaml +++ b/compose.yaml @@ -6,6 +6,7 @@ services: dockerfile: Dockerfile volumes: - ./:/var/www/ + # - ./impressum.html:/var/www/public/impressum.html ports: - "8080:80" env_file: .env diff --git a/docker/start-apache b/docker/start-apache index f68e5d6f..66b30d85 100755 --- a/docker/start-apache +++ b/docker/start-apache @@ -1,4 +1,15 @@ #!/usr/bin/env bash + +# Generate impressum from template if it doesn't exist +if [ ! -f /var/www/public/impressum.html ]; then + echo "Generating /var/www/public/impressum.html from template..." + cp /var/www/docker/templates/impressum.html.template /var/www/public/impressum.html + sed -i "s/IMPRESSUM_NAME/${IMPRESSUM_NAME:-}/g" /var/www/public/impressum.html + sed -i "s/IMPRESSUM_STREET/${IMPRESSUM_STREET:-}/g" /var/www/public/impressum.html + sed -i "s/IMPRESSUM_CITY/${IMPRESSUM_CITY:-}/g" /var/www/public/impressum.html + sed -i "s/IMPRESSUM_EMAIL/${IMPRESSUM_EMAIL:-}/g" /var/www/public/impressum.html +fi + sed -i "s/Listen 80/Listen ${PORT:-80}/g" /etc/apache2/ports.conf sed -i "s/:80/:${PORT:-80}/g" /etc/apache2/sites-enabled/* apache2-foreground \ No newline at end of file diff --git a/docker/templates/impressum.html.template b/docker/templates/impressum.html.template new file mode 100644 index 00000000..7b78028e --- /dev/null +++ b/docker/templates/impressum.html.template @@ -0,0 +1,85 @@ + + + + + Impressum - DevCord + + + + + +
+

Impressum

+ +

Angaben gemäß § 5 TMG

+

+ IMPRESSUM_NAME
+ IMPRESSUM_STREET
+ IMPRESSUM_CITY +

+ +

+ Das Verbreiten und Ausnutzen der gestellten persönlichen Daten ist strengstens untersagt und wird + strafrechtlich verfolgt. +

+ +

Kontakt

+

E-Mail: IMPRESSUM_EMAIL

+ +

+ Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer + Verbraucherschlichtungsstelle teilzunehmen. +

+ +

Haftung für Inhalte

+

+ Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen + Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als + Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu + überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit + hinweisen. +

+

+ Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen + bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der + Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden + Rechtsverletzungen werden wir diese Inhalte umgehend entfernen. +

+

Haftung für Links

+

+ Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss + haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. + Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten + verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche + Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung + nicht erkennbar. +

+

+ Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer + Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links + umgehend entfernen. +

+

Urheberrecht

+

+ Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen + Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung + außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen + Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht + kommerziellen Gebrauch gestattet. +

+

+ Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte + Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem + auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei + Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen. +

+ +

+ Quelle: + https://www.e-recht24.de/impressum-generator.html +

+
+ + diff --git a/example.dev.env b/example.dev.env index e49ebf82..f825b917 100644 --- a/example.dev.env +++ b/example.dev.env @@ -1,6 +1,7 @@ BOT_TOKEN="" BOT_CLIENT_SECRET="" BOT_CLIENT_ID="" + GUILD_DEVMARKT_REQUEST_CHANNEL="" GUILD_DEVMARKT_CHANNEL="" GUILD_ID="" @@ -10,4 +11,9 @@ CHECK_EMOTE="" BLOCK_EMOTE="" BOT_ACCESS_TOKEN="" THREAD_TYPE="" -MAX_DESCRIPTION_SIZE="" \ No newline at end of file +MAX_DESCRIPTION_SIZE="" + +IMPRESSUM_NAME="" +IMPRESSUM_STREET="" +IMPRESSUM_CITY="" +IMPRESSUM_EMAIL="" \ No newline at end of file diff --git a/example.env b/example.env index c609a684..2b347a66 100644 --- a/example.env +++ b/example.env @@ -19,4 +19,9 @@ BOT_REDIRECT_URI="" BOT_BASE_URI="" BOT_ACCESS_TOKEN="" -MAX_DESCRIPTION_SIZE="" \ No newline at end of file +MAX_DESCRIPTION_SIZE="" + +IMPRESSUM_NAME="" +IMPRESSUM_STREET="" +IMPRESSUM_CITY="" +IMPRESSUM_EMAIL="" \ No newline at end of file