From bfeadae2c10b890eebed1b58efa78f9c1203b909 Mon Sep 17 00:00:00 2001 From: isaack <drericlaufer@gmx.de> Date: Thu, 7 Jan 2021 15:56:48 +0100 Subject: [PATCH] Language/layout.lib.php/autoload.php/anmelden.php/start.class.php MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Erste Schritte für Multilanguage hinzugekommen, momentan nur de noch möglich. erweiterung auf andere sprachen und select kommen dazu layout.lib.php mit functionen erweitert mit der autoload.php wird es einfacher mehrere Datein zu includieren anmelden.php erneuert und neue functionen sowie sprachdatei eingebaut start.class.php überarbeitet und erweitert --- index.php | 26 +----- install/db.default.php | 4 + install/install.class.php | 1 + lib/autoload.php | 30 +++++++ lib/class/session.class.php | 2 + lib/class/start.class.php | 6 +- lib/functions.lib.php | 7 ++ lib/lang/de/index.html | 0 lib/lang/de/seiten/index.html | 0 lib/lang/de/seiten/intern/anmelden.php | 28 ++++++ lib/lang/de/seiten/intern/index.html | 0 lib/layout.lib.php | 88 ++++++++++++++++++- lib/var.php | 1 + page/intern/anmelden.php | 115 ++++++------------------- page/start.php | 7 +- 15 files changed, 192 insertions(+), 123 deletions(-) create mode 100644 lib/autoload.php create mode 100644 lib/lang/de/index.html create mode 100644 lib/lang/de/seiten/index.html create mode 100644 lib/lang/de/seiten/intern/anmelden.php create mode 100644 lib/lang/de/seiten/intern/index.html diff --git a/index.php b/index.php index 6728918..5564d9b 100644 --- a/index.php +++ b/index.php @@ -3,32 +3,10 @@ if(!file_exists (__dir__ .'/lib/db_config.php' )){ header ("location: /install/index.php"); } -session_start(); -require_once(__dir__ .'/lib/db_config.php'); -require_once(__dir__ .'/lib/class/db.class.php'); -require_once(__dir__ .'/lib/var.php'); -$grundconfig = $datenbank->get_row("SELECT * FROM ". PREFIX . CONFIG ." ",true); -require_once(__dir__ .'/lib/session.lib.php'); -require_once(__dir__ .'/lib/lang/lang.de.php'); -require_once (__dir__ .'/lib/functions.lib.php'); -require_once (__dir__ .'/lib/run.inc.php'); -require_once (__dir__ .'/lib/layout.lib.php'); -require_once (__dir__ .'/lib/extras.lib.php'); -require_once (__dir__ .'/lib/extra/mail.php'); -ReloadDelete(); -if (!isset($_GET['page']) || empty ($_GET['page'])) $_GET['page'] = '/intern/startseite'; -if (!file_exists('page' . $_GET['page'] . '.php')) $_GET['page'] = '/error/keine_seite'; -if ($_GET['page'] == '/intern/startseite') require_once (__dir__ .'/lib/texte/alt_startseitenpopup.txt'); -if ($_GET['page'] == '/betteln') require_once (__dir__ .'/lib/texte/alt_bettelseitenpopup.txt'); +session_start(); -CheckLogin(); -$CountDownTime = 0; -$start_reload = "SELECT * FROM ". PREFIX . RELOAD ." WHERE uid = '".$datenbank->escape($_SESSION['uid']) ."' and tan = 'startseitenaufruf' and bis >= '". time() ."'"; -if ($datenbank->num_rows($start_reload) != 0) { - $start = $datenbank->get_row($start_reload,true); - $CountDownTime = $start->bis; -} +require(__dir__ .'/lib/autoload.php'); ?> <!DOCTYPE html> diff --git a/install/db.default.php b/install/db.default.php index b3d807a..0ffe8fc 100644 --- a/install/db.default.php +++ b/install/db.default.php @@ -57,4 +57,8 @@ // Verschlsselungspasswort define("VER_SCHLUESSEL","???SCHLUESSEL???"); + + //Seitenconstante + + const DIR_FS = '???DIR???'; ?> diff --git a/install/install.class.php b/install/install.class.php index 4483b4b..53c5001 100644 --- a/install/install.class.php +++ b/install/install.class.php @@ -43,6 +43,7 @@ class Install{ $file = str_replace("???PREFIX???",$this->array['prefix'],$file); $file = str_replace("???SCHLUESSEL???", create_code(16),$file); $file = str_replace("???PW???", create_code(4),$file); + $file = str_replace("???DIR???", __dir__ ); $datei = fopen("../lib/db_config.php","w"); fwrite($datei, $file,100000); fclose($datei); diff --git a/lib/autoload.php b/lib/autoload.php new file mode 100644 index 0000000..dc527a9 --- /dev/null +++ b/lib/autoload.php @@ -0,0 +1,30 @@ +<?php + +require_once( 'db_config.php'); +require_once( 'class/db.class.php'); +require_once( 'var.php'); +$grundconfig = $datenbank->get_row("SELECT * FROM ". PREFIX . CONFIG ." ",true); +require_once( 'session.lib.php'); +require_once( 'lang/lang.'. $_SESSION['lang'] .'.php'); +require_once ( 'functions.lib.php'); +require_once ( 'run.inc.php'); +require_once ( 'layout.lib.php'); +require_once ( 'extras.lib.php'); +require_once ( 'extra/mail.php'); +ReloadDelete(); + +if (!isset($_GET['page']) || empty ($_GET['page'])) $_GET['page'] = '/intern/startseite'; +if (!file_exists('page' . $_GET['page'] . '.php')) $_GET['page'] = '/error/keine_seite'; +if ($_GET['page'] == '/intern/startseite') require_once ( 'texte/alt_startseitenpopup.txt'); +if ($_GET['page'] == '/betteln') require_once ( 'texte/alt_bettelseitenpopup.txt'); +LoadLanguageFile(); + +CheckLogin(); +$CountDownTime = 0; +$start_reload = "SELECT * FROM ". PREFIX . RELOAD ." WHERE uid = '".$datenbank->escape($_SESSION['uid']) ."' and tan = 'startseitenaufruf' and bis >= '". time() ."'"; +if ($datenbank->num_rows($start_reload) != 0) { + $start = $datenbank->get_row($start_reload,true); + $CountDownTime = $start->bis; +} + +?> \ No newline at end of file diff --git a/lib/class/session.class.php b/lib/class/session.class.php index 5105a1e..316f33f 100644 --- a/lib/class/session.class.php +++ b/lib/class/session.class.php @@ -68,6 +68,7 @@ class SESSION{ $_SESSION['admin'] = $user->admin; $_SESSION['passwort'] = $user->passwort; $_SESSION['login'] = true; + $_SESSION['lang'] = 'de'; $meldung = LOGIN_SESSION_TRUE; } header ("location: " . $grundconfig->domain); @@ -109,6 +110,7 @@ class SESSION{ $_SESSION['passwort'] = $login_check->passwort; $_SESSION['admin'] = $login_check->admin; $_SESSION['login'] = true; + $_SESSION['lang'] = 'de'; } } } diff --git a/lib/class/start.class.php b/lib/class/start.class.php index ecb4d4d..a216f7b 100644 --- a/lib/class/start.class.php +++ b/lib/class/start.class.php @@ -1,6 +1,6 @@ <?php -class START{ +class start{ private $db; private $session = array(); private $grund; @@ -10,7 +10,7 @@ class START{ private $reload = 0; private $ip; - function __construct(){ + public function __construct(){ global $datenbank,$_SESSION,$grundconfig; $this->db = $datenbank; $this->session = $this->db->escape($_SESSION); @@ -39,7 +39,7 @@ class START{ "datum" => time(), "betrag" => $this->grund->verdienst_start ); - $this->db->insert(START_LOG, $array); + $this->db->insert(PREFIX . START_LOG, $array); } private function StatistikUpgrade(){ diff --git a/lib/functions.lib.php b/lib/functions.lib.php index be27524..7bfd642 100644 --- a/lib/functions.lib.php +++ b/lib/functions.lib.php @@ -308,4 +308,11 @@ function IMGtoBase64 ( $file = NULL, $ordner = NULL ) { return ''; } } + +function LoadLanguageFile(){ + global $_GET; + if(file_exists(DIR_FS .'/lib/lang/'. $_SESSION['lang'] .'/seiten'. $_GET['page'] .'.php')){ + require DIR_FS .'/lib/lang/'. $_SESSION['lang'] .'/seiten'. $_GET['page'] .'.php'; + } +} ?> diff --git a/lib/lang/de/index.html b/lib/lang/de/index.html new file mode 100644 index 0000000..e69de29 diff --git a/lib/lang/de/seiten/index.html b/lib/lang/de/seiten/index.html new file mode 100644 index 0000000..e69de29 diff --git a/lib/lang/de/seiten/intern/anmelden.php b/lib/lang/de/seiten/intern/anmelden.php new file mode 100644 index 0000000..2035d16 --- /dev/null +++ b/lib/lang/de/seiten/intern/anmelden.php @@ -0,0 +1,28 @@ +<?php + +const ANMELDEN_NEU = 'Neuanmeldung'; + +const ANMELDEN_NICKNAME = 'Nickname'; +const ANMELDEN_VORNAME = 'Vorname'; +const ANMELDEN_NACHNAME = 'Nachname'; +const ANMELDEN_GEB = 'Geburtstag'; +const ANMELDEN_MAIL = 'E-Mail Adresse'; +const ANMELDEN_PASS = 'Passwort'; +const ANMELDEN_PASS_W = 'Passwort wiederholen'; +const ANMELDEN_WERBER = 'Werber'; +const ANMELDEN_NEWSLETTER = 'Newsletter entpfangen'; +const ANMELDEN_AGB = 'AGB gelesen und akzeptiert'; +const ANMELDEN_DATA = 'Datenschutzerklärung gelesen und akzeptiert'; + +const ANMELDEN_INFO = 'Vor dem Anmelden lese bitte die AGB und Datenschutzrichtlinien!'; + +const ANMELDEN_TRUE = 'Anmeldung erfolgreich'; + +const ANMELDEN_TRUE_MAIL = 'Deine Anmeldung war erfolgreich, Du bekommst jetzt eine Email mit Deinen Daten und einen Aktivierungslink. + Sobald Du deinen Account aktiviert hast kannst Du dich bei uns einloggen und diese Seite im vollen Umfang nutzen.<br> + <br> + Bitte beachte dass es auch etwas dauern kann bis die Aktivierungsmail bei Dir ankommt, dieses ist anhängig von Deinem Emailanbieter.<br>'; + +const ANMELDEN_TRUE_MANUELL = 'Deine Anmeldung wurde erfolgreich registriert.<br> + Ein Admin wird nun diese Prüfen und gegebenfalls freischalten.<br> + Über diesen Vorgang wirst du per E-Mail Informiert.'; \ No newline at end of file diff --git a/lib/lang/de/seiten/intern/index.html b/lib/lang/de/seiten/intern/index.html new file mode 100644 index 0000000..e69de29 diff --git a/lib/layout.lib.php b/lib/layout.lib.php index f70bf49..4298cdd 100644 --- a/lib/layout.lib.php +++ b/lib/layout.lib.php @@ -71,10 +71,31 @@ echo'</div></div><hr>'; * @example table_head("hier,jede,Spalte,eintragen","table table-striped"); * @return HTML Code für Tabellenkopf einer Tabelle */ -function table_head($style,$array){ +function table_head($array = NULL,$style = ''){ echo '<table class="'. $style .'">'; - $tr = explode(",",$array); - foreach($tr as $t) echo '<th>'. $t .'</th>'; + if($array != NULL){ + $tr = explode(",",$array); + foreach($tr as $t) echo '<th>'. $t .'</th>'; + } +} + +/** + * table_body() + * + * @author vms1-scripte.de + * @example table_body(array(array("spalte 1.1","spalte 1.2"), array("Spalte 2.1", "Spalte 2.2"))); + * @return HTML Code für Tabellenkopf einer Tabelle + */ +function table_body($array){ + $aus = ''; + for($i = 0; $i <= count($array)-1; $i++){ + $aus .= '<tr>'; + for($ii = 0; $ii <= count($array[$i])-1; $ii++){ + $aus .= '<td>'. $array[$i][$ii] .'</td>'; + } + $aus .= '</tr>'; + } + echo $aus; } /** @@ -87,4 +108,65 @@ function table_head($style,$array){ function table_foot(){ echo '</table>'; } + +/** + * suee_add_input() + * + * @author vms1-scripte.de + * @example suee_add_input("name","text","Vorgabe","Platzhalter","andere variablen"); + * @return HTML Code für Inputfeld + */ + +function suee_add_input($name,$type,$value = NULL, $placeholder = NULL, $other = NULL){ + $input = '<input type="'; + $input .= $type .'"'; + $input .= "name=\"$name\""; + + if($value != NULL){ + $input .= "value=\"$value\""; + } + if($placeholder != NULL){ + $input .= "placeholder=\"$placeholder\""; + } + + if($other != NULL){ + $input .= $other; + } + + $input .= '>'; + return $input; +} + +/** + * suee_add_select() + * @author vms1-scripte.de + * @example suee_add_input("Name",array(array("value 1","Text 1), array("Value 2", "Text 2"))); + * @return HTML Code für Select + */ + +function suee_add_select($name,$option,$other = ''){ + $select = '<select name="'. $name .'" '. $other .'>'; + for($i = 0; $i <= count($option)-1; $i++){ + $select .= '<option value="'. $option[$i][0] .'">'. $option[$i][1] .'</option>'; + } + $select .= '</select>'; + + return $select; +} + +/** + * suee_add_alert() + * @author vms1-scripte.de + * $class kann success/alert/warning/info/danger sein + * @example suee_add_alert("Text im Alert","success", "text-bold text-center"); + * @return HTML Code für div Alert + */ + +function suee_add_alert($text,$class,$other = ''){ + $alert = '<div class="alert alert-'. $class .' '. $other .'">'; + $alert .= $text; + $alert .= '</div>'; + + return $alert; +} ?> diff --git a/lib/var.php b/lib/var.php index 10199a0..a5010a3 100644 --- a/lib/var.php +++ b/lib/var.php @@ -79,6 +79,7 @@ if(!isset($_SESSION['admin'])) { $_SESSION['admin'] = 0;} if(!isset($_SESSION['login'])) { $_SESSION['login'] = "";} if(!isset($_SESSION['werber'])) { $_SESSION['werber'] = "0";} if(!isset($_SESSION['uid'])) { $_SESSION['uid'] = "0";} +if(!isset($_SESSION['lang'])) { $_SESSION['lang'] = "de";} //$_GET diff --git a/page/intern/anmelden.php b/page/intern/anmelden.php index 562b4d5..830dcc5 100644 --- a/page/intern/anmelden.php +++ b/page/intern/anmelden.php @@ -1,97 +1,34 @@ <?php if ($anmeldeok != true) { - head("$grundconfig->seitenname - Neuanmeldung");?> - <center><b>Neuanmeldung</b></center> - <form action="" method="post"> - <table class="table table-striped"> - <tr> - <td class="main"><b>Nickname:</b></td> - <td class="main"><input type="text" class="form-control" name="nickname" value="<?php echo $_POST['nickname'];?>"></td> - </tr> - <tr> - <td class="main"><b>Vorname:</b></td> - <td class="main"><input type="text" class="form-control" name="vorname" value="<?php echo $_POST['vorname'];?>"></td> - </tr> - <tr> - <th>Nachname</th> - <td><input type="text" class="form-control" name="nachname" value="<?php echo $_POST['nachname'];?>"> - </tr> - <tr> - <td class="main"><b>Emailadresse:</b></td> - <td class="main"><input type="text" class="form-control" name="emailadresse" value="<?php echo $_POST['emailadresse'];?>"></td> - </tr> - <tr> - <td class="main"><b>Geburtsdatum:</b></td> - <td class="main"><input type="date" class="tcal" name="bdate" value="<?php echo $_POST['bdate'];?>"></td> - </tr> - <tr> - <td class="main">Werber:</td> - <td class="main"> - <?php if ($_SESSION['werber'] == 0) { - echo '<b>keinen</b>'; - } else { - echo $_SESSION['werber']; - } ?></td> - </tr> - <tr> - <td class="main"><b>Passwort:</b></td> - <td class="main"><input type="password" class="form-control" name="password1"></td> - </tr> - <tr> - <td class="main"><b>Passwortbestätigung:</b></td> - <td class="main"><input type="password" class="form-control" name="password2"></td> - </tr> - <tr> - <td class="main"><b>Newsletter:</b></td> - <td class="main"><select name="newsletter" class="form-control"><option value="1" - <?php if ($_POST['newsletter'] == "1") { - echo 'selected'; - } ?>>Ja</option><option value="0" <?php if ($_POST['newsletter'] != "1") { - echo 'selected'; - } ?>>Nein</option></select></td> - </tr> - <tr> - <td class="main"><b>AGB gelesen und akzeptiert:</b></td> - <td class="main"><select name="agb" class="form-control"><option value="ja" - <?php if ($_POST['agb'] == "ja") { - echo 'selected'; - } ?>>Ja</option><option value="nein" <?php if ($_POST['agb'] != "ja") { - echo 'selected'; - } ?>>Nein</option></select></td> - </tr> - <tr> - <td class="main"><b>Datenschutzerklärung gelesen und akzeptiert:</b></td> - <td class="main"><select name="data" class="form-control"><option value="ja" - <?php if ($_POST['data'] == "ja") { - echo 'selected'; - } ?>>Ja</option><option value="nein" <?php if ($_POST['data'] != "ja") { - echo 'selected'; - } ?>>Nein</option></select></td> - </tr> - <tr> - <td class="main" class="alert alert-warning text-center" colspan="2"> - Vor dem Anmelden lese bitte die AGB und Datenschutzrichtlinien!<br><br> - <input type="submit" name="run[anmelden]" value="Jetzt anmelden!"> - </td> - </tr> - </table> - </form> - <?php foot(); + $Anmelden_Felder = array( + array(ANMELDEN_NICKNAME, suee_add_input("nickname","text",$_POST['nickname'],NULL,'class="form-control"')), + array(ANMELDEN_VORNAME, suee_add_input("vorname","text",$_POST['nickname'],NULL,'class="form-control"')), + array(ANMELDEN_NACHNAME, suee_add_input("nachname","text",$_POST['nickname'],NULL,'class="form-control"')), + array(ANMELDEN_MAIL, suee_add_input("emailadresse","text",$_POST['nickname'],NULL,'class="form-control"')), + array(ANMELDEN_GEB, suee_add_input("bdate","date",$_POST['nickname'],NULL,'class="form-control"','class="tcal"')), + array(ANMELDEN_PASS, suee_add_input("password1","password",$_POST['nickname'],NULL,'class="form-control"')), + array(ANMELDEN_PASS_W, suee_add_input("password2","password",$_POST['nickname'],NULL,'class="form-control"')), + array(ANMELDEN_WERBER, suee_add_input("","text",$_SESSION['werber'],NULL,'class="form-control" disabled="disabled"')), + array(ANMELDEN_NEWSLETTER, suee_add_select("newsletter", array(array(0,"Ja"), array(1,"Nein")), 'class="form-control"')), + array(ANMELDEN_AGB, suee_add_select("agb", array(array(0,"Nein"), array(1,"Ja")), 'class="form-control"')), + array(ANMELDEN_DATA, suee_add_select("data", array(array(0,"Nein"), array(1,"Ja")), 'class="form-control"')), + ); + head($grundconfig->seitenname .'-'. ANMELDEN_NEU); + echo '<center><b>'. ANMELDEN_NEU .'</b></center> + <form action="" method="post">'; + table_head(NULL,"table table-striped"); + table_body($Anmelden_Felder); + table_foot(); + echo suee_add_alert(ANMELDEN_INFO,"warning","text-bold text-center"); + echo suee_add_input("run[anmelden]","submit","Jetzt anmelden!",NULL,'class="btn btn-success btn-block"'); + echo '</form>'; + foot(); } else { - head("$grundconfig->seitenname - Anmeldung erfolgreich!"); + head($grundconfig->seitenname .'-'. ANMELDEN_TRUE); if($grundconfig->reg_free == 1){ - echo 'Deine Anmeldung bei '.$grundconfig->seitenname.' war erfolgreich, Du bekommst jetzt eine Email mit Deinen Daten und einen Aktivierungslink. - Sobald Du deinen Account aktiviert hast kannst Du dich bei uns einloggen und diese Seite im vollen Umfang nutzen.<br> - <br> - Bitte beachte dass es auch etwas dauern kann bis die Aktivierungsmail bei Dir ankommt, dieses ist anhängig von Deinem Emailanbieter.<br> - '; + echo suee_add_alert(ANMELDEN_TRUE_MAIL,"success", "text-dark"); }else{ - echo 'Deine Anmeldung wurde erfolgreich registriert.<br> - Ein Admin wird nun diese Prüfen und gegebenfalls freischalten.<br> - Über diesen Vorgang wirst du per E-Mail Informiert.' + echo suee_add_alert(ANMELDEN_TRUE_MANUELL,"info","text-dark"); } - echo '<br> - Mit freundlichen Grüßen<br> - Das '.$grundconfig->seitenname.' Team<br>'; foot(); } diff --git a/page/start.php b/page/start.php index acedfe0..77b7572 100644 --- a/page/start.php +++ b/page/start.php @@ -1,15 +1,14 @@ <?php -require_once('lib/class/start.class.php'); -$Pay4Start = new START; +$Pay4Start = Classloader('start'); if ($grundconfig->popup_start == 0) { head(""); $row = $Pay4Start->StartAbruf(); - if($row->error == 1){ $alert = 'danger';}else{$alert = 'success';} + if($row['error'] == 1){ $alert = 'danger';}else{$alert = 'success';} echo ' <div class="alert alert-'. $alert .'"> - '. $row->meldung .' + '. $row['meldung'] .' </div> '; foot(); -- GitLab