From f8cf8ce778ad28b97686083fe890ce6a20629b1c Mon Sep 17 00:00:00 2001
From: isaack <drericlaufer@gmx.de>
Date: Tue, 14 Sep 2021 13:53:24 +0200
Subject: [PATCH] [3.0.1.8]

+## [3.0.1.8] - 13.08.2021
+- Einbau von 1-Click Update des grundscriptes
+- Einbau von 1-Click Installation von kostenlosen Modulen von
VMS1-Scripte.de
+- Update von Modulen per Mausklick im Adminbereich
+- Fix BUG #4
---
 CHANGELOG                                     |   5 +
 README.MD                                     |   5 +-
 VERSION                                       |   1 +
 backup/3.0.1.6/CHANGELOG                      |  29 +
 backup/3.0.1.6/README.MD                      |  17 +
 backup/3.0.1.6/euve/cont/class/menu.class.php | 165 ++++++
 backup/3.0.1.6/euve/lang/de/de.lang.php       | 131 ++++
 backup/3.0.1.6/index.php                      |  47 ++
 backup/3.0.1.6/mysql-dump/isaack_suee3-1.sql  | 530 +++++++++++++++++
 backup/3.0.1.6/page/startseite.php            |  23 +
 backup/3.0.1.6/template/sidebar.php           |  43 ++
 backup/dump_3.0.1.6.sql                       | 457 ++++++++++++++
 backup/dump_3.0.1.7.sql                       |   0
 cont/class/anmelden.class.php                 |   3 +-
 cont/class/profil.class.php                   |   4 +-
 cont/class/ref.class.php                      |  10 +-
 cont/class/session.class.php                  |   2 +-
 cont/funktionen/modul/InstallExternModul.php  |   6 +
 cont/funktionen/modul/UpdateExternModul.php   |   6 +
 cont/funktionen/modul/UpdateFreeModule.php    |   6 +
 cont/funktionen/modul/delete.php              |   6 +
 cont/funktionen/version/index.html            |   0
 cont/funktionen/version/update.php            |   6 +
 cont/json/chat.php                            |  20 +
 cont/libery.php                               |  13 +
 euve/cont/class/menu.class.php                |   8 +-
 euve/cont/class/modul.class.php               |  17 +-
 euve/cont/class/modul_extern.class.php        | 214 +++++++
 euve/cont/class/update.class.php              | 130 ++++
 euve/cont/json/update.php                     |  20 +
 euve/index.php                                |   2 +-
 euve/js/custom.js                             |   5 +
 euve/js/update.js                             |  77 +++
 euve/lang/de/de.lang.php                      |  27 +
 euve/page/module/free.php                     |  15 +
 euve/page/setting/klick.,php                  |  13 +
 euve/template/boxes/version.php               |  84 ++-
 euve/template/module/free.php                 |  45 ++
 lang/de/de.lang.php                           |   1 +
 mysql-dump/Update 3.0.1.8.sql                 |  17 +
 mysql-dump/suee3.sql                          | 561 ++++++++++++++++++
 template/navbar.php                           |   2 +-
 42 files changed, 2754 insertions(+), 19 deletions(-)
 create mode 100644 VERSION
 create mode 100644 backup/3.0.1.6/CHANGELOG
 create mode 100644 backup/3.0.1.6/README.MD
 create mode 100644 backup/3.0.1.6/euve/cont/class/menu.class.php
 create mode 100644 backup/3.0.1.6/euve/lang/de/de.lang.php
 create mode 100644 backup/3.0.1.6/index.php
 create mode 100644 backup/3.0.1.6/mysql-dump/isaack_suee3-1.sql
 create mode 100644 backup/3.0.1.6/page/startseite.php
 create mode 100644 backup/3.0.1.6/template/sidebar.php
 create mode 100644 backup/dump_3.0.1.6.sql
 create mode 100644 backup/dump_3.0.1.7.sql
 create mode 100644 cont/funktionen/modul/InstallExternModul.php
 create mode 100644 cont/funktionen/modul/UpdateExternModul.php
 create mode 100644 cont/funktionen/modul/UpdateFreeModule.php
 create mode 100644 cont/funktionen/modul/delete.php
 create mode 100644 cont/funktionen/version/index.html
 create mode 100644 cont/funktionen/version/update.php
 create mode 100644 cont/json/chat.php
 create mode 100644 euve/cont/class/modul_extern.class.php
 create mode 100644 euve/cont/class/update.class.php
 create mode 100644 euve/cont/json/update.php
 create mode 100644 euve/js/update.js
 create mode 100644 euve/page/module/free.php
 create mode 100644 euve/page/setting/klick.,php
 create mode 100644 euve/template/module/free.php
 create mode 100644 mysql-dump/Update 3.0.1.8.sql
 create mode 100644 mysql-dump/suee3.sql

diff --git a/CHANGELOG b/CHANGELOG
index c38622d..39abc8a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+## [3.0.1.8] - 13.08.2021
+- Einbau von 1-Click Update des grundscriptes
+- Einbau von 1-Click Installation von kostenlosen Modulen von VMS1-Scripte.de
+- Update von Modulen per Mausklick im Adminbereich
+- Fix BUG #4
 ## [3.0.1.7] - 19.05.2021
 - Einbau von Metatags aus dem Adminbereich
 - Fix von Bugs
diff --git a/README.MD b/README.MD
index f1b5637..9283ca0 100644
--- a/README.MD
+++ b/README.MD
@@ -14,4 +14,7 @@
 - Boxsystem dazu gekommen
 - Templatesystem dazu gekommen
 - Trennung von PHP und HTML Code durch extra PHP Datei
-- EInfache Templatebearbeitung im Adminbereich
\ No newline at end of file
+- Einfache Templatebearbeitung im Adminbereich
+- Module einfach per Mausklick von VMS1-Scripte laden und installieren
+- Updates von Modulen einfach per Mausklick laden und installieren
+- Update des Grundscriptes können per Mausklick installiert werden (Backup vorher kann eingestellt werden)
\ No newline at end of file
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..260ad27
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+3.0.1.8
\ No newline at end of file
diff --git a/backup/3.0.1.6/CHANGELOG b/backup/3.0.1.6/CHANGELOG
new file mode 100644
index 0000000..c38622d
--- /dev/null
+++ b/backup/3.0.1.6/CHANGELOG
@@ -0,0 +1,29 @@
+## [3.0.1.7] - 19.05.2021
+- Einbau von Metatags aus dem Adminbereich
+- Fix von Bugs
+## [3.0.1.6] - 11.05.2021
+### Adding Versionscheck / Referalsystem
+- Auf dem Dachboard kann nun die aktuell verfügbare Version angezeigt werden
+- Referalsystem eingebaut, kann im Admin deaktiviert werden
+## [3.0.1.5] - 04.05.2021
+### Adding Moduldependent
+- Module können nun Abhängigkeiten haben, die dem User angezeigt werden vor der Installation
+## [3.0.1.4] - 
+### Sort Filename / Update table_head(); /Update table_foot();
+- Datein werden nach Name sortiert bei der Includierung der Userdetails
+- Update der Funktion table_head() array muss gegeben sein für Kopfzeile
+- Update table_foot() return kann gegeben werden um echo oder return zu bekommen
+## [3.0.1.3] - 12.04.2021
+### Add Header Image to Template Setting
+## [3.0.1.2] - 31.03.2021
+### Update template/layout.lib.php
+## [3.0.1.1] - 30.03.2021
+### Update layout.lib.php
+Adding table_head $other
+## [3.0.1] - 29.03.2021
+###Update Modul.class.php / änderung des Con Ordners
+- Behebung Bug #1
+- Update der modul.class.php (Ordner werden jetzt erstellt)
+## [3] - 19.03.2021
+### Upload
+Die erste Grundversion von SUEE 3 wurde veröffentlich
diff --git a/backup/3.0.1.6/README.MD b/backup/3.0.1.6/README.MD
new file mode 100644
index 0000000..f1b5637
--- /dev/null
+++ b/backup/3.0.1.6/README.MD
@@ -0,0 +1,17 @@
+# Installation
+1. Alle Datein auf den Webspace laden
+2. Datei cont/default.config.php in cont/config.php ändern und bearbeiten
+3. Datei euve/cont/default.config.php in euve/cont/config.php ändern und bearbeiten
+4. Logindaten: Nutzername: isaack, Passwort abcd123456
+5. Einstellungen im Admin vornehmen
+
+# Neuerungen:
+- Bootstrap 5.0 eingeführt
+- Modulsystem eingebaut
+- 1-click Installation für Module
+- nur noch Grundsystem vorhanden alles weitere als Modul erweiterbar
+- Multilanguage eingebaut
+- Boxsystem dazu gekommen
+- Templatesystem dazu gekommen
+- Trennung von PHP und HTML Code durch extra PHP Datei
+- EInfache Templatebearbeitung im Adminbereich
\ No newline at end of file
diff --git a/backup/3.0.1.6/euve/cont/class/menu.class.php b/backup/3.0.1.6/euve/cont/class/menu.class.php
new file mode 100644
index 0000000..d7f90a6
--- /dev/null
+++ b/backup/3.0.1.6/euve/cont/class/menu.class.php
@@ -0,0 +1,165 @@
+<?php
+
+class menu{
+	private $db;
+	private $meldung;
+	private $error = 0;
+	private $session;
+	private $post = array();
+	private $gconfig;
+	
+	public function __construct(){
+		global $datenbank,$_SESSION,$gconfig;
+		if($_SESSION['admin'] != 1) die();
+		$this->db = $datenbank;
+		$this->session = $_SESSION;
+		$this->gconfig = $gconfig;
+	}
+	
+	private function make_array($post){
+		foreach($post AS $key => $value){
+			if($key != '' && $key != 'run' && $value != ''){
+				$this->post[$this->db->escape($key)] = $this->db->escape($value);
+			}
+		}
+	}
+	
+	public function ListLinks(){
+		$aus = '';
+		foreach($this->db->get_results("SELECT * FROM link WHERE ort = 'link' ") AS $res){
+			$checked = '';
+			$SelAdmin = false;
+			$SelUser = false;
+			$SelNUser = false;
+			$SelAll = false;
+			
+			if($res->sichtbar == 'admin') $SelAdmin = true;
+			if($res->sichtbar == 'user') $SelUser = true;
+			if($res->sichtbar == 'nouser') $SelNUser = true;
+			if($res->sichtbar == 'all') $SelAll = true;
+			if($res->status == 1) $checked = 'checked="checked"';
+			
+			$aus .= '<tr>';
+			$aus .= suee_add_form('post','','');
+			$aus .= suee_add_input('','id','hidden',$res->id,NULL,'',NULL,false,NULL);
+			$aus .= '<td>'. $res->id .'</td>';
+			$aus .= '<td>'. suee_add_input('','link','text',$res->link,NULL,'class="form-control"',NULL,false,NULL) .'</td>';
+			$aus .= '<td>'. suee_add_input('','url','text',$res->url,NULL,'class="form-control"',NULL,false,NULL) .'</td>';
+			$aus .= '<td>'. suee_add_input('','status','checkbox',1,NULL,'class="form-check-label" '. $checked,NULL,false,NULL) .'</td>';
+			$aus .= '<td>'. suee_add_select('sichtbar',array(array("nouser", TEXT_NUSER,$SelNUser), array("admin", TEXT_ADMIN, $SelAdmin), array("user", TEXT_USER, $SelUser), array("all", TEXT_ALL, $SelAll),'class="form-select"',NULL) .'</td>';
+			$aus .= '<td>'. 
+				suee_add_input('','run[LinkEditSave]','submit',TEXT_SAVE,NULL,'class="btn btn-success"',NULL,false,NULL) .
+				suee_add_input('','run[LinkEditDel]','submit',TEXT_DEL,NULL,'class="btn btn-danger"',NULL,false,NULL) .'</td>';
+			$aus .= suee_close_form();
+			$aus .= '</tr>';
+		}
+		
+		return $aus;
+	}
+	
+	public function MenuEdit($post){
+		$this->make_array($post);
+		if(!isset($this->post['status'])) $this->post['status'] = 0;
+		if($this->db->update('link', $this->post, array("id" => $this->post['id'])) == true){
+			$this->meldung = SAVE_TRUE;
+		}else{
+			$this->error = 1;
+			$this->meldung = SAVE_FALSE;
+		}
+		
+		meldung($this->error,$this->meldung);
+	}
+	
+	public function MenuDel($post){
+		$this->make_array($post);
+		if($this->db->delete("link", array("id" => $this->post['id'])) == true){
+			$this->meldung = DEL_TRUE;
+		}else{
+			$this->error = 1;
+			$this->meldung = DEL_FALSE;
+		}
+		
+		meldung($this->error,$this->meldung);
+	}
+	
+	public function MenuAdd($post){
+		$this->make_array($post);
+		$this->post['ort'] = 'link';
+		if($this->db->insert("link", $this->post) == true){
+			$this->meldung = SAVE_TRUE;
+		}else{
+			$this->error = 1;
+			$this->meldung = SAVE_FALSE;
+		}
+		
+		meldung($this->error,$this->meldung);
+	}
+	
+	public function BoxListe(){
+		$aus = '';
+		foreach($this->db->get_results("SELECT * FROM link WHERE ort = 'box' ") AS $res){
+			$SelAdmin = false;
+			$SelUser = false;
+			$SelNUser = false;
+			
+			if($res->sichtbar == 'admin') $SelAdmin = true;
+			if($res->sichtbar == 'user') $SelUser = true;
+			if($res->sichtbar == 'nouser') $SelNUser = true;
+			if($res->status == 1) $checked = 'checked="checked"';
+			
+			$aus .= '<tr>';
+			$aus .= suee_add_form('post','','');
+			$aus .= suee_add_input('','id','hidden',$res->id,NULL,'',NULL,false,NULL);
+			$aus .= '<td>'. $res->id .'</td>';
+			$aus .= '<td>'. suee_add_input('','link','text',$res->link,NULL,'class="form-control"',NULL,false,NULL) .'</td>';
+			$aus .= '<td>'. suee_add_select('sichtbar',array(array("nouser", TEXT_NUSER,$SelNUser), array("admin", TEXT_ADMIN, $SelAdmin), array("user", TEXT_USER, $SelUser)),'class="form-select"',NULL) .'</td>';
+			$aus .= '<td class="text-center">'. suee_add_input('','status','checkbox',1,NULL,'class="form-check-input" '. $checked,NULL,false,NULL) .'</td>';
+			$aus .= '<td>'. suee_add_input('','sort','text',$res->sort,NULL,'class="form-control" '. $checked,NULL,false,NULL) .'</td>';
+			$aus .= '<td>'. 
+				suee_add_input('','run[BoxEdit]','submit',TEXT_SAVE,NULL,'class="btn btn-success"',NULL,false,NULL) .
+				suee_add_input('','run[BoxDel]','submit',TEXT_DEL,NULL,'class="btn btn-danger"',NULL,false,NULL) .'</td>';
+			$aus .= suee_close_form();
+			$aus .= '</tr>';
+		}
+		
+		return $aus;
+	}
+	
+	public function BoxAdd($post){
+		$this->make_array($post);
+		$this->post['ort'] = 'box';
+		if($this->db->insert("link", $this->post) == true){
+			$this->meldung = SAVE_TRUE;
+		}else{
+			$this->error = 1;
+			$this->meldung = SAVE_FALSE;
+		}
+		
+		meldung($this->error,$this->meldung);
+	}
+	
+	public function BoxEdit($post){
+		$this->make_array($post);
+		if(!isset($this->post['sichtbar'])) $this->post['sichtbar'] = 0;
+		if($this->db->update("link", $this->post, array("id" => $this->post['id'])) == true){
+			$this->meldung = SAVE_TRUE;
+		}else{
+			$this->error = 1;
+			$this->meldung = SAVE_FALSE;
+		}
+		
+		meldung($this->error,$this->meldung);
+	}
+	
+	public function BoxDel($post){
+		$this->make_array($post);
+		if($this->db->delete("link", array("id" => $this->post['id'])) == true){
+			$this->meldung = DEL_TRUE;
+		}else{
+			$this->error = 1;
+			$this->meldung = DEL_FALSE;
+		}
+		
+		meldung($this->error,$this->meldung);
+	}
+}
\ No newline at end of file
diff --git a/backup/3.0.1.6/euve/lang/de/de.lang.php b/backup/3.0.1.6/euve/lang/de/de.lang.php
new file mode 100644
index 0000000..8b617df
--- /dev/null
+++ b/backup/3.0.1.6/euve/lang/de/de.lang.php
@@ -0,0 +1,131 @@
+<?php
+
+const TEXT_USER = 'User';
+const TEXT_ADMIN = 'Admin';
+const TEXT_NUSER = 'G&auml;ste';
+const TEXT_ALL = 'User/G&auml;ste';
+const TEXT_SAVE = 'Speichern';
+const TEXT_DEL = 'L&ouml;schen';
+const TEXT_NAME = 'Name';
+const TEXT_VNAME = 'Vorname';
+const TEXT_MAIL = 'E-Mail Adresse';
+const TEXT_LINK = 'Link';
+const TEXT_GRUPPE = 'Gruppe';
+const TEXT_NICK = 'Nickname';
+const TEXT_STATUS = 'Status';
+const TEXT_DATUM = 'Datum';
+const TEXT_DASH = 'Dashboard';
+const TEXT_UBER = 'Userbereich';
+const TEXT_DETAIL = 'Details';
+const TEXT_FILE = 'Datei';
+const TEXT_FILE_NOT_FOUND = 'Die Datei konnte nicht gefunden werden.';
+
+const GRUND_HEAD_HOME = 'Grundeinstellungen';
+const GRUND_HEAD_MAIL = 'E-Mail Einstellungen';
+
+const GRUND_URL = 'Domain der Seite';
+const GRUND_URL_HELP = 'Domain der Seite. Nicht Seitenname';
+const GRUND_NAME = 'Name der Seite';
+const GRUND_NAME_HELP = 'Wie ist der Seitenname? NIcht die URL';
+const GRUND_MAIL_BETREIBER = 'Betreiber E-Mail Adresse (Absenderadresse)';
+const GRUND_MAIL_BETREIBER_HELP = 'Die E-Mail Adresse die als Absender in den Seitenmails steht.';
+
+const GRUND_MAIL_HOST = 'Mailserver';
+const GRUND_MAIL_HOST_HELP = 'Adresse des Mailservers. In der Regel Localhost';
+const GRUND_MAIL_USER = 'Loginname';
+const GRUND_MAIL_USER_HELP = 'Nutzername der zum Login benutzt wird.';
+const GRUND_MAIL_PASS = 'Mailserver Passwort';
+const GRUND_MAIL_PASS_HELP = 'Passwort f&uuml;r den Login.<br><u>Bitte freilassen, wenn keine &auml;nderung notwendig.</u>';
+const GRUND_MAIL_TYPE = 'Loginmethode';
+const GRUND_MAIL_TYPE_HELP = 'Soll sich per tls oder ssl eingeloggt werden?';
+const GRUND_MAIL_PORT = 'Port f&uuml;r den Login';
+const GRUND_MAIL_PORT_HELP = 'Port f&uuml;r den SMTP Login';
+
+const REF_HEAD = 'Referalsystem';
+const REFTREE_HEAD = 'Geworbene Mitglieder';
+const REF_NO_AKTIV = 'Du hast das Referalsystem nicht aktiviert.';
+const REF_SET_AKTIV = 'Referalsystem jetzt aktivieren';
+const REF_SET_INAKTIV = 'Referalsystem jetzt deaktivieren';
+const REF_MODUL_CRON_FAIL = 'Du musst erst das Cronjob Modul installieren.';
+const REF_MODUL_KONTO_FAIL = 'Du musst erst die Kontoerweiterung installieren.';
+const REF_FORM_EBENEN = 'Referalebenen';
+const REF_FORM_EBENEN_HELP = 'Wie viel Referalebenen soll es geben?';
+const REF_EBENE = 'Ebene ';
+const REF_WAEHRUNG = 'Auszahlungsw&auml;hrung';
+const REF_WAEHRUNG_HELP = 'In welcher W&auml;hrung soll die Referalverg&uuml;tung ausgezahlt werden?';
+
+const SAVE_TRUE = 'Die Daten wurden erfolgreich gespeichert.';
+const SAVE_FALSE = 'Die Daten konnten nicht gespeichert werden.';
+
+const DEL_TRUE = 'Der Eintrag wurde erfolgreich gel&ouml;scht.';
+const DEL_FALSE = 'Der Eintrag konnte nicht gel&ouml;scht werden.';
+
+const AKTIV = 'aktiv';
+const INAKTIV = 'inaktiv';
+
+const MENUE_SORT_SAVE_TRUE = 'Die Sortierung wurde erfolgreich gespeichert.';
+const TEXT_MENU_ADD = 'Men&uuml;punkt anlegen.';
+const MENUE_NAME_HELP = 'Linkname der dem User angezeigt wird.';
+const MENUE_LINK_HELP = 'Linkadresse zum Ziel';
+const MENUE_GRUPPE_HELP = 'F&uuml;r wem soll der Link sichtbar sein?';
+
+const BOX_ADD_NEW = 'Neue Box anlegen';
+const BOX_NAME_HELP = 'Was soll bei der Box im Header angezeigt werden?';
+const BOX_DATEI = 'Includieren von PHP Datei';
+const BOX_DATEI_HELP = 'Wie heist die Datei die Includiert werden soll?';
+
+const STATUS_SUCCESS = 'Freigeschaltet';
+const STATUS_INFO = 'Wartend auf Freischaltung';
+const STATUS_DANGER = 'Gesperrt';
+
+const USER_NOTIZ = 'Notiz';
+const USER_NO_NOTIZ = 'Noch keine Notiten angelegt';
+const USER_ADD_NOTIZ = 'Notiz hinzuf&uuml;gen';
+const USER_LANG = 'Standartsprache';
+const USER_ADMIN = 'Nutzerrechte';
+const USER_NEWSL = 'Newsletter empfangen';
+const USER_SAVE_EMAILDATEN = 'E-Mail Empfang gespeichert.';
+const USER_SAVE_USER = 'Userdaten gespeichert.';
+
+const MODUL_UPLOAD_DATE = 'Upload Datum';
+const MODUL_UPLOADER = 'Upload von';
+const MODUL_INFO = 'Hier hast du eine &Uuml;bersicht von allen Modulen die du bereits hochgeladen hast. Diese kannst du nun installieren, deinstallieren und l&ouml;schen.';
+const MODUL_UPLOAD = 'Neues Modul hochladen';
+const MODUL_SELECT_FILE = 'Moduldatei ausw&auml;hlen f&uuml;r Upload';
+const MODUL_EXTENSION_FALSE = 'Ungültige Dateiendung. Nur zip-Dateien sind erlaubt';
+const MODUL_UPLOAD_FILE_EXISTS = 'Eine Datei mit dieser Endung existiert bereits.';
+const MODUL_UPLOAD_MOVE = 'Upload konnte nicht erfolgreich durchgef&uuml;hrt werden.';
+const MODUL_UPLOAD_SAVE_TRUE = 'Upload erfolgreich durchgef&uuml;hrt';
+const MODUL_ZIP_OPEN_FALSE = 'Konnte das Archiv nicht &ouml;ffnen.';
+
+const MODUL_NO_NAME = 'Kein Archivname vorhanden.';
+const MODUL_NO_AUTHOR = 'Kein Author vorhanden.';
+const MODUL_NO_DATE = 'Kein Erstellungsdatum vorhanden.';
+const MODUL_NO_UNINSTALL = 'Es ist sind keine Deinstallierungsdaten vorhanden';
+
+const MODUL_UPLOAD_TRUE = 'Der Upload wurde erfolreich durchgef&uuml;hrt.';
+const MODUL_UPLOAD_FALSE = 'Der Upload konnte nicht erfolgreich durchgef&uuml;hrt werden.';
+
+const MODUL_STATUS_NULL = 'deaktiviert';
+const MODUL_STATUS_ONE = 'aktiviert';
+
+const MODUL_INSTALL = 'Installieren';
+const MODUL_DEINSTALL = 'Deinstallieren';
+const MODUL_DELETE = 'L&ouml;schen';
+const MODUL_DEPENDENT = 'Abh&auml;ngig / m&ouml;glich';
+const MODUL_NO_DEPENDENT = 'Keine extramodule ben&ouml;tigt';
+const MODUL_NEEDED = '<u>Notwendig</u>';
+const MODUL_NEEDED_UPLOAD = 'Upload notwendig';
+const MODUL_NEEDED_INSTALL = 'Install notwendig';
+const MODUL_POSSIBLE = '<u>m&ouml;glich</u>';
+
+const MODUL_INSTALLED = 'Installiert / Deinstalliert';
+
+const MODUL_INSTALL_NO_FOUND = 'Modul konnte nicht gefunden werden.';
+const MODUL_INSTALL_TRUE = 'Das Modul wurde erfolgreich installiert und kann nun verwendet werden.';
+const MODUL_INSTALL_DB_UPDATE_FALSE = 'Das Modul wurde installiert, jedoch konnte die Datenbank keine Information dazu speichern.';
+
+const MODUL_UNINSTALL_NO_FOUND = 'Das Modul konnte nicht gefunden werden.';
+const MODUL_UNINSTALL_TRUE = 'Das Modul wurde erfolgreich deinstalliert.';
+const MODUL_UNINSTALL_DB_UPDATE_FALSE = 'Das Modul wurde deinstalliert, jedoch konnte die Datenbank keine Information dazu speichern.';
+?>
\ No newline at end of file
diff --git a/backup/3.0.1.6/index.php b/backup/3.0.1.6/index.php
new file mode 100644
index 0000000..7132512
--- /dev/null
+++ b/backup/3.0.1.6/index.php
@@ -0,0 +1,47 @@
+<?php
+error_reporting(E_ALL);
+ini_set('display_errors', 'On');
+session_start();
+
+require_once(__dir__ .'/cont/config.php');
+require_once(DIR_FS .'/cont/autoload.php');
+
+?>
+
+<!doctype html>
+<html class="h-100" lang="en">
+	<head>
+		<!-- Required meta tags -->
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, initial-scale=1">
+		<?php require_once(TEMP_DIR .'meta.php');?>
+
+		<!-- Bootstrap CSS -->
+		<link href="css/bootstrap.min.css" rel="stylesheet">
+		<link href="template/user.css" rel="stylesheet">
+		<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.4.0/font/bootstrap-icons.css">
+
+		<title><?php echo $gconfig->name;?></title>
+	</head>
+	<body class="d-flex flex-column h-100">
+		<header class="shadow-sm">
+			<?php require_once(TEMP_DIR .'navbar.php');?>
+		</header>
+		<?php require_once(TEMP_DIR .'header_image.php');?>
+		
+		<main class="flex-shrink-0">
+			<div class="container">
+				<?php require_once(TEMP_DIR .'index.php');?>
+			</div>
+		</main>
+		
+		<?php 
+			if(FOOTER == 'true') require_once(TEMP_DIR .'footer.php');
+			if(SHOW_MESSAGE == 'modal') require_once(TEMP_DIR .'mes_modal.php');
+		?>
+		<script src="https://code.jquery.com/jquery-latest.min.js"></script>
+		<script src="js/bootstrap.bundle.min.js"></script>
+		<script src="js/custom.js"></script>
+		<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.6.0/dist/umd/popper.min.js" integrity="sha384-KsvD1yqQ1/1+IA7gi3P0tyJcT3vR+NdBTt13hSJ2lnve8agRGXTTyNaBYmCR/Nwi" crossorigin="anonymous"></script>
+	</body>
+</html>
\ No newline at end of file
diff --git a/backup/3.0.1.6/mysql-dump/isaack_suee3-1.sql b/backup/3.0.1.6/mysql-dump/isaack_suee3-1.sql
new file mode 100644
index 0000000..14d8c31
--- /dev/null
+++ b/backup/3.0.1.6/mysql-dump/isaack_suee3-1.sql
@@ -0,0 +1,530 @@
+-- phpMyAdmin SQL Dump
+-- version 5.0.4
+-- https://www.phpmyadmin.net/
+--
+-- Host: localhost
+-- Erstellungszeit: 19. Mrz 2021 um 11:54
+-- Server-Version: 10.1.47-MariaDB
+-- PHP-Version: 7.2.30
+
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+START TRANSACTION;
+SET time_zone = "+00:00";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+
+--
+-- Datenbank: `isaack_suee3`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `aklink`
+--
+
+CREATE TABLE `aklink` (
+  `id` int(11) NOT NULL,
+  `uid` int(11) NOT NULL,
+  `aklink` longtext NOT NULL,
+  `datum` int(11) NOT NULL,
+  `genutzt` int(11) NOT NULL,
+  `status` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `aklink`
+--
+
+INSERT INTO `aklink` (`id`, `uid`, `aklink`, `datum`, `genutzt`, `status`) VALUES
+(1, 1, 'f5053ec8dc9ff154b83e45024dc8cdea', 1613479622, 1613481064, 'freigeschaltet');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `boxes`
+--
+
+CREATE TABLE `boxes` (
+  `id` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `datei` text NOT NULL,
+  `status` int(11) NOT NULL,
+  `breite` int(11) NOT NULL,
+  `sort` int(11) NOT NULL,
+  `ort` text,
+  `details` int(11) NOT NULL DEFAULT '0'
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `boxes`
+--
+
+INSERT INTO `boxes` (`id`, `name`, `datei`, `status`, `breite`, `sort`, `ort`, `details`) VALUES
+(1, 'Neue Nutzer', 'user.php', 1, 4, 1, 'admin_dashboard', 0),
+(2, 'News', 'news.php', 1, 8, 2, 'admin_dashboard', 0),
+(3, 'Startseite Gäste', 'nouserstart.php', 0, 0, 0, 'user_dashboard', 1),
+(4, 'Verions Check', 'version.php', 1, 3, 3, 'admin_dashboard', 0);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `box_settings`
+--
+
+CREATE TABLE `box_settings` (
+  `id` int(11) NOT NULL,
+  `value` text NOT NULL,
+  `wert` longtext NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `box_settings`
+--
+
+INSERT INTO `box_settings` (`id`, `value`, `wert`) VALUES
+(1, 'nouser_start_text', '<p>Startseitentext mit einem Zusatz</p>\r\n');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `emaildaten`
+--
+
+CREATE TABLE `emaildaten` (
+  `uid` int(11) NOT NULL,
+  `news` int(11) NOT NULL COMMENT 'NEWSLETTER'
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `emaildaten`
+--
+
+INSERT INTO `emaildaten` (`uid`, `news`) VALUES
+(1, 0);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `gconfig`
+--
+
+CREATE TABLE `gconfig` (
+  `id` int(11) NOT NULL,
+  `domain` text NOT NULL,
+  `name` text NOT NULL,
+  `startseite` text NOT NULL,
+  `anmelden` text NOT NULL,
+  `SMTP_HOST` text NOT NULL,
+  `SMTP_LOGIN` text NOT NULL,
+  `SMTP_PASS` text NOT NULL,
+  `SMTP_VERBINDUNG` text NOT NULL,
+  `SMTP_PORT` text NOT NULL,
+  `betreibermail` text NOT NULL,
+  `CronPW` varchar(255) NOT NULL,
+  `RefAktiv` int(11) NOT NULL DEFAULT '0',
+  `RefEbenen` int(11) NOT NULL,
+  `RefVerguetung` varchar(255) NOT NULL,
+  `ref_waehrung` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `gconfig`
+--
+
+INSERT INTO `gconfig` (`id`, `domain`, `name`, `startseite`, `anmelden`, `SMTP_HOST`, `SMTP_LOGIN`, `SMTP_PASS`, `SMTP_VERBINDUNG`, `SMTP_PORT`, `betreibermail`) VALUES
+(1, 'https://suee3.vms1-scripte.de', 'Suee 3.0', 'startseite', 'AN_TRUE_MAIL', 'localhost', '', '', '', '', '');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `lang`
+--
+
+CREATE TABLE `lang` (
+  `id` int(11) NOT NULL,
+  `kurz` text NOT NULL,
+  `name` text NOT NULL,
+  `charset` text NOT NULL,
+  `standart` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `lang`
+--
+
+INSERT INTO `lang` (`id`, `kurz`, `name`, `charset`, `standart`) VALUES
+(1, 'de', 'deutsch', 'utf-8', 1);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `link`
+--
+
+CREATE TABLE `link` (
+  `id` int(11) NOT NULL,
+  `child_from` int(11) NOT NULL,
+  `ort` text NOT NULL,
+  `url` text NOT NULL,
+  `link` text NOT NULL,
+  `datei` text,
+  `sort` int(11) NOT NULL,
+  `sichtbar` text NOT NULL,
+  `status` int(11) NOT NULL DEFAULT '0'
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `link`
+--
+
+INSERT INTO `link` (`id`, `child_from`, `ort`, `url`, `link`, `datei`, `sort`, `sichtbar`, `status`) VALUES
+(1, 0, 'header', '?page=/extern/anmelden', 'Anmelden', NULL, 1, 'nouser', 0),
+(2, 0, 'box', '', '&Uuml;bersicht', NULL, 1, 'user', 1),
+(3, 2, 'link', '?logout=true', 'Logout', NULL, 2, 'user', 1),
+(4, 2, 'link', '?page=/konto/profil', 'Profil', NULL, 1, 'user', 1),
+(5, 7, 'link', '?page=/setting/grund', 'Grundeinstellungen', NULL, 3, 'admin', 1),
+(6, 7, 'link', '?page=/setting/menu', 'Men&uuml;sortierung', NULL, 4, 'admin', 1),
+(7, 0, 'box', '', 'Einstellungen', NULL, 1, 'admin', 1),
+(14, 7, 'link', '?page=/setting/menuedit', 'Men&uuml;einstellung', NULL, 5, 'admin', 1),
+(16, 7, 'link', '?page=/setting/box', 'Boxverwaltung', NULL, 1, 'admin', 1),
+(20, 0, 'box', '', 'User', NULL, 2, 'admin', 1),
+(21, 20, 'link', '?page=/user/liste', 'User&uuml;bersicht', NULL, 1, 'admin', 1),
+(22, 7, 'link', '?page=/setting/sprache', 'Spracheinstellungen', NULL, 6, 'admin', 1),
+(23, 7, 'link', '?page=/setting/template', 'Template', NULL, 7, 'admin', 1),
+(24, 0, 'box', '', 'Testen', 'test.php', 2, 'user', 1),
+(25, 0, 'box', '', 'Sprache', 'lang.php', 3, 'user', 1),
+(26, 7, 'link', '?page=/setting/dashboard', 'Dashboard', NULL, 2, 'admin', 1),
+(27, 0, 'box', '', 'Module', NULL, 3, 'admin', 1),
+(28, 27, 'link', '?page=/module/ansicht', 'Ãœbersicht', NULL, 1, 'admin', 1);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `metatags`
+--
+
+CREATE TABLE `metatags` (
+  `id` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `content` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+--
+-- Tabellenstruktur für Tabelle `module`
+--
+
+CREATE TABLE `module` (
+  `id` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `datei` text NOT NULL,
+  `status` int(11) NOT NULL DEFAULT '0',
+  `dependent` text NOT NULL,
+  `upload_date` int(11) NOT NULL,
+  `upload_from` int(11) NOT NULL,
+  `install_date` int(11) NOT NULL DEFAULT '0',
+  `install_from` int(11) NOT NULL,
+  `deinstall_date` int(11) NOT NULL DEFAULT '0',
+  `deinstall_from` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `module`
+--
+
+INSERT INTO `module` (`id`, `name`, `datei`, `status`, `upload_date`, `upload_from`, `install_date`, `install_from`, `deinstall_date`, `deinstall_from`) VALUES
+(2, 'Testarchiv', 'testen.zip', 0, 1616070224, 1, 1616145844, 1, 1616145849, 1);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `run_inc`
+--
+
+CREATE TABLE `run_inc` (
+  `id` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `datei` text NOT NULL,
+  `berechtigung` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `run_inc`
+--
+
+INSERT INTO `run_inc` (`id`, `name`, `datei`, `berechtigung`) VALUES
+(1, 'ExternAnmelden', 'extern/anmelden.php', 0),
+(2, 'Login', 'extern/login.php', 0),
+(3, 'SaveProfil', 'profil/save.php', 2),
+(4, 'DeleteProfil', 'profil/delete.php', 2),
+(5, 'SaveGrundSetting', 'setting/GrundSetting.php', 1),
+(6, 'MenuAdd', 'setting/MenuAdd.php', 1),
+(7, 'LinkEditSave', 'setting/MenuEdit.php', 1),
+(8, 'LinkEditDel', 'setting/MenuDel.php', 1),
+(9, 'BoxAdd', 'setting/BoxAdd.php', 1),
+(10, 'BoxEdit', 'setting/BoxEdit.php', 1),
+(11, 'BoxDel', 'setting/BoxDel.php', 1),
+(12, 'UserNotizSave', 'user/AddNotiz.php', 1),
+(13, 'SaveUserEdit', 'user/UserEdit.php', 1),
+(14, 'SaveAddLang', 'setting/AddLang.php', 1),
+(15, 'SaveEditLang', 'setting/EditLang.php', 1),
+(16, 'SaveDelLang', 'setting/DelLang.php', 1),
+(17, 'UserCSSSave', 'setting/UserCSSSave.php', 1),
+(18, 'EditTemplateSave', 'setting/SaveEditTemplate.php', 1),
+(19, 'SaveDefaultLang', 'profil/defaultLang.php', 0),
+(20, 'DashBordSave', 'setting/DashBoxSave.php', 1),
+(21, 'SaveStartNoUser', 'box/SaveStartNoUser.php', 1),
+(22, 'ModulFileUpload', 'modul/FileUpload.php', 1),
+(23, 'ModulInstall', 'modul/ModulInstall.php', 1),
+(24, 'ModulDeinstall', 'modul/DeInstall.php', 1);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `template`
+--
+
+CREATE TABLE `template` (
+  `id` int(11) NOT NULL,
+  `name` text,
+  `wert` text
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `template`
+--
+
+INSERT INTO `template` (`id`, `name`, `wert`) VALUES
+(1, 'FOOTER', 'true'),
+(4, 'MENUE', 'left'),
+(5, 'LOGIN_FORM', 'header'),
+(6, 'MENUE_WIDTH', '3'),
+(7, 'CONNTENT_WIDTH', '9'),
+(8, 'SHOW_MESSAGE', 'content'),
+(9, 'HEADER_IMAGE', 'false'),
+(10, 'HEADER_IMAGE_FILE', NULL),
+(11, 'HEADER_NAV', 'bottom');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `user`
+--
+
+CREATE TABLE `user` (
+  `uid` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `vorname` text NOT NULL,
+  `nick` text NOT NULL,
+  `email` text NOT NULL,
+  `pass` longtext NOT NULL,
+  `lang` text NOT NULL,
+  `status` int(11) NOT NULL DEFAULT '0',
+  `admin` int(11) NOT NULL DEFAULT '0',
+  `ip` text NOT NULL,
+  `reg_date` int(11) NOT NULL,
+  `last_login` int(11) NOT NULL,
+  `werber` int(11) NOT NULL,
+  `refback` int(11) NOT NULL,
+  `wverdienst_tag` double(100,2) NOT NULL,
+  `wverdienst_sum` double(100,2) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `user`
+--
+
+INSERT INTO `user` (`uid`, `name`, `vorname`, `nick`, `email`, `pass`, `lang`, `status`, `admin`, `ip`, `reg_date`, `last_login`) VALUES
+(1, 'Eric', 'Laufer', 'isaack', 'drericlaufer@gmx.de', '$Hg8725fae31539e070a690c1b63720c25eb5b86084b5098a942c86c89c1d67157ed6b', 'de', 1, 1, '', 1609499932, 0);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `user_notiz`
+--
+
+CREATE TABLE `user_notiz` (
+  `id` int(11) NOT NULL,
+  `uid` int(11) NOT NULL,
+  `aid` int(11) NOT NULL,
+  `datum` int(11) NOT NULL,
+  `text` longtext NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `user_notiz`
+--
+
+INSERT INTO `user_notiz` (`id`, `uid`, `aid`, `datum`, `text`) VALUES
+(1, 1, 1, 1615459494, 'Hallo test 1'),
+(2, 1, 1, 1615459500, 'Hallo test 1'),
+(3, 1, 1, 1615459641, 'Hallo test 3'),
+(4, 1, 1, 1615459893, 'Das ist jetzt mal so ein ganz langer text, der man ein wenig mehr als nur den Standart anzeigen soll.\r\nbin ja mal gespannt wie das jetzt hier angezeigt wird.');
+
+--
+-- Indizes der exportierten Tabellen
+--
+
+--
+-- Indizes für die Tabelle `aklink`
+--
+ALTER TABLE `aklink`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `boxes`
+--
+ALTER TABLE `boxes`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `box_settings`
+--
+ALTER TABLE `box_settings`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `emaildaten`
+--
+ALTER TABLE `emaildaten`
+  ADD UNIQUE KEY `uid` (`uid`);
+
+--
+-- Indizes für die Tabelle `gconfig`
+--
+ALTER TABLE `gconfig`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `lang`
+--
+ALTER TABLE `lang`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `link`
+--
+ALTER TABLE `link`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `module`
+--
+ALTER TABLE `module`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `run_inc`
+--
+ALTER TABLE `run_inc`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `template`
+--
+ALTER TABLE `template`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `user`
+--
+ALTER TABLE `user`
+  ADD PRIMARY KEY (`uid`);
+
+--
+-- Indizes für die Tabelle `user_notiz`
+--
+ALTER TABLE `user_notiz`
+  ADD PRIMARY KEY (`id`);
+  
+--
+-- Indizes für die Tabelle `metatags`
+--
+ALTER TABLE `metatags`
+  ADD PRIMARY KEY (`id`);
+
+
+--
+-- AUTO_INCREMENT für exportierte Tabellen
+--
+
+--
+-- AUTO_INCREMENT für Tabelle `aklink`
+--
+ALTER TABLE `aklink`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
+
+--
+-- AUTO_INCREMENT für Tabelle `boxes`
+--
+ALTER TABLE `boxes`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
+
+--
+-- AUTO_INCREMENT für Tabelle `box_settings`
+--
+ALTER TABLE `box_settings`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
+
+--
+-- AUTO_INCREMENT für Tabelle `gconfig`
+--
+ALTER TABLE `gconfig`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
+
+--
+-- AUTO_INCREMENT für Tabelle `lang`
+--
+ALTER TABLE `lang`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
+
+--
+-- AUTO_INCREMENT für Tabelle `link`
+--
+ALTER TABLE `link`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=29;
+
+--
+-- AUTO_INCREMENT für Tabelle `module`
+--
+ALTER TABLE `module`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
+
+--
+-- AUTO_INCREMENT für Tabelle `run_inc`
+--
+ALTER TABLE `run_inc`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;
+
+--
+-- AUTO_INCREMENT für Tabelle `template`
+--
+ALTER TABLE `template`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
+
+--
+-- AUTO_INCREMENT für Tabelle `user`
+--
+ALTER TABLE `user`
+  MODIFY `uid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
+
+--
+-- AUTO_INCREMENT für Tabelle `user_notiz`
+--
+ALTER TABLE `user_notiz`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
+
+--
+-- AUTO_INCREMENT für Tabelle `metatags`
+--
+ALTER TABLE `metatags`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
+  
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/backup/3.0.1.6/page/startseite.php b/backup/3.0.1.6/page/startseite.php
new file mode 100644
index 0000000..3841464
--- /dev/null
+++ b/backup/3.0.1.6/page/startseite.php
@@ -0,0 +1,23 @@
+<?php 
+
+$inhalt = '';
+
+if($_SESSION['login'] === false){
+	$row = $datenbank->get_row("SELECT wert FROM box_settings WHERE value = 'nouser_start_text'");
+	$inhalt = $row[0];
+}else{
+	foreach($datenbank->get_results("SELECT * FROM boxes WHERE status = 1 AND ort = 'user_dashboard' ORDER BY sort ASC ") AS $res){
+		$inhalt .= '
+		<div class="col-md-'. $res->breite .'">
+			<div class="card">
+				<div class="card-header">'. $res->name .'</div>
+				<div class="card-body">';
+				$inhalt .=	require_once(DIR_FS .'/template/boxes/'. $res->datei);
+		$inhalt .= '
+				</div>
+			</div>
+		</div>';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/backup/3.0.1.6/template/sidebar.php b/backup/3.0.1.6/template/sidebar.php
new file mode 100644
index 0000000..fad9e93
--- /dev/null
+++ b/backup/3.0.1.6/template/sidebar.php
@@ -0,0 +1,43 @@
+<div class="col-sm-<?php echo MENUE_WIDTH;?>">
+	<?php
+	$user = 'user';
+	if($_SESSION['login'] == false)$user = 'nouser';
+	
+	if($_SESSION['login'] == false && LOGIN_FORM == 'sidebar'){
+		echo '
+			<div class="card">
+				<div class="card-header">Login</div>
+				<div class="card-body">
+					'. suee_add_form('post','','class="px-4 py-3"') .'
+					'. suee_add_input(NICK,'nick','text',NULL,'Nickname','class="form-control"',NULL,true) .'
+					'. suee_add_input(PASS,'pass','password',NULL,'Passwort','class="form-control"',NULL,true) .'
+					'. suee_add_input(AUTOLOG .'&nbsp;','autolog','checkbox','on',NULL,'class="form-check-input"',NULL,true) .'
+					'. suee_add_input(NULL,'run[Login]','submit','Login', NULL, 'class="btn btn-success"',NULL,false) .'
+					'. suee_close_form() .'
+				</div>
+			</div>
+			<br>
+		';
+	}
+	
+	function MenueLinks($id){
+		global $datenbank;
+		$aus = '';
+		foreach($datenbank->get_results("SELECT url,link FROM link WHERE child_from = '$id' ORDER BY sort ASC ") AS $res){
+			$aus .= suee_add_link($res->url,$res->link).'<br>';
+		}
+		echo $aus;
+	}
+	
+	foreach($datenbank->get_results("SELECT id,link,datei FROM link WHERE child_from = 0 AND (sichtbar = '$user' OR sichtbar = 'all') AND ort = 'box' ORDER BY sort ASC ") AS $res){
+		head($res->link);
+		if($res->datei != NULL){
+			require_once(TEMP_DIR .'/boxes/'. $res->datei);
+		}
+		MenueLinks($res->id);
+		
+		foot();
+	}
+				
+	?>
+</div>
\ No newline at end of file
diff --git a/backup/dump_3.0.1.6.sql b/backup/dump_3.0.1.6.sql
new file mode 100644
index 0000000..8df9bce
--- /dev/null
+++ b/backup/dump_3.0.1.6.sql
@@ -0,0 +1,457 @@
+-- MySQL dump 10.19  Distrib 10.2.39-MariaDB, for Linux (x86_64)
+--
+-- Host: localhost    Database: isaack_suee3
+-- ------------------------------------------------------
+-- Server version	10.1.47-MariaDB
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `aklink`
+--
+
+DROP TABLE IF EXISTS `aklink`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `aklink` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `aklink` longtext NOT NULL,
+  `datum` int(11) NOT NULL,
+  `genutzt` int(11) NOT NULL,
+  `status` text NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `aklink`
+--
+
+LOCK TABLES `aklink` WRITE;
+/*!40000 ALTER TABLE `aklink` DISABLE KEYS */;
+/*!40000 ALTER TABLE `aklink` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `box_settings`
+--
+
+DROP TABLE IF EXISTS `box_settings`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `box_settings` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `value` text NOT NULL,
+  `wert` longtext NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `box_settings`
+--
+
+LOCK TABLES `box_settings` WRITE;
+/*!40000 ALTER TABLE `box_settings` DISABLE KEYS */;
+INSERT INTO `box_settings` (`id`, `value`, `wert`) VALUES (1,'nouser_start_text','<p>Startseitentext mit einem Zusatz</p>\r\n');
+/*!40000 ALTER TABLE `box_settings` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `boxes`
+--
+
+DROP TABLE IF EXISTS `boxes`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `boxes` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `name` text NOT NULL,
+  `datei` text NOT NULL,
+  `status` int(11) NOT NULL,
+  `breite` int(11) NOT NULL,
+  `sort` int(11) NOT NULL,
+  `ort` text,
+  `details` int(11) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `boxes`
+--
+
+LOCK TABLES `boxes` WRITE;
+/*!40000 ALTER TABLE `boxes` DISABLE KEYS */;
+INSERT INTO `boxes` (`id`, `name`, `datei`, `status`, `breite`, `sort`, `ort`, `details`) VALUES (1,'Neue Nutzer','user.php',1,4,1,'admin_dashboard',0),(2,'News','news.php',1,8,2,'admin_dashboard',0),(3,'Startseite Gäste','nouserstart.php',0,0,0,'user_dashboard',1),(8,'Verions Check','version.php',1,3,3,'admin_dashboard',0);
+/*!40000 ALTER TABLE `boxes` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `emaildaten`
+--
+
+DROP TABLE IF EXISTS `emaildaten`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `emaildaten` (
+  `uid` int(11) NOT NULL,
+  `news` int(11) NOT NULL COMMENT 'NEWSLETTER',
+  UNIQUE KEY `uid` (`uid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `emaildaten`
+--
+
+LOCK TABLES `emaildaten` WRITE;
+/*!40000 ALTER TABLE `emaildaten` DISABLE KEYS */;
+/*!40000 ALTER TABLE `emaildaten` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `gconfig`
+--
+
+DROP TABLE IF EXISTS `gconfig`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `gconfig` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `domain` text NOT NULL,
+  `name` text NOT NULL,
+  `startseite` text NOT NULL,
+  `anmelden` text NOT NULL,
+  `SMTP_HOST` text NOT NULL,
+  `SMTP_LOGIN` text NOT NULL,
+  `SMTP_PASS` text NOT NULL,
+  `SMTP_VERBINDUNG` text NOT NULL,
+  `SMTP_PORT` text NOT NULL,
+  `betreibermail` text NOT NULL,
+  `RefAktiv` int(11) NOT NULL DEFAULT '0',
+  `RefEbenen` int(11) NOT NULL,
+  `RefVerguetung` varchar(255) NOT NULL,
+  `ref_waehrung` int(11) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `gconfig`
+--
+
+LOCK TABLES `gconfig` WRITE;
+/*!40000 ALTER TABLE `gconfig` DISABLE KEYS */;
+INSERT INTO `gconfig` (`id`, `domain`, `name`, `startseite`, `anmelden`, `SMTP_HOST`, `SMTP_LOGIN`, `SMTP_PASS`, `SMTP_VERBINDUNG`, `SMTP_PORT`, `betreibermail`, `RefAktiv`, `RefEbenen`, `RefVerguetung`, `ref_waehrung`) VALUES (1,'https://suee3.vms1-scripte.de','Suee 3.0','startseite','AN_TRUE_MAIL','localhost','noreplay@paid4coin.de','NzJO6nFa','ssl','465','noreplay@paid4coin.de',1,5,'{\"1\":\"1\",\"2\":\"2\",\"3\":\"3\",\"4\":\"4\",\"5\":\"5\"}',3);
+/*!40000 ALTER TABLE `gconfig` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `lang`
+--
+
+DROP TABLE IF EXISTS `lang`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `lang` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `kurz` text NOT NULL,
+  `name` text NOT NULL,
+  `charset` text NOT NULL,
+  `standart` int(11) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `lang`
+--
+
+LOCK TABLES `lang` WRITE;
+/*!40000 ALTER TABLE `lang` DISABLE KEYS */;
+INSERT INTO `lang` (`id`, `kurz`, `name`, `charset`, `standart`) VALUES (1,'de','deutsch','utf-8',1);
+/*!40000 ALTER TABLE `lang` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `link`
+--
+
+DROP TABLE IF EXISTS `link`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `link` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `child_from` int(11) NOT NULL,
+  `ort` text NOT NULL,
+  `url` text NOT NULL,
+  `link` text NOT NULL,
+  `datei` text,
+  `sort` int(11) NOT NULL,
+  `sichtbar` text NOT NULL,
+  `status` int(11) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `link`
+--
+
+LOCK TABLES `link` WRITE;
+/*!40000 ALTER TABLE `link` DISABLE KEYS */;
+INSERT INTO `link` (`id`, `child_from`, `ort`, `url`, `link`, `datei`, `sort`, `sichtbar`, `status`) VALUES (1,0,'header','?page=/extern/anmelden','Anmelden',NULL,1,'nouser',0),(2,0,'box','','&Uuml;bersicht',NULL,1,'user',1),(3,2,'link','?logout=true','Logout',NULL,3,'user',1),(4,2,'link','?page=/konto/profil','Profil',NULL,2,'user',1),(5,7,'link','?page=/setting/grund','Grundeinstellungen',NULL,3,'admin',1),(6,7,'link','?page=/setting/menu','Men&uuml;sortierung',NULL,4,'admin',1),(7,0,'box','','Einstellungen',NULL,1,'admin',1),(14,7,'link','?page=/setting/menuedit','Men&uuml;einstellung',NULL,5,'admin',1),(16,7,'link','?page=/setting/box','Boxverwaltung',NULL,1,'admin',1),(20,0,'box','','User',NULL,2,'admin',1),(21,20,'link','?page=/user/liste','User&uuml;bersicht',NULL,1,'admin',1),(22,7,'link','?page=/setting/sprache','Spracheinstellungen',NULL,6,'admin',1),(23,7,'link','?page=/setting/template','Template',NULL,7,'admin',1),(24,0,'box','','Testen','test.php',2,'user',1),(25,0,'box','','Sprache','lang.php',3,'user',1),(26,7,'link','?page=/setting/dashboard','Dashboard',NULL,2,'admin',1),(27,0,'box','','Module',NULL,3,'admin',1),(28,27,'link','?page=/module/ansicht','Ãœbersicht',NULL,1,'admin',1),(30,2,'link','?page=/Erste_Seite','Erste Seite',NULL,1,'user',1),(39,0,'link','?page=/Seite_1','Seite 1',NULL,1,'user',0),(40,27,'link','?page=/module/free','Externe Module Kostenlos',NULL,2,'admin',1);
+/*!40000 ALTER TABLE `link` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `metatags`
+--
+
+DROP TABLE IF EXISTS `metatags`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `metatags` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `name` text NOT NULL,
+  `content` text NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `metatags`
+--
+
+LOCK TABLES `metatags` WRITE;
+/*!40000 ALTER TABLE `metatags` DISABLE KEYS */;
+INSERT INTO `metatags` (`id`, `name`, `content`) VALUES (1,'description','Testseite');
+/*!40000 ALTER TABLE `metatags` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `module`
+--
+
+DROP TABLE IF EXISTS `module`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `module` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `mid` int(11) NOT NULL,
+  `version` varchar(255) NOT NULL,
+  `name` text NOT NULL,
+  `datei` text NOT NULL,
+  `status` int(11) NOT NULL DEFAULT '0',
+  `dependent` text NOT NULL,
+  `upload_date` int(11) NOT NULL,
+  `upload_from` int(11) NOT NULL,
+  `install_date` int(11) NOT NULL DEFAULT '0',
+  `install_from` int(11) NOT NULL,
+  `deinstall_date` int(11) NOT NULL DEFAULT '0',
+  `deinstall_from` int(11) NOT NULL,
+  `version1` varchar(255) NOT NULL,
+  `dependent1` text NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `module`
+--
+
+LOCK TABLES `module` WRITE;
+/*!40000 ALTER TABLE `module` DISABLE KEYS */;
+/*!40000 ALTER TABLE `module` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `module_extern_free`
+--
+
+DROP TABLE IF EXISTS `module_extern_free`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `module_extern_free` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `mid` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `description` text NOT NULL,
+  `needed` text NOT NULL,
+  `possible` text NOT NULL,
+  `version` varchar(255) NOT NULL,
+  `author` text NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `module_extern_free`
+--
+
+LOCK TABLES `module_extern_free` WRITE;
+/*!40000 ALTER TABLE `module_extern_free` DISABLE KEYS */;
+INSERT INTO `module_extern_free` (`id`, `mid`, `name`, `description`, `needed`, `possible`, `version`, `author`) VALUES (29,11,'CMS Modul','Mit diesem CMS System ist es möglich, Seite aus der Administrativen Oberfläsche zu erstellen.\r\nEs gibt dazu 2 Eingabefelder, wo PHP und HTML gesondert voneinander erstellt werden können.\r\nNach Speichern, wird automatisch, ein Link erstellt, der in der Menüsortierung einfach zuzuweisen ist.\r\nDer HTML Bereich, kann sowohl im Quelltext, als auch in einem CKEditor bearbeitet werden.','','','1.0','VMS1-Scripte'),(30,12,'Cronjob Modul','Cronmjobs einfach aus dem Adminbereich verwalten.\r\nAnlegen, Ausführen und Links für einen Externen Anbieter mit CronPW möglich.','','','1.01','VMS1-Scripte');
+/*!40000 ALTER TABLE `module_extern_free` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `reloads`
+--
+
+DROP TABLE IF EXISTS `reloads`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `reloads` (
+  `ip` varchar(15) NOT NULL DEFAULT '',
+  `uid` int(7) NOT NULL DEFAULT '0',
+  `tan` varchar(32) NOT NULL DEFAULT '',
+  `bis` int(10) NOT NULL DEFAULT '0'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `reloads`
+--
+
+LOCK TABLES `reloads` WRITE;
+/*!40000 ALTER TABLE `reloads` DISABLE KEYS */;
+/*!40000 ALTER TABLE `reloads` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `run_inc`
+--
+
+DROP TABLE IF EXISTS `run_inc`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `run_inc` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `name` text NOT NULL,
+  `datei` text NOT NULL,
+  `berechtigung` int(11) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=413 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `run_inc`
+--
+
+LOCK TABLES `run_inc` WRITE;
+/*!40000 ALTER TABLE `run_inc` DISABLE KEYS */;
+INSERT INTO `run_inc` (`id`, `name`, `datei`, `berechtigung`) VALUES (1,'ExternAnmelden','extern/anmelden.php',0),(2,'Login','extern/login.php',0),(3,'SaveProfil','profil/save.php',2),(4,'DeleteProfil','profil/delete.php',2),(5,'SaveGrundSetting','setting/GrundSetting.php',1),(6,'MenuAdd','setting/MenuAdd.php',1),(7,'LinkEditSave','setting/MenuEdit.php',1),(8,'LinkEditDel','setting/MenuDel.php',1),(9,'BoxAdd','setting/BoxAdd.php',1),(10,'BoxEdit','setting/BoxEdit.php',1),(11,'BoxDel','setting/BoxDel.php',1),(12,'UserNotizSave','user/AddNotiz.php',1),(13,'SaveUserEdit','user/UserEdit.php',1),(14,'SaveAddLang','setting/AddLang.php',1),(15,'SaveEditLang','setting/EditLang.php',1),(16,'SaveDelLang','setting/DelLang.php',1),(17,'UserCSSSave','setting/UserCSSSave.php',1),(18,'EditTemplateSave','setting/SaveEditTemplate.php',1),(19,'SaveDefaultLang','profil/defaultLang.php',0),(20,'DashBordSave','setting/DashBoxSave.php',1),(21,'SaveStartNoUser','box/SaveStartNoUser.php',1),(22,'ModulFileUpload','modul/FileUpload.php',1),(23,'ModulInstall','modul/ModulInstall.php',1),(24,'ModulDeinstall','modul/DeInstall.php',1),(398,'refback_save','profil/RefBackSave.php',2),(399,'FreeListAktualisieren','modul/UpdateFreeModule.php',1),(400,'InstallExternModul','modul/InstallExternModul.php',1),(404,'ModulExternUpdate','modul/UpdateExternModul.php',1),(411,'ModulDelete','modul/delete.php',1),(412,'MakeUpdate','version/update.php',1);
+/*!40000 ALTER TABLE `run_inc` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `template`
+--
+
+DROP TABLE IF EXISTS `template`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `template` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `name` text,
+  `wert` text,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `template`
+--
+
+LOCK TABLES `template` WRITE;
+/*!40000 ALTER TABLE `template` DISABLE KEYS */;
+INSERT INTO `template` (`id`, `name`, `wert`) VALUES (1,'FOOTER','true'),(4,'MENUE','left'),(5,'LOGIN_FORM','header'),(6,'MENUE_WIDTH','3'),(7,'CONNTENT_WIDTH','9'),(8,'SHOW_MESSAGE','content'),(9,'HEADER_IMAGE','false'),(10,'HEADER_IMAGE_FILE',NULL),(11,'HEADER_NAV','bottom');
+/*!40000 ALTER TABLE `template` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `user`
+--
+
+DROP TABLE IF EXISTS `user`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user` (
+  `uid` int(11) NOT NULL AUTO_INCREMENT,
+  `name` text NOT NULL,
+  `vorname` text NOT NULL,
+  `nick` text NOT NULL,
+  `email` text NOT NULL,
+  `pass` longtext NOT NULL,
+  `lang` text NOT NULL,
+  `status` int(11) NOT NULL DEFAULT '0',
+  `admin` int(11) NOT NULL DEFAULT '0',
+  `ip` text NOT NULL,
+  `reg_date` int(11) NOT NULL,
+  `last_login` int(11) NOT NULL,
+  `werber` int(11) NOT NULL,
+  `refback` int(11) NOT NULL,
+  `wverdienst_tag` double(100,2) NOT NULL,
+  `wverdienst_sum` double(100,2) NOT NULL,
+  PRIMARY KEY (`uid`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user`
+--
+
+LOCK TABLES `user` WRITE;
+/*!40000 ALTER TABLE `user` DISABLE KEYS */;
+INSERT INTO `user` (`uid`, `name`, `vorname`, `nick`, `email`, `pass`, `lang`, `status`, `admin`, `ip`, `reg_date`, `last_login`, `werber`, `refback`, `wverdienst_tag`, `wverdienst_sum`) VALUES (3,'Eric','Laufer','isaack','','$Hg8725fae31539e070a690c1b63720c25eb5b86084b5098a942c86c89c1d67157ed6b','',1,1,'',0,0,1,10,0.00,0.00);
+/*!40000 ALTER TABLE `user` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `user_notiz`
+--
+
+DROP TABLE IF EXISTS `user_notiz`;
+/*!40101 SET @saved_cs_client     = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `user_notiz` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `aid` int(11) NOT NULL,
+  `datum` int(11) NOT NULL,
+  `text` longtext NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user_notiz`
+--
+
+LOCK TABLES `user_notiz` WRITE;
+/*!40000 ALTER TABLE `user_notiz` DISABLE KEYS */;
+/*!40000 ALTER TABLE `user_notiz` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2021-07-21 16:19:26
diff --git a/backup/dump_3.0.1.7.sql b/backup/dump_3.0.1.7.sql
new file mode 100644
index 0000000..e69de29
diff --git a/cont/class/anmelden.class.php b/cont/class/anmelden.class.php
index a633e7a..e382b74 100644
--- a/cont/class/anmelden.class.php
+++ b/cont/class/anmelden.class.php
@@ -10,6 +10,7 @@ class anmelden{
 	private $mail;
 	private $aklink;
 	private $session;
+	private $gconfig;
 	
 	public function __Construct(){
 		global $datenbank,$gconfig,$_SESSION;
@@ -74,7 +75,7 @@ class anmelden{
 				"{aklink}" => '<a href="'. $this->config->domain .'?page=/extern/aktivieren&uid='. $this->input['mail']['uid'].'&ak='.$this->aklink .'">Aktivierungslink</a>',
 				"{uid}" => $this->input['mail']['uid']
 			);
-			$mail = $this->mail->senden($this->input['user']['email'],str_replace("{seitenname}",$this->config->name,AN_MAIL_BETREFF),strtr(AN_MAIL_TEXT,$array));
+			$this->mail = $this->mail->senden($this->input['user']['email'],str_replace("{seitenname}",$this->config->name,AN_MAIL_BETREFF),strtr(AN_MAIL_TEXT,$array));
 			if($mail == true){
 				echo 'gesendet';
 			}else{
diff --git a/cont/class/profil.class.php b/cont/class/profil.class.php
index 21b162e..8cb7149 100644
--- a/cont/class/profil.class.php
+++ b/cont/class/profil.class.php
@@ -24,7 +24,7 @@ class profil{
 	}
 	
 	private function SaveMail(){
-		if($this->db->update("emaildaten", $this->post['mail']) == true){
+		if($this->db->update("emaildaten", $this->post['mail'],array("uid" => $this->session['uid']) == true){
 			return true;
 		}else{
 			return false;
@@ -32,7 +32,7 @@ class profil{
 	}
 	
 	private function SaveProfil(){
-		if($this->db->update("user", $this->post['profil']) == true){
+		if($this->db->update("user", $this->post['profil'],array("uid" => $this->session['uid']) == true){
 			return true;
 		}else{
 			return false;
diff --git a/cont/class/ref.class.php b/cont/class/ref.class.php
index c7d2d4f..4e57299 100644
--- a/cont/class/ref.class.php
+++ b/cont/class/ref.class.php
@@ -8,6 +8,7 @@ class ref{
 	private $meldung;
 	private $post = array();
 	private $konto;
+	private $verg = array();
 	
 	public function __construct(){
 		global $datenbank,$gconfig,$_SESSION;
@@ -16,9 +17,9 @@ class ref{
 		$this->session = $_SESSION;
 		$this->gconfig = $gconfig;
 		$this->konto = Classloader('konto');
-		$explode = json_decode($this->config->RefVerguetung);
-		for($i = 1; $i <= $this->config->AnzrefEbenen; $i++){
-			$this->verg[$i] = $explode[$i-1];
+		$explode = json_decode($this->gconfig->RefVerguetung);
+		for($i = 1; $i <= $this->gconfig->RefEbenen; $i++){
+			$this->verg[$i] = $explode->{$i};
 		}
 	}
 	
@@ -69,7 +70,8 @@ class ref{
 			$aus .= '</ul>';
 			return $aus;
 		}
-		
+		$link = 'https://'. $this->gconfig->domain .'?ref='. $this->session['uid'];
+		$aus = suee_add_alert(str_replace("{link}",$link,REF_LINK), 'info') . $aus;
 		return $aus;
 	}
 	
diff --git a/cont/class/session.class.php b/cont/class/session.class.php
index 8a41071..8066c58 100644
--- a/cont/class/session.class.php
+++ b/cont/class/session.class.php
@@ -98,8 +98,8 @@ class session{
 				)
 			AND
 				pass = '". $this->post['pass'] ."' ";
-		$this->CheckStatus($this->db->get_row($query,true));
 		if($this->error == 0) $this->CheckUserExists();
+		if($this->error == 0) $this->CheckStatus($this->db->get_row($query,true));
 		if($this->error == 0) $this->CheckPass($query);
 		if($this->error == 0){
 			$row = $this->db->get_row($query,true);
diff --git a/cont/funktionen/modul/InstallExternModul.php b/cont/funktionen/modul/InstallExternModul.php
new file mode 100644
index 0000000..08d821b
--- /dev/null
+++ b/cont/funktionen/modul/InstallExternModul.php
@@ -0,0 +1,6 @@
+<?php
+
+$Class = Classloader('modul_extern',true);
+$Class->InstallExternModul($_POST);
+
+?>
\ No newline at end of file
diff --git a/cont/funktionen/modul/UpdateExternModul.php b/cont/funktionen/modul/UpdateExternModul.php
new file mode 100644
index 0000000..7923fb8
--- /dev/null
+++ b/cont/funktionen/modul/UpdateExternModul.php
@@ -0,0 +1,6 @@
+<?php
+
+$Class = Classloader('modul_extern',true);
+$Class->ExternModulUpdate($_POST);
+
+?>
\ No newline at end of file
diff --git a/cont/funktionen/modul/UpdateFreeModule.php b/cont/funktionen/modul/UpdateFreeModule.php
new file mode 100644
index 0000000..9f3e0ca
--- /dev/null
+++ b/cont/funktionen/modul/UpdateFreeModule.php
@@ -0,0 +1,6 @@
+<?php
+
+$Class = Classloader('modul_extern',true);
+$Class->UpdateList();
+
+?>
\ No newline at end of file
diff --git a/cont/funktionen/modul/delete.php b/cont/funktionen/modul/delete.php
new file mode 100644
index 0000000..617c01f
--- /dev/null
+++ b/cont/funktionen/modul/delete.php
@@ -0,0 +1,6 @@
+<?php
+
+$Class = Classloader('modul',true);
+$Class->ModulDelete($_POST);
+
+?>
\ No newline at end of file
diff --git a/cont/funktionen/version/index.html b/cont/funktionen/version/index.html
new file mode 100644
index 0000000..e69de29
diff --git a/cont/funktionen/version/update.php b/cont/funktionen/version/update.php
new file mode 100644
index 0000000..a436240
--- /dev/null
+++ b/cont/funktionen/version/update.php
@@ -0,0 +1,6 @@
+<?php
+
+$Class = Classloader('update',true);
+$Class->make_Update($_POST);
+
+?>
\ No newline at end of file
diff --git a/cont/json/chat.php b/cont/json/chat.php
new file mode 100644
index 0000000..4cb3a3f
--- /dev/null
+++ b/cont/json/chat.php
@@ -0,0 +1,20 @@
+<?php
+	
+	const K_BUCHUNG_SAVE_TRUE = '';
+	const K_BUCHUNG_SAVE_FALSE = '';
+	
+	session_start();
+	
+	require_once('../../cont/config.php');
+	require_once(DIR_FS .'/cont/autoload.php');
+	
+	$id = intval( $_GET['lastTimeID'] );
+	$Class = Classloader('chat');
+	
+	if(!isset($_GET['posten'])){
+		print $Class->getRestChatLines($id);
+	}elseif(isset($_GET['posten'])){
+		$Class->Insert($_POST);
+	}
+	
+?>
\ No newline at end of file
diff --git a/cont/libery.php b/cont/libery.php
index 259390f..8458c17 100644
--- a/cont/libery.php
+++ b/cont/libery.php
@@ -56,4 +56,17 @@ function geo_location($ip, $outcome = "countrycode"){
     return $geo_location;
 }
 
+function getURL($url,$post = 0){
+	$curl = curl_init();
+    curl_setopt($curl,CURLOPT_URL,$url);
+    if($post == 1){
+		curl_setopt($curl,CURLOPT_POST,1);
+		curl_setopt($curl,CURLOPT_POSTFIELDS,$curl_post);
+	}
+	curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
+    $content = curl_exec($curl);
+    curl_close($curl);
+    return $content;
+}
+
 ?>
\ No newline at end of file
diff --git a/euve/cont/class/menu.class.php b/euve/cont/class/menu.class.php
index d7f90a6..6463650 100644
--- a/euve/cont/class/menu.class.php
+++ b/euve/cont/class/menu.class.php
@@ -39,6 +39,12 @@ class menu{
 			if($res->sichtbar == 'all') $SelAll = true;
 			if($res->status == 1) $checked = 'checked="checked"';
 			
+			$menueArray = array(
+				array("nouser", TEXT_NUSER,$SelNUser),
+				array("admin", TEXT_ADMIN, $SelAdmin),
+				array("user", TEXT_USER, $SelUser),
+				array("all", TEXT_ALL, $SelAll)
+			);
 			$aus .= '<tr>';
 			$aus .= suee_add_form('post','','');
 			$aus .= suee_add_input('','id','hidden',$res->id,NULL,'',NULL,false,NULL);
@@ -46,7 +52,7 @@ class menu{
 			$aus .= '<td>'. suee_add_input('','link','text',$res->link,NULL,'class="form-control"',NULL,false,NULL) .'</td>';
 			$aus .= '<td>'. suee_add_input('','url','text',$res->url,NULL,'class="form-control"',NULL,false,NULL) .'</td>';
 			$aus .= '<td>'. suee_add_input('','status','checkbox',1,NULL,'class="form-check-label" '. $checked,NULL,false,NULL) .'</td>';
-			$aus .= '<td>'. suee_add_select('sichtbar',array(array("nouser", TEXT_NUSER,$SelNUser), array("admin", TEXT_ADMIN, $SelAdmin), array("user", TEXT_USER, $SelUser), array("all", TEXT_ALL, $SelAll),'class="form-select"',NULL) .'</td>';
+			$aus .= '<td>'. suee_add_select('sichtbar',$menueArray,'class="form-select"',NULL) .'</td>';
 			$aus .= '<td>'. 
 				suee_add_input('','run[LinkEditSave]','submit',TEXT_SAVE,NULL,'class="btn btn-success"',NULL,false,NULL) .
 				suee_add_input('','run[LinkEditDel]','submit',TEXT_DEL,NULL,'class="btn btn-danger"',NULL,false,NULL) .'</td>';
diff --git a/euve/cont/class/modul.class.php b/euve/cont/class/modul.class.php
index 36142c0..e2b06e0 100644
--- a/euve/cont/class/modul.class.php
+++ b/euve/cont/class/modul.class.php
@@ -86,6 +86,7 @@ class modul{
 				$this->error = 1;
 				$this->meldung = MODUL_NO_UNINSTALL;
 			}
+			$this->zip->close();
 		}
 	}
 	
@@ -157,13 +158,13 @@ class modul{
 	
 	public function ModulDelete($post){
 		$this->make_array($post);
-		$query = "SELECT datei FROM module WHERE id = '". $this->post['id'] ."' ";
+		$query = "SELECT id,datei FROM module WHERE id = '". $this->post['id'] ."' ";
 		if($this->db->num_rows($query) != 1){
 			$this->error = 1;
 			$this->meldung = MODUL_UNINSTALL_NO_FOUND;
 		}else{
-			$row = $this->db->get_row($query);
-			if($this->zip->open(self::UploadFolder .$row[0]) !== true){
+			$row = $this->db->get_row($query,true);
+			if($this->zip->open(self::UploadFolder .$row->datei) !== true){
 				$this->error = 1;
 				$this->meldung = MODUL_ZIP_OPEN_FALSE;
 			}else{
@@ -172,12 +173,20 @@ class modul{
 				$this->DeleteFiles();
 				$this->DeleteMySQL();
 				$this->UpdateModuleInfo(false);
+				if(isset($post['run']['ModulDelete'])){
+					$this->DeleteFromWeb($row);
+				}
 			}
 		}
 		
 		meldung($this->error,$this->meldung);
 	}
 	
+	private function DeleteFromWeb(){
+		$this->db->delete("module", array("id" => $this->post['id']));
+		unlink(self::UploadFolder .$row->datei);
+	}
+	
 	#-------------------------------------------------------------------------------------------------#
 	#---------------------------------DELETE ENDE-----------------------------------------------------#
 	#-------------------------------------------------------------------------------------------------#
@@ -284,7 +293,7 @@ class modul{
 		$aus .= '<div class="btn-group" role="group">';
 		if($res->status == 0) $aus .= suee_add_input('','run[ModulInstall]','submit',MODUL_INSTALL,NULL,'class="btn btn-success btn-sm"',NULL,false,NULL);
 		if($res->status == 1) $aus .= suee_add_input('','run[ModulDeinstall]','submit',MODUL_DEINSTALL,NULL,'class="btn btn-warning btn-sm"',NULL,false,NULL);
-		$aus .= suee_add_input('','run[ModulDeinstall]','submit',MODUL_DELETE,NULL,'class="btn btn-danger btn-sm"',NULL,false,NULL);
+		$aus .= suee_add_input('','run[ModulDelete]','submit',MODUL_DELETE,NULL,'class="btn btn-danger btn-sm"',NULL,false,NULL);
 		
 		$aus .= '</div>';
 		$aus .= suee_close_form();
diff --git a/euve/cont/class/modul_extern.class.php b/euve/cont/class/modul_extern.class.php
new file mode 100644
index 0000000..01b9154
--- /dev/null
+++ b/euve/cont/class/modul_extern.class.php
@@ -0,0 +1,214 @@
+<?php
+
+class modul_extern{
+	private $db;
+	private $session;
+	private $error = 0;
+	private $meldung;
+	private $gconfig;
+	private $liste = array();
+	private $post = array();
+	private $zip;
+	private $archiv;
+	
+	public function __construct(){
+		global $datenbank,$_SESSION,$gconfig;
+		if($_SESSION['admin'] != 1) die();
+		$this->db = $datenbank;
+		$this->gconfig = $gconfig;
+		$this->session = $_SESSION;
+		$this->zip = new ZipArchive;
+		foreach($this->db->get_results("SELECT mid,version FROM module_extern_free ") AS $res){
+			$this->liste[$res->mid] = $res->version;
+		}
+	}
+	
+	private function make_array($post){
+		foreach($post AS $key => $value){
+			if($key != '' && $key != 'run' && $value != ''){
+				$this->post[$this->db->escape($key)] = $this->db->escape($value);
+			}
+		}
+	}
+	
+	public function UpdateList(){
+		$erg = json_decode(file_get_contents("https://vms1-scripte.de/api/module/ModulList.php?action=getlist"));
+		foreach($erg AS $key => $value){
+			if(array_key_exists($value->mid,$this->liste)){
+				$this->db->update("module_extern_free", array("description" => $value->description, "version" => $value->version), array("mid" => $value->mid));
+			}else{
+				$this->db->insert("module_extern_free", $value);
+			}
+		}
+	}
+	
+	private function Install($res){
+		$install = suee_add_form('post','').
+				suee_add_input('','id','hidden',$res->mid).
+				suee_add_input('','run[InstallExternModul]','submit',MODUL_DOWNLOAD,NULL,'class="btn btn-success btn-sm"').
+				suee_close_form();
+		if($this->db->num_rows("SELECT id FROM module WHERE mid = '". $res->mid ."' ") !== 0) $install = MODUL_FREE_ALREADY_INSATLLED;
+		
+		return $install;
+	}
+	
+	private function CheckVersion($res){
+		$query = "SELECT version FROM module WHERE mid = '". $res->mid ."' ";
+		if($this->db->num_rows($query) != 0){
+			$row = $this->db->get_row($query,true);
+			if($row->version < $this->liste[$res->mid]){
+				return $res->version .'||'. 
+					suee_add_form('post','').
+					suee_add_input('','id','hidden',$res->mid).
+					suee_add_input('','version','hidden',$row->version).
+					suee_add_input('','run[ModulExternUpdate]','submit',MODUL_FREE_UPDATE,NULL,'class="btn btn-warning btn-sm"').
+					suee_close_form();
+			}else{
+				return $res->version;
+			}
+		}else{
+			return $res->version;
+		}
+	}
+	
+	public function ShowList(){
+		global $varDescription;
+		$liste = array();
+		$varDescription = 'var mid = [];';
+		foreach($this->db->get_results("SELECT * FROM module_extern_free ") AS $res){
+			if(empty($res->needed)){ $needed = MODUL_FREE_EXTRA_NO;}else{ $needed = $res->needed;}
+			if(empty($res->possible)){ $possible = MODUL_FREE_EXTRA_NO;}else{ $possible = $res->possible;}
+			$liste[] = array(
+				$res->mid,
+				$res->name,
+				'<div class="row"><div class="col-sm-8">'.preg_replace("/[^ ]*$/", '', substr($res->description, 0, 50)) .'</div><div class="col-sm-4"><button type="button" class="btn btn-primary btn-sm" data-toggle="modal" onclick="ShowModulDescription('. $res->mid .')">'. MODUL_FREE_DESCRIPTION_MORE .'</button></div></div>',
+				$needed .'||'. $possible,
+				$this->CheckVersion($res),
+				$res->author,
+				$this->Install($res)
+			);
+			$varDescription .= 'mid['. $res->mid .'] = `'. nl2br($res->description) .'`;';
+		}
+		
+		return $liste;
+	}
+	
+	private function MakeEntry($file,$name){
+		if($this->zip->open(DIR_FS . ADMIN_DIR .'/cont/module/'.$file) === true){
+			eval($this->zip->getFromName('inhalt.php'));
+			$array = array(
+				"mid" => $this->post['id'],
+				"name" => $archiv['name'],
+				"datei" => $file,
+				"status" => 0,
+				"upload_date" => time(),
+				"upload_from" => $this->session['uid']
+			);
+			
+			if(!isset($archiv['version'])) $array["version"] = '1.0';
+			if(!isset($archiv['dependent'])) $array["dependent"] = '';
+			
+			if($this->db->insert("module", $array) === true){
+				$this->meldung = MODUL_FREE_INSTALL_SAVE_TRUE;
+			}else{
+				unlink(DIR_FS . ADMIN_DIR .'/cont/module/' . $file);
+				$this->error = 1;
+				$this->meldung = MODUL_FREE_INSTALL_NO_DB;
+			}
+		}else{
+			$this->error = 1;
+			$this->meldung = MODUL_FREE_INSTALL_NO_ZIP;
+		}
+	}
+	
+	private function make_Zip($row){
+		$res = $this->db->get_row("SELECT name FROM module_extern_free WHERE mid = '". $this->post['id'] ."' ",true);
+		$name = str_replace(" ","_",$res->name) .'.zip';
+		if($this->zip->open(DIR_FS . ADMIN_DIR .'/cont/module/' . $name, ZipArchive::CREATE) === true){
+			$file_handle = fopen(DIR_FS . ADMIN_DIR .'/cont/module/tmp.php', 'a+');
+			fwrite($file_handle,json_decode($row));
+			fclose($file_handle);
+			$this->zip->addFile(DIR_FS . ADMIN_DIR .'/cont/module/tmp.php','inhalt.php');
+			if($this->zip->close() === true) $this->MakeEntry($name,$res->name);
+			unlink(DIR_FS . ADMIN_DIR .'/cont/module/tmp.php');
+		}else{
+			$this->error = 1;
+			$this->meldung = MODUL_FREE_INSTALL_NO_ZIP_CRATE;
+		}
+	}
+	
+	public function InstallExternModul($post){
+		$this->make_array($post);
+		
+		$erg = json_decode(file_get_contents("https://vms1-scripte.de/api/module/ModulList.php?action=getModul&id=". $this->post['id']));
+		
+		if($erg->error == 0){
+			$this->make_Zip($erg->meldung);
+		}else{
+			$this->error = 1;
+			$this->meldung = MODUL_FREE_INSTALL_DOWNLOAD_FALSE;
+		}
+		
+		meldung($this->error,$this->meldung);
+	}
+	
+	private function ExternModulUpdateDB($row){
+		$row = bse64_decode($row);
+		$ex = explode(";",$row);
+		for($i = 0; $i <= count($ex)-1; $i++){
+			$this->db->query($ex[$i]);
+		}
+	}
+	
+	private function UpdateFiles($row){
+		$erg = true;
+		foreach($row['user'] AS $key => $value){
+			$file_handle = fopen(DIR_FS . $key, 'r+');
+			if($file_handle === false) $this->error = 1;
+			if(fwrite($file_handle,json_decode($value)) === false) $this->error = 1;
+			if(fclose($file_handle) === false) $this->error = 1;
+		}
+		
+		foreach($row['admin'] AS $key => $value){
+			$file_handle = fopen(DIR_FS . ADMIN_DIR .'/'. $key, 'r+');
+			if($file_handle === false) $this->error = 1;
+			if(fwrite($file_handle,json_decode($value)) === false) $this->error = 1;
+			if(fclose($file_handle) === false) $this->error = 1;
+		}
+	}
+	
+	private function LoadUpdate($row){
+		$erg = json_decode(file_get_contents("https://vms1-scripte.de/api/module/ModulList.php?action=getModulUpdate&id=". $this->post['id'] .'&version='. $this->post['version']));
+		if($erg->error === 0){
+			unlink(DIR_FS . ADMIN_DIR .'/cont/module/'. $row->datei);
+			$this->make_Zip($erg->meldung);
+		}else{
+			$this->error = 1;
+			$this->meldung = MODUL_FREE_INSTALL_DOWNLOAD_FALSE;
+		}
+	}
+	
+	public function ExternModulUpdate($post){
+		$this->make_array($post);
+		$row = $this->db->get_row("SELECT * FROM module WHERE mid = '". $this->post['id'] ."' ",true);
+		$this->LoadUpdate($row);
+		
+		if($this->zip->open(DIR_FS . ADMIN_DIR .'/cont/module/' . $row->datei, ZipArchive::CREATE) === true){
+			eval($this->zip->getFromName('inhalt.php'));
+			if(isset($archiv['DBUpdate'])) $this->ExternModulUpdateDB($archiv['DBUpdate']);
+			$this->UpdateFiles($archiv['files']);
+			if($this->error == 1){
+				$this->meldung = MODUL_FREE_UPDATE_FILE_WRITE_FALSE;
+			}else{
+				$this->db->update("module", array("version" => $archiv['version']), array("mid" => $this->post['id']));
+				$this->meldung = MODUL_FREE_UPDATE_TRUE;
+			}
+			
+		}else{
+			$this->error = 1;
+			$this->meldung = MODUL_FREE_UPDATE_NO_ZIP;
+		}
+		
+		meldung($this->error,$this->meldung);
+	}
+}
\ No newline at end of file
diff --git a/euve/cont/class/update.class.php b/euve/cont/class/update.class.php
new file mode 100644
index 0000000..398c65b
--- /dev/null
+++ b/euve/cont/class/update.class.php
@@ -0,0 +1,130 @@
+<?php
+
+class update{
+	private $db;
+	private $gconfig;
+	private $session;
+	private $error = 0;
+	private $meldung;
+	private $version;
+	private $post = array();
+	private $update;
+	private $copy = true;
+	
+	public function __construct(){
+		global $datenbank,$_SESSION,$gconfig;
+		if($_SESSION['admin'] != 1) die();
+		$this->db = $datenbank;
+		$this->session = $_SESSION;
+		$this->gconfig = $gconfig;
+		$this->version = file_get_contents(DIR_FS .'/VERSION');
+	}
+	
+	private function make_array($post){
+		foreach($post AS $key => $value){
+			if($key != '' && $key != 'run' && $value != ''){
+				$this->post[$this->db->escape($key)] = $this->db->escape($value);
+			}
+		}
+	}
+	
+	private function IfDirExists($dir){
+		
+	}
+	
+	private function CopyBackupFile($key){
+		$dir = explode("/",$key);
+		$bdir = '';
+		for($i = 0; $i <= count($dir)-2; $i++){ $bdir .= '/'.$dir[$i];}
+		if(!file_exists(DIR_FS .'backup/'. $this->version . $bdir)) mkdir(DIR_FS .'backup/'. $this->version . $bdir, 0700, true);
+		if(file_exists(DIR_FS . $key)) $this->copy = copy(DIR_FS . $key, DIR_FS . 'backup/'.$this->version . $key);
+	}
+	
+	public function make_backup(){
+		$this->update = json_decode(getURL('http://vms1-scripte.de/api/update/get.php?version='.$this->version));
+		if(!is_dir(DIR_FS .'/backup/'.$this->version)) mkdir(DIR_FS .'/backup/'. $this->version, 0700, true);
+		foreach($this->update->message->edit AS $key => $value){
+			if($key !== '') $this->CopyBackupFile($key);
+		}
+		
+		foreach($this->update->message->remove AS $key => $value){
+			if($key !== '') $this->CopyBackupFile($key);
+		}
+		
+		return $this->error;
+	}
+	
+	public function MakeMySQLUpdate(){
+		$this->version = file_get_contents(DIR_FS .'/VERSION');
+		if(file_exists(DIR_FS .'mysql-dump/Update '. $this->version .'.sql')){
+			$handle = file_get_contents(DIR_FS .'mysql-dump/Update '. $this->version .'.sql');
+			$ex = explode(";",$handle);
+			for($i = 0; $i <= count($ex); $i++){
+				$this->db->query($ex[$i]);
+			}
+		}
+		
+		return 0;
+	}
+	
+	private function ReplaceUpdateFiles(){
+		$error = true;
+		foreach($this->update->message->add AS $key => $value){
+			$dir = explode("/",$key);
+			$bdir = '';
+			for($i = 0; $i <= count($dir)-2; $i++){ $bdir .= '/'.$dir[$i];}
+			if(!file_exists(DIR_FS . $bdir)) mkdir(DIR_FS . $bdir, 0700, true);
+			$handle = fopen(DIR_FS . $key, 'w+');
+			$error = fwrite($handle,base64_decode($value));
+			$error = fclose($handle);
+		}
+		
+		if($error === true){
+			foreach($this->update->message->edit AS $key => $value){
+				$handle = fopen(DIR_FS . $key, 'w+');
+				$error = fwrite($handle,base64_decode($value));
+				$error = fclose($handle);
+			}
+			
+			if($error === true){
+				foreach($this->update->message->remove AS $key => $value){
+					$error = unlink(DIR_FS . $kex);
+				}
+				
+				if($error !== true){
+					$this->error = 1;
+					$this->meldung = VERSION_UPDATE_REMOVE_FALSE;
+				}
+			}else{
+				$this->error = 1;
+				$this->meldung = VERSION_UPDATE_EDIT_FALSE;
+			}
+		}else{
+			$this->error = 1;
+			$this->meldung = VERSION_UPDATE_ADD_NEW_FALSE;
+		}
+	}
+	
+	public function make_Update(){
+		$this->update = json_decode(getURL('http://vms1-scripte.de/api/update/get.php?version='.$this->version));
+		
+		if($this->copy == true){
+			$this->ReplaceUpdateFiles();
+		}else{
+			$this->error = 1;
+			$this->meldung = VERSION_BACKUP_COPY_FALSE;
+		}
+		
+		return $this->error;
+	}
+
+	public function DBBackup(){
+		$sql_file = DIR_FS ."/backup/dump_" . $this->version . ".sql";
+		$shell = shell_exec("mysqldump -u ". DB_USER ." -p'". DB_PASS ."' --quick --allow-keywords --add-drop-table --complete-insert --quote-names ". DB_BASE ." > ". $sql_file ."");
+		if($shell === NULL){
+			return 0;
+		}else{
+			return 1;
+		}
+	}
+}
\ No newline at end of file
diff --git a/euve/cont/json/update.php b/euve/cont/json/update.php
new file mode 100644
index 0000000..72c0d1c
--- /dev/null
+++ b/euve/cont/json/update.php
@@ -0,0 +1,20 @@
+<?php
+error_reporting(E_ALL);
+ini_set('display_errors', 'On');
+set_time_limit(0);
+session_start();
+require_once('../config.php');
+require_once(DIR_FS . ADMIN_DIR.'/cont/autoload.php');
+
+if($_SESSION['admin'] != 1) die("Zugriffsverletzung");
+
+
+
+$Class = Classloader('update',true);
+
+if($_GET['action'] === 'db_update') $error = $Class->DBBackup();
+if($_GET['action'] === 'file_backup') $error = $Class->make_backup();
+if($_GET['action'] === 'file_transver') $error = $Class->make_Update();
+if($_GET['action'] === 'db_transver') $error = $Class->MakeMySQLUpdate();
+
+echo json_encode(array("error" => $error));
\ No newline at end of file
diff --git a/euve/index.php b/euve/index.php
index d5f4307..ad99c0a 100644
--- a/euve/index.php
+++ b/euve/index.php
@@ -26,7 +26,7 @@ require_once(DIR_FS . ADMIN_DIR .'/cont/autoload.php');
 	</head>
 	<body class="d-flex flex-column h-100">
 		<header class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 shadow">
-			<a class="navbar-brand col-md-3 col-lg-2 me-0 px-3" href="<?php echo $gconfig->domain . ADMIN_DIR;?>"><?php echo TEXT_DASH;?></a>
+			<a class="navbar-brand col-md-3 col-lg-2 me-0 px-3" href="<?php echo $gconfig->domain . ADMIN_DIR .'/index.php';?>"><?php echo TEXT_DASH;?></a>
 			<button class="navbar-toggler position-absolute d-md-none collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#sidebarMenu" aria-controls="sidebarMenu" aria-expanded="false" aria-label="Toggle navigation">
 				<span class="navbar-toggler-icon"></span>
 			</button>
diff --git a/euve/js/custom.js b/euve/js/custom.js
index b3f7ba5..342e898 100644
--- a/euve/js/custom.js
+++ b/euve/js/custom.js
@@ -26,6 +26,11 @@ document.addEventListener("DOMContentLoaded", function () {
 	}
 });
 
+var ShowModulDescription = function(id){
+	$('#ModulDescription').html(mid[id]);
+	$('#ModulDescriptionModal').modal('show');
+}
+
 var MeldungTeaster = function(error,text){
 	var div = "success";
 	if(error == 1){div = 'warning';}
diff --git a/euve/js/update.js b/euve/js/update.js
new file mode 100644
index 0000000..14916d6
--- /dev/null
+++ b/euve/js/update.js
@@ -0,0 +1,77 @@
+var error = 0;
+var meldung = '';
+
+var UpdateStart = function(){
+	if($('#db_backup').is(':checked')) {
+		$.get(DIR_FS+'/cont/json/update.php?action=db_update', function(data) {
+			var obj = JSON.parse(data);
+			if(obj['error'] == 0){
+				$('#dbBackupCSS').removeClass('bg-warning');
+				$('#dbBackupCSS').addClass('bg-success');
+				$('#db_backup_result').html('<i class="bi bi-check"></i>');
+				FileBackup();
+			}else{
+				$('#UpdateAktiveModalBody').html('<div class="alert alert-danger">Es ist ein Fehler im Datenbank Backup aufgetretten. Bitte wiederholen Sie den Vorgang oder f&uuml;hren Sie den Vorgang manuell aus.</div>');
+			}
+		});
+	}else{
+		$('#db_backup_result').html('&uuml;bersprungen');
+		FileBackup();
+	}
+}
+
+var FileBackup = function(){
+	if($('#file_backup').is(':checked')) {
+		$.get(DIR_FS+'/cont/json/update.php?action=file_backup', function(data) {
+			var obj = JSON.parse(data);
+			if(obj['error'] == 0){
+				$('#fileBackupCSS').removeClass('bg-warning');
+				$('#fileBackupCSS').addClass('bg-success');
+				$('#file_backup_result').html('<i class="bi bi-check"></i>');
+				UpdateFiles();
+			}else{
+				$('#UpdateAktiveModalBody').html('<div class="alert alert-danger">Es ist ein Fehler im Datenbank Backup aufgetretten. Bitte wiederholen Sie den Vorgang oder f&uuml;hren Sie den Vorgang manuell aus.</div>');
+			}
+		});
+	}else{
+		$('#file_backup_result').html('&uuml;bersprungen');
+		UpdateFiles();
+	}
+}
+
+var UpdateFiles = function(){
+	$.get(DIR_FS+'/cont/json/update.php?action=file_transver', function(data) {
+		var obj = JSON.parse(data);
+		if(obj['error'] == 0){
+			$('#FileTransverCSS').removeClass('bg-warning');
+			$('#FileTransverCSS').addClass('bg-success');
+			$('#FileTransverResult').html('<i class="bi bi-check"></i>');
+			UpdateDB();
+		}else{
+			$('#UpdateAktiveModalBody').html('<div class="alert alert-danger">Es ist ein Fehler im Datenbank Backup aufgetretten. Bitte wiederholen Sie den Vorgang oder f&uuml;hren Sie den Vorgang manuell aus.</div>');
+		}
+	});
+}
+
+var UpdateDB = function(){
+	$.get(DIR_FS+'/cont/json/update.php?action=db_transver', function(data) {
+		var obj = JSON.parse(data);
+		if(obj['error'] == 0){
+			$('#DBUpdateCSS').removeClass('bg-warning');
+			$('#DBUpdateCSS').addClass('bg-success');
+			$('#DBBackupResult').html('<i class="bi bi-check"></i>');
+		}else{
+			$('#UpdateAktiveModalBody').html('<div class="alert alert-danger">Es ist ein Fehler im Datenbank Backup aufgetretten. Bitte wiederholen Sie den Vorgang oder f&uuml;hren Sie den Vorgang manuell aus.</div>');
+		}
+	});
+}
+
+document.addEventListener("DOMContentLoaded", function () {
+	$('#MakeUpdate').click(function(){
+		var div = $('#UpdateModalBody');
+		var update = $('#UpdateAktiveModalBody');
+		div.hide();
+		update.show();
+		UpdateStart();
+	});
+});
\ No newline at end of file
diff --git a/euve/lang/de/de.lang.php b/euve/lang/de/de.lang.php
index 8b617df..1cf9dd7 100644
--- a/euve/lang/de/de.lang.php
+++ b/euve/lang/de/de.lang.php
@@ -119,6 +119,23 @@ const MODUL_NEEDED_UPLOAD = 'Upload notwendig';
 const MODUL_NEEDED_INSTALL = 'Install notwendig';
 const MODUL_POSSIBLE = '<u>m&ouml;glich</u>';
 
+const MODUL_FREE_INFO = 'Hier kannst du die Kostenlose Module runter laden und direkt installieren';
+const MODUL_FREE_BTN_AKTULALISIEREN = 'Aktualisieren';
+const MODUL_FREE_MID = 'Modul ID';
+const MODUL_FREE_NAME = 'Name';
+const MODUL_FREE_DESCRIPTION = 'Beschreibung';
+const MODUL_FREE_VERSION = 'Version';
+const MODUL_FREE_AUTHOR = 'Ersteller';
+const MODUL_FREE_EXTRA_NO = 'keine';
+const MODUL_DOWNLOAD = 'Download';
+const MODUL_FREE_DESCRIPTION_MORE = 'weiter lesen';
+const MODUL_FREE_CLOSE = 'Schlie&szlig;en';
+const MODUL_INSTALLED = 'Installiert / Deinstalliert';
+const MODUL_FREE_INSTALL_DOWNLOAD_FALSE = 'Die Installation konnte nicht durchgef&uuml;hrt werden';
+const MODUL_FREE_INSTALL_SAVE_TRUE = 'Das Modul wurde erfolgreich installiert';
+const MODUL_FREE_UPDATE = 'Update';
+const MODUL_FREE_ALREADY_INSATLLED = 'Modul bereits installiert';
+
 const MODUL_INSTALLED = 'Installiert / Deinstalliert';
 
 const MODUL_INSTALL_NO_FOUND = 'Modul konnte nicht gefunden werden.';
@@ -128,4 +145,14 @@ const MODUL_INSTALL_DB_UPDATE_FALSE = 'Das Modul wurde installiert, jedoch konnt
 const MODUL_UNINSTALL_NO_FOUND = 'Das Modul konnte nicht gefunden werden.';
 const MODUL_UNINSTALL_TRUE = 'Das Modul wurde erfolgreich deinstalliert.';
 const MODUL_UNINSTALL_DB_UPDATE_FALSE = 'Das Modul wurde deinstalliert, jedoch konnte die Datenbank keine Information dazu speichern.';
+
+const VERSION_CHECK_UPDATE = 'Es ist ein Update f&uuml;r Ihre Version verf&uuml;gbar.';
+const VERSION_MODAL_TITEL = 'Version Update';
+const VERSION_UPDATE_WARNING = 'Achtung, es werden alle Datein ersetzt, die ein Update bekommen.';
+const VERSION_MODAL_FILE_BACKUP = 'Backup der aktuellen Version machen? (Nur Datein die ersetz werden)';
+const VERSION_MODAL_DB_BACKUP = 'Datenbank Backup erstellen? (Es wird die komplette Datenbank gesichert)';
+const VERSION_MODAL_UPDATE_BTN = 'Version jetzt Updaten';
+const VERSION_UPDATE_INFO_UPDATE = 'Bitte dieses Fenster nicht schließen oder die Seite wechseln. Durch diese aktionen wird das Backup abgebrochen und es kann zu Datenverlust kommen.';
+
+const META_HEAD = 'Metadaten';
 ?>
\ No newline at end of file
diff --git a/euve/page/module/free.php b/euve/page/module/free.php
new file mode 100644
index 0000000..e2c93a8
--- /dev/null
+++ b/euve/page/module/free.php
@@ -0,0 +1,15 @@
+<?php
+
+$ModulExternClass = Classloader('modul_extern',true);
+
+$info = suee_add_alert(MODUL_FREE_INFO,'info');
+
+$Aktualisieren = '<br>';
+$Aktualisieren .= suee_add_form('post','');
+$Aktualisieren .= suee_add_input('','run[FreeListAktualisieren]','submit',MODUL_FREE_BTN_AKTULALISIEREN,NULL,'class="btn btn-success"',NULL,false,NULL);
+$Aktualisieren .= suee_close_form();
+
+
+$liste = $ModulExternClass->ShowList();
+
+?>
\ No newline at end of file
diff --git a/euve/page/setting/klick.,php b/euve/page/setting/klick.,php
new file mode 100644
index 0000000..a5b9c20
--- /dev/null
+++ b/euve/page/setting/klick.,php
@@ -0,0 +1,13 @@
+<?php
+
+$klick = Classloader('klick',true);
+
+$config = $klick->GetSetting();
+
+$fc = suee_add_select('waehrung_forcedbanner',$klick->SelectWaehrung($config->waehrung_forcedbanner),'class="form-select"',NULL,NULL);
+$pm = suee_add_select('waehrung_paidmail',$klick->SelectWaehrung($config->waehrung_paidmail),'class="form-select"',NULL,NULL);
+$pl = suee_add_select('waehrung_paidlinks',$klick->SelectWaehrung($config->waehrung_paidlinks),'class="form-select"',NULL,NULL);
+
+$ap = $klick->APSetting();
+
+?>
\ No newline at end of file
diff --git a/euve/template/boxes/version.php b/euve/template/boxes/version.php
index 77c0d51..3f67d59 100644
--- a/euve/template/boxes/version.php
+++ b/euve/template/boxes/version.php
@@ -1,14 +1,92 @@
 <?php
 
-$info = file_get_contents('https://vms1-scripte.de/suee-version.php');
+$info = json_decode(getURL('https://vms1-scripte.de/api/version/suee-version.php'));
+$version = file_get_contents(DIR_FS . 'VERSION');
+
+
+$btn = '';
+if($version < $info->version){
+	$btn = suee_add_alert(VERSION_CHECK_UPDATE . '<br>
+	<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#UpdateModal">Anzeigen</button>','warning');
+}elseif($version == $info->version){
+	$btn = suee_add_alert(VERSION_CHECK_UP_TO_DATE,'info');
+}
 
-$info = json_decode($info);
 
 ?>
+<script>
+	var DIR_FS = '<?php echo ADMIN_DIR;?>';
+</script>
+<script src="js/update.js"></script>
 
 <div class="card">
 	<div class="card-header"><?php echo $info->version;?></div>
 	<div class="card-body">
-		<?php echo $info->info;?>
+		<?php echo $btn;?>
+	</div>
+</div>
+
+<!-- Modal -->
+<div class="modal fade" id="UpdateModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
+	<div class="modal-dialog">
+		<div class="modal-content">
+			<div class="modal-header">
+				<h5 class="modal-title" id="exampleModalLabel"><?php echo VERSION_MODAL_TITEL;?></h5>
+				<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+			</div>
+			<div class="modal-body" id="UpdateModalBody">
+				<?php 
+					echo suee_add_alert(VERSION_UPDATE_WARNING,'danger');
+					echo '<br>'. nl2br($info->info);
+				?>
+				<form method="post" action="" id="UpdateForm">
+					<div class="form-check">
+						<input class="form-check-input" type="checkbox" id="file_backup" value="1" id="flexCheckChecked" checked>
+						<label class="form-check-label" for="flexCheckChecked">
+							<?php echo VERSION_MODAL_FILE_BACKUP;?>
+						</label>
+					</div>
+					<div class="form-check">
+						<input class="form-check-input" type="checkbox" id="db_backup" value="1" id="flexCheckChecked" checked>
+						<label class="form-check-label" for="flexCheckChecked">
+							<?php echo VERSION_MODAL_DB_BACKUP;?>
+						</label>
+					</div>
+					<input type="button" id="MakeUpdate" value="<?php echo VERSION_MODAL_UPDATE_BTN;?>" class="btn btn-success">
+				</form>
+			</div>
+			<div class="modal-body" id="UpdateAktiveModalBody" style="display:none;">
+				<?php echo suee_add_alert(VERSION_UPDATE_INFO_UPDATE,'danger');?>
+				<ul class="list-group">
+					<li id="dbBackupCSS" class="list-group-item bg-warning text-dark">
+						<div class="row" id="db_backup_status">
+							<div class="col-md-8">DatenbankBackup</div>
+							<div class="col-md-4" id="db_backup_result"><div class="spinner-border" role="status"><span class="visually-hidden">In bearbeitung</span></div></div>
+						</div>
+					</li>
+					<li id="fileBackupCSS" class="list-group-item bg-warning text-dark">
+						<div class="row">
+							<div class="col-md-8">FileBackup</div>
+							<div class="col-md-4" id="file_backup_result" ><div class="spinner-border" role="status"><span class="visually-hidden">In bearbeitung</span></div></div>
+						</div>
+					</li>
+					<li id="FileTransverCSS" class="list-group-item bg-warning text-dark">
+						<div class="row">
+							<div class="col-md-8">Update Files</div>
+							<div class="col-md-4" id="FileTransverResult"><div class="spinner-border" role="status"><span class="visually-hidden">In bearbeitung</span></div></div>
+						</div>
+					</li>
+					<li id="DBUpdateCSS" class="list-group-item bg-warning text-dark">
+						<div class="row">
+							<div class="col-md-8">Update Datenbank</div>
+							<div class="col-md-4" id="DBBackupResult"><div class="spinner-border" role="status"><span class="visually-hidden">In bearbeitung</span></div></div>
+						</div>
+					</li>
+				</ul>
+			</div>
+			<div class="modal-footer">
+				<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
+			</div>
+		</div>
 	</div>
 </div>
\ No newline at end of file
diff --git a/euve/template/module/free.php b/euve/template/module/free.php
new file mode 100644
index 0000000..7718889
--- /dev/null
+++ b/euve/template/module/free.php
@@ -0,0 +1,45 @@
+<?php
+
+echo $info;
+
+?>
+<script>
+	<?php echo $varDescription;?>
+</script>
+<div class="table-responsive">
+	<table class="table table-striped" id="datatable">
+		<thead>
+			<tr>
+				<th><?php echo MODUL_FREE_MID;?></th>
+				<th><?php echo MODUL_FREE_NAME;?></th>
+				<th><?php echo MODUL_FREE_DESCRIPTION;?></th>
+				<th><?php echo MODUL_DEPENDENT;?></th>
+				<th><?php echo MODUL_FREE_VERSION;?></th>
+				<th><?php echo MODUL_FREE_AUTHOR;?></th>
+				<th></th>
+			</tr>
+		</thead>
+		<tbody>
+			<?php echo table_body($liste);?>
+		</tbody>
+	</table>
+</div>
+
+<?php echo $Aktualisieren;?>
+
+<div class="modal fade" id="ModulDescriptionModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
+	<div class="modal-dialog">
+		<div class="modal-content">
+			<div class="modal-header">
+				<h5 class="modal-title" id="exampleModalLabel"><?php echo MODUL_FREE_DESCRIPTION;?></h5>
+				<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+			</div>
+			<div class="modal-body">
+				<span id="ModulDescription"></span>
+			</div>
+			<div class="modal-footer">
+				<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><?php echo MODUL_FREE_CLOSE;?></button>
+			</div>
+		</div>
+	</div>
+</div>
\ No newline at end of file
diff --git a/lang/de/de.lang.php b/lang/de/de.lang.php
index f8e01e9..78f1ba6 100644
--- a/lang/de/de.lang.php
+++ b/lang/de/de.lang.php
@@ -25,6 +25,7 @@ const NEMPFANGEN = 'nicht empfangen';
 const AKTIV = 'aktiviert';
 const DEAKTI = 'deaktiviert';
 
+const REF_LINK = 'Dein Link zum Werben lautet: {link}';
 const REF_INAKTIV = 'Das Referalsystem ist momentan deaktiviert';
 const REF_NO_YOUR_REF = 'Du kannst den Refback nur bei deinen Referals einstellen';
 
diff --git a/mysql-dump/Update 3.0.1.8.sql b/mysql-dump/Update 3.0.1.8.sql
new file mode 100644
index 0000000..18f83d4
--- /dev/null
+++ b/mysql-dump/Update 3.0.1.8.sql	
@@ -0,0 +1,17 @@
+CREATE TABLE `module_extern_free` (
+  `id` int(11) NOT NULL,
+  `mid` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `description` text NOT NULL,
+  `needed` text NOT NULL,
+  `possible` text NOT NULL,
+  `version` varchar(255) NOT NULL,
+  `author` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+INSERT INTO `run_inc` (`name`, `datei`, `berechtigung`) VALUES
+('FreeListAktualisieren', 'modul/UpdateFreeModule.php', 1),
+('InstallExternModul', 'modul/InstallExternModul.php', 1),
+('ModulExternUpdate', 'modul/UpdateExternModul.php', 1),
+('ModulDelete', 'modul/delete.php', 1),
+('MakeUpdate', 'version/update.php', 1);
diff --git a/mysql-dump/suee3.sql b/mysql-dump/suee3.sql
new file mode 100644
index 0000000..a9303dc
--- /dev/null
+++ b/mysql-dump/suee3.sql
@@ -0,0 +1,561 @@
+-- phpMyAdmin SQL Dump
+-- version 5.1.1
+-- https://www.phpmyadmin.net/
+--
+-- Host: localhost
+-- Erstellungszeit: 14. Sep 2021 um 11:49
+-- Server-Version: 10.1.47-MariaDB
+-- PHP-Version: 7.2.30
+
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+START TRANSACTION;
+SET time_zone = "+00:00";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+
+--
+-- Datenbank: `isaack_suee3`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `aklink`
+--
+
+CREATE TABLE `aklink` (
+  `id` int(11) NOT NULL,
+  `uid` int(11) NOT NULL,
+  `aklink` longtext NOT NULL,
+  `datum` int(11) NOT NULL,
+  `genutzt` int(11) NOT NULL,
+  `status` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `boxes`
+--
+
+CREATE TABLE `boxes` (
+  `id` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `datei` text NOT NULL,
+  `status` int(11) NOT NULL,
+  `breite` int(11) NOT NULL,
+  `sort` int(11) NOT NULL,
+  `ort` text,
+  `details` int(11) NOT NULL DEFAULT '0'
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `boxes`
+--
+
+INSERT INTO `boxes` (`id`, `name`, `datei`, `status`, `breite`, `sort`, `ort`, `details`) VALUES
+(1, 'Neue Nutzer', 'user.php', 1, 4, 1, 'admin_dashboard', 0),
+(2, 'News', 'news.php', 1, 8, 2, 'admin_dashboard', 0),
+(3, 'Startseite Gäste', 'nouserstart.php', 0, 0, 0, 'user_dashboard', 1),
+(8, 'Verions Check', 'version.php', 1, 3, 3, 'admin_dashboard', 0);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `box_settings`
+--
+
+CREATE TABLE `box_settings` (
+  `id` int(11) NOT NULL,
+  `value` text NOT NULL,
+  `wert` longtext NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `box_settings`
+--
+
+INSERT INTO `box_settings` (`id`, `value`, `wert`) VALUES
+(1, 'nouser_start_text', '<p>Startseitentext mit einem Zusatz</p>\r\n');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `emaildaten`
+--
+
+CREATE TABLE `emaildaten` (
+  `uid` int(11) NOT NULL,
+  `news` int(11) NOT NULL COMMENT 'NEWSLETTER'
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `gconfig`
+--
+
+CREATE TABLE `gconfig` (
+  `id` int(11) NOT NULL,
+  `domain` text NOT NULL,
+  `name` text NOT NULL,
+  `startseite` text NOT NULL,
+  `anmelden` text NOT NULL,
+  `SMTP_HOST` text NOT NULL,
+  `SMTP_LOGIN` text NOT NULL,
+  `SMTP_PASS` text NOT NULL,
+  `SMTP_VERBINDUNG` text NOT NULL,
+  `SMTP_PORT` text NOT NULL,
+  `betreibermail` text NOT NULL,
+  `RefAktiv` int(11) NOT NULL DEFAULT '0',
+  `RefEbenen` int(11) NOT NULL,
+  `RefVerguetung` varchar(255) NOT NULL,
+  `ref_waehrung` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `gconfig`
+--
+
+INSERT INTO `gconfig` (`id`, `domain`, `name`, `startseite`, `anmelden`, `SMTP_HOST`, `SMTP_LOGIN`, `SMTP_PASS`, `SMTP_VERBINDUNG`, `SMTP_PORT`, `betreibermail`, `RefAktiv`, `RefEbenen`, `RefVerguetung`, `ref_waehrung`) VALUES
+(1, '', 'Suee 3.0', 'startseite', 'AN_TRUE_MAIL', 'localhost', '', '', 'ssl', '', '', 0, 5, '{\"1\":\"1\",\"2\":\"2\",\"3\":\"3\",\"4\":\"4\",\"5\":\"5\"}', 3);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `lang`
+--
+
+CREATE TABLE `lang` (
+  `id` int(11) NOT NULL,
+  `kurz` text NOT NULL,
+  `name` text NOT NULL,
+  `charset` text NOT NULL,
+  `standart` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `lang`
+--
+
+INSERT INTO `lang` (`id`, `kurz`, `name`, `charset`, `standart`) VALUES
+(1, 'de', 'deutsch', 'utf-8', 1);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `link`
+--
+
+CREATE TABLE `link` (
+  `id` int(11) NOT NULL,
+  `child_from` int(11) NOT NULL,
+  `ort` text NOT NULL,
+  `url` text NOT NULL,
+  `link` text NOT NULL,
+  `datei` text,
+  `sort` int(11) NOT NULL,
+  `sichtbar` text NOT NULL,
+  `status` int(11) NOT NULL DEFAULT '0'
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `link`
+--
+
+INSERT INTO `link` (`id`, `child_from`, `ort`, `url`, `link`, `datei`, `sort`, `sichtbar`, `status`) VALUES
+(1, 0, 'header', '?page=/extern/anmelden', 'Anmelden', NULL, 1, 'nouser', 0),
+(2, 0, 'box', '', '&Uuml;bersicht', NULL, 1, 'user', 1),
+(3, 2, 'link', '?logout=true', 'Logout', NULL, 3, 'user', 1),
+(4, 2, 'link', '?page=/konto/profil', 'Profil', NULL, 2, 'user', 1),
+(5, 7, 'link', '?page=/setting/grund', 'Grundeinstellungen', NULL, 3, 'admin', 1),
+(6, 7, 'link', '?page=/setting/menu', 'Men&uuml;sortierung', NULL, 4, 'admin', 1),
+(7, 0, 'box', '', 'Einstellungen', NULL, 1, 'admin', 1),
+(14, 7, 'link', '?page=/setting/menuedit', 'Men&uuml;einstellung', NULL, 5, 'admin', 1),
+(16, 7, 'link', '?page=/setting/box', 'Boxverwaltung', NULL, 1, 'admin', 1),
+(20, 0, 'box', '', 'User', NULL, 2, 'admin', 1),
+(21, 20, 'link', '?page=/user/liste', 'User&uuml;bersicht', NULL, 1, 'admin', 1),
+(22, 7, 'link', '?page=/setting/sprache', 'Spracheinstellungen', NULL, 6, 'admin', 1),
+(23, 7, 'link', '?page=/setting/template', 'Template', NULL, 7, 'admin', 1),
+(24, 0, 'box', '', 'Testen', 'test.php', 2, 'user', 1),
+(25, 0, 'box', '', 'Sprache', 'lang.php', 3, 'user', 1),
+(26, 7, 'link', '?page=/setting/dashboard', 'Dashboard', NULL, 2, 'admin', 1),
+(27, 0, 'box', '', 'Module', NULL, 3, 'admin', 1),
+(28, 27, 'link', '?page=/module/ansicht', 'Ãœbersicht', NULL, 1, 'admin', 1),
+(30, 2, 'link', '?page=/Erste_Seite', 'Erste Seite', NULL, 1, 'user', 1),
+(39, 0, 'link', '?page=/Seite_1', 'Seite 1', NULL, 1, 'user', 0),
+(40, 27, 'link', '?page=/module/free', 'Externe Module Kostenlos', NULL, 2, 'admin', 1);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `metatags`
+--
+
+CREATE TABLE `metatags` (
+  `id` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `content` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `metatags`
+--
+
+INSERT INTO `metatags` (`id`, `name`, `content`) VALUES
+(1, 'description', 'Testseite');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `module`
+--
+
+CREATE TABLE `module` (
+  `id` int(11) NOT NULL,
+  `mid` int(11) NOT NULL,
+  `version` varchar(255) NOT NULL,
+  `name` text NOT NULL,
+  `datei` text NOT NULL,
+  `status` int(11) NOT NULL DEFAULT '0',
+  `dependent` text NOT NULL,
+  `upload_date` int(11) NOT NULL,
+  `upload_from` int(11) NOT NULL,
+  `install_date` int(11) NOT NULL DEFAULT '0',
+  `install_from` int(11) NOT NULL,
+  `deinstall_date` int(11) NOT NULL DEFAULT '0',
+  `deinstall_from` int(11) NOT NULL,
+  `version1` varchar(255) NOT NULL,
+  `dependent1` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `module_extern_free`
+--
+
+CREATE TABLE `module_extern_free` (
+  `id` int(11) NOT NULL,
+  `mid` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `description` text NOT NULL,
+  `needed` text NOT NULL,
+  `possible` text NOT NULL,
+  `version` varchar(255) NOT NULL,
+  `author` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `reloads`
+--
+
+CREATE TABLE `reloads` (
+  `ip` varchar(15) NOT NULL DEFAULT '',
+  `uid` int(7) NOT NULL DEFAULT '0',
+  `tan` varchar(32) NOT NULL DEFAULT '',
+  `bis` int(10) NOT NULL DEFAULT '0'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `run_inc`
+--
+
+CREATE TABLE `run_inc` (
+  `id` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `datei` text NOT NULL,
+  `berechtigung` int(11) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `run_inc`
+--
+
+INSERT INTO `run_inc` (`id`, `name`, `datei`, `berechtigung`) VALUES
+(1, 'ExternAnmelden', 'extern/anmelden.php', 0),
+(2, 'Login', 'extern/login.php', 0),
+(3, 'SaveProfil', 'profil/save.php', 2),
+(4, 'DeleteProfil', 'profil/delete.php', 2),
+(5, 'SaveGrundSetting', 'setting/GrundSetting.php', 1),
+(6, 'MenuAdd', 'setting/MenuAdd.php', 1),
+(7, 'LinkEditSave', 'setting/MenuEdit.php', 1),
+(8, 'LinkEditDel', 'setting/MenuDel.php', 1),
+(9, 'BoxAdd', 'setting/BoxAdd.php', 1),
+(10, 'BoxEdit', 'setting/BoxEdit.php', 1),
+(11, 'BoxDel', 'setting/BoxDel.php', 1),
+(12, 'UserNotizSave', 'user/AddNotiz.php', 1),
+(13, 'SaveUserEdit', 'user/UserEdit.php', 1),
+(14, 'SaveAddLang', 'setting/AddLang.php', 1),
+(15, 'SaveEditLang', 'setting/EditLang.php', 1),
+(16, 'SaveDelLang', 'setting/DelLang.php', 1),
+(17, 'UserCSSSave', 'setting/UserCSSSave.php', 1),
+(18, 'EditTemplateSave', 'setting/SaveEditTemplate.php', 1),
+(19, 'SaveDefaultLang', 'profil/defaultLang.php', 0),
+(20, 'DashBordSave', 'setting/DashBoxSave.php', 1),
+(21, 'SaveStartNoUser', 'box/SaveStartNoUser.php', 1),
+(22, 'ModulFileUpload', 'modul/FileUpload.php', 1),
+(23, 'ModulInstall', 'modul/ModulInstall.php', 1),
+(24, 'ModulDeinstall', 'modul/DeInstall.php', 1),
+(398, 'refback_save', 'profil/RefBackSave.php', 2),
+(399, 'FreeListAktualisieren', 'modul/UpdateFreeModule.php', 1),
+(400, 'InstallExternModul', 'modul/InstallExternModul.php', 1),
+(404, 'ModulExternUpdate', 'modul/UpdateExternModul.php', 1),
+(411, 'ModulDelete', 'modul/delete.php', 1),
+(412, 'MakeUpdate', 'version/update.php', 1);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `template`
+--
+
+CREATE TABLE `template` (
+  `id` int(11) NOT NULL,
+  `name` text,
+  `wert` text
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `template`
+--
+
+INSERT INTO `template` (`id`, `name`, `wert`) VALUES
+(1, 'FOOTER', 'true'),
+(4, 'MENUE', 'left'),
+(5, 'LOGIN_FORM', 'header'),
+(6, 'MENUE_WIDTH', '3'),
+(7, 'CONNTENT_WIDTH', '9'),
+(8, 'SHOW_MESSAGE', 'content'),
+(9, 'HEADER_IMAGE', 'false'),
+(10, 'HEADER_IMAGE_FILE', NULL),
+(11, 'HEADER_NAV', 'bottom');
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `user`
+--
+
+CREATE TABLE `user` (
+  `uid` int(11) NOT NULL,
+  `name` text NOT NULL,
+  `vorname` text NOT NULL,
+  `nick` text NOT NULL,
+  `email` text NOT NULL,
+  `pass` longtext NOT NULL,
+  `lang` text NOT NULL,
+  `status` int(11) NOT NULL DEFAULT '0',
+  `admin` int(11) NOT NULL DEFAULT '0',
+  `ip` text NOT NULL,
+  `reg_date` int(11) NOT NULL,
+  `last_login` int(11) NOT NULL,
+  `werber` int(11) NOT NULL,
+  `refback` int(11) NOT NULL,
+  `wverdienst_tag` double(100,2) NOT NULL,
+  `wverdienst_sum` double(100,2) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Daten für Tabelle `user`
+--
+
+INSERT INTO `user` (`uid`, `name`, `vorname`, `nick`, `email`, `pass`, `lang`, `status`, `admin`, `ip`, `reg_date`, `last_login`, `werber`, `refback`, `wverdienst_tag`, `wverdienst_sum`) VALUES
+(1, '', '', 'admin', '', '$Hg8725fae31539e070a690c1b63720c25eb5b86084b5098a942c86c89c1d67157ed6b', '', 1, 1, '', 0, 0, 1, 10, 0.00, 0.00);
+
+-- --------------------------------------------------------
+
+--
+-- Tabellenstruktur für Tabelle `user_notiz`
+--
+
+CREATE TABLE `user_notiz` (
+  `id` int(11) NOT NULL,
+  `uid` int(11) NOT NULL,
+  `aid` int(11) NOT NULL,
+  `datum` int(11) NOT NULL,
+  `text` longtext NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
+--
+-- Indizes der exportierten Tabellen
+--
+
+--
+-- Indizes für die Tabelle `aklink`
+--
+ALTER TABLE `aklink`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `boxes`
+--
+ALTER TABLE `boxes`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `box_settings`
+--
+ALTER TABLE `box_settings`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `emaildaten`
+--
+ALTER TABLE `emaildaten`
+  ADD UNIQUE KEY `uid` (`uid`);
+
+--
+-- Indizes für die Tabelle `gconfig`
+--
+ALTER TABLE `gconfig`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `lang`
+--
+ALTER TABLE `lang`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `link`
+--
+ALTER TABLE `link`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `metatags`
+--
+ALTER TABLE `metatags`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `module`
+--
+ALTER TABLE `module`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `module_extern_free`
+--
+ALTER TABLE `module_extern_free`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `run_inc`
+--
+ALTER TABLE `run_inc`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `template`
+--
+ALTER TABLE `template`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- Indizes für die Tabelle `user`
+--
+ALTER TABLE `user`
+  ADD PRIMARY KEY (`uid`);
+
+--
+-- Indizes für die Tabelle `user_notiz`
+--
+ALTER TABLE `user_notiz`
+  ADD PRIMARY KEY (`id`);
+
+--
+-- AUTO_INCREMENT für exportierte Tabellen
+--
+
+--
+-- AUTO_INCREMENT für Tabelle `aklink`
+--
+ALTER TABLE `aklink`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
+
+--
+-- AUTO_INCREMENT für Tabelle `boxes`
+--
+ALTER TABLE `boxes`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
+
+--
+-- AUTO_INCREMENT für Tabelle `box_settings`
+--
+ALTER TABLE `box_settings`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
+
+--
+-- AUTO_INCREMENT für Tabelle `gconfig`
+--
+ALTER TABLE `gconfig`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
+
+--
+-- AUTO_INCREMENT für Tabelle `lang`
+--
+ALTER TABLE `lang`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
+
+--
+-- AUTO_INCREMENT für Tabelle `link`
+--
+ALTER TABLE `link`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=41;
+
+--
+-- AUTO_INCREMENT für Tabelle `metatags`
+--
+ALTER TABLE `metatags`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
+
+--
+-- AUTO_INCREMENT für Tabelle `module`
+--
+ALTER TABLE `module`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
+
+--
+-- AUTO_INCREMENT für Tabelle `module_extern_free`
+--
+ALTER TABLE `module_extern_free`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31;
+
+--
+-- AUTO_INCREMENT für Tabelle `run_inc`
+--
+ALTER TABLE `run_inc`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=413;
+
+--
+-- AUTO_INCREMENT für Tabelle `template`
+--
+ALTER TABLE `template`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;
+
+--
+-- AUTO_INCREMENT für Tabelle `user`
+--
+ALTER TABLE `user`
+  MODIFY `uid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
+
+--
+-- AUTO_INCREMENT für Tabelle `user_notiz`
+--
+ALTER TABLE `user_notiz`
+  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
+COMMIT;
+
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/template/navbar.php b/template/navbar.php
index 14ddf7a..cd309f8 100644
--- a/template/navbar.php
+++ b/template/navbar.php
@@ -41,7 +41,7 @@ if(HEADER_IMAGE == 'false'){
 					if($_SESSION['login'] === true && $_SESSION['admin'] == 1){
 						echo '
 							<li class="nav-item">
-								'. suee_add_link(ADMIN_DIR,ADMIN,'class="nav-link" target="_new"') .'
+								'. suee_add_link(ADMIN_DIR .'/index.php',ADMIN,'class="nav-link" target="_new"') .'
 							</li>';
 							
 					}
-- 
GitLab