From 89187a37c4a97fa34d5a4d955c554d0d5f265f9f Mon Sep 17 00:00:00 2001 From: isaack <drericlaufer@gmx.de> Date: Fri, 24 May 2019 20:59:35 +0200 Subject: [PATCH] einzelne fehler behoben fehler in einzelnen datein behoben --- adminforce/index.php | 3 +- .../lib/class/grundeinstellung.class.php | 9 +- adminforce/lib/lang/lang.de.php | 4 + lib/class/anmelden.class.php | 146 +++++++++--------- lib/extra/mail.php | 46 ------ lib/functions.lib.php | 13 ++ page/konto/profil_include/nickpage.php | 2 +- 7 files changed, 97 insertions(+), 126 deletions(-) diff --git a/adminforce/index.php b/adminforce/index.php index 81a5868..d0e1fe2 100644 --- a/adminforce/index.php +++ b/adminforce/index.php @@ -23,7 +23,8 @@ require_once('lib/layout.lib.php'); require_once( '../lib/extras.lib.php' ); require_once('lib/run.inc.php'); - + $grundconfig = $datenbank->get_row("SELECT * FROM ". PREFIX . CONFIG ." ",true); + $shows = 0; if (!isset($_GET['page'])) $_GET['page'] = '/startseite'; if (!file_exists('page'.$_GET['page'].'.php')) $_GET['page'] = '/error/keine_seite'; diff --git a/adminforce/lib/class/grundeinstellung.class.php b/adminforce/lib/class/grundeinstellung.class.php index 4718486..79a11ab 100644 --- a/adminforce/lib/class/grundeinstellung.class.php +++ b/adminforce/lib/class/grundeinstellung.class.php @@ -40,7 +40,7 @@ class grundeinstellung{ $aus = '<form method="post" action=""> <div class="form-group"> <label for="exampleInputEmail1">Anzahl Refebenen</label> - <input type="number" class="form-control" name="refEbenen" value="'.$this->config->RefEbenen .'"> + <input type="number" class="form-control" name="AnzrefEbenen" value="'.$this->config->RefEbenen .'"> <small id="emailHelp" class="form-text text-muted">Sollten es mehr Refebenen werden, bitte erst die Anzahl Speichern und dann die Vergütungen eintragen</small> </div> <div class="row">'; @@ -72,10 +72,9 @@ class grundeinstellung{ } public function RefVergSave($post){ - if(is_numeric($post['refEbenen'])){ $RefEbenen = $post['refEbenen'];}else{ $RefEbenen = 0;} - echo $RefEbenen; - if(empty($post['refebenen'])){ $refebenen = '';}else{ $refebenen = implode(";",$post['refebenen']);} - if($this->db->update(PREFIX . CONFIG, array("RefEbenen" => $RefEbenen, "RefVerg" => $refebenen), array("id" => 3)) == true){ + if(is_numeric($post['AnzrefEbenen'])){ $AnzRefEbenen = $post['AnzrefEbenen'];}else{ $AnzRefEbenen = 0;} + if(empty($post['refebenen'])){ $refebenen = 0;}else{ $refebenen = implode(";",$post['refebenen']);} + if($this->db->update(PREFIX . CONFIG, array("RefEbenen" => $AnzRefEbenen, "RefVerg" => $refebenen), array("id" => 1)) == true){ meldung(0,REFEBENEN_SAVE_TRUE); }else{ meldung(1,REFEBENEN_SAVE_FALSE); diff --git a/adminforce/lib/lang/lang.de.php b/adminforce/lib/lang/lang.de.php index 2f7e7fa..d4c60ed 100644 --- a/adminforce/lib/lang/lang.de.php +++ b/adminforce/lib/lang/lang.de.php @@ -110,4 +110,8 @@ define("BOX_SAVE_FALSE","Die Box konnte nicht angelegt werden.<br>"); define("BOX_DELETE_TRUE","Die Box wurde erfolgreich gelöscht.<br>"); define("BOX_DELETE_FALSE","Die Box konnte nicht gelöscht werden.<br>"); + +//Interface + define("INTERFACE_SAVE_TRUE","Daten erfolgreich gespeichert.<br>"); + define("INTERFACE_SAVE_FALSE","Fehler beim Speichern der Daten.<br>"); ?> diff --git a/lib/class/anmelden.class.php b/lib/class/anmelden.class.php index fc391e3..0ab1f47 100644 --- a/lib/class/anmelden.class.php +++ b/lib/class/anmelden.class.php @@ -1,27 +1,46 @@ <?php -require_once('lib/extra/mail.php'); -$mail_senden = new send_smtp_mail(); - class ANMELDEN{ protected $uid; protected $ak; protected $werber; + private $db; + private $error = 0; + private $meldung; + private $post = array; + private $config; + private $session; + + public function __construct(){ + global $datenbank,$grundconfig,$_SESSION; + $this->db = $datenbank; + $this->config = $grundconfig; + $this->session = $_SESSION; + } + + private function make_array($post){ + foreach($post AS $key => $value){ + if($key != '' && $value = ''){ + $this->post[$key] = $this->db->escape($value); + } + } + } function anmelden_los(){ - global $datenbank,$error,$meldung; + global $_POST; + $this->make_array($_POST); $this->pruef(); - if($error == 0){ + if($this->error == 0){ $this->escapen(); - $this->konto($_POST['password1']); + $this->konto($this->post['password1']); $this->email(); $this->user(); $this->werber(); $this->nickpage(); $this->aktivierung(); $this->ak_senden(); - if($error == 0){ + if($this->error == 0){ return true; }else{ return false; @@ -29,21 +48,13 @@ class ANMELDEN{ } } - function escapen(){ - global $datenbank,$_POST; - foreach($_POST AS $key => $value){ - $_POST[$key] = $datenbank->escape($value); - } - } - function ak_senden(){ - global $mail_senden,$grundconfig,$_POST; - $betreff = "Ihre Anmeldung auf ". $grundconfig->seitenname; - $email_message = 'Hallo ' . $_POST['nickname'] . ', - Du hast Dich soeben erfolgreich bei ' . $grundconfig->seitenname . ' angemeldet. + $betreff = "Ihre Anmeldung auf ". $this->config->seitenname; + $email_message = 'Hallo ' . $this->post['nickname'] . ', + Du hast Dich soeben erfolgreich bei ' . $this->config->seitenname . ' angemeldet. Bitte aktiviere jetzt Deinen Account, klicke dazu bitte auf den - Aktivierungslink: ' . $grundconfig->domain . '/?page=/intern/aktivieren&ak=' . $this->ak . ' + Aktivierungslink: ' . $this->config->domain . '/?page=/intern/aktivieren&ak=' . $this->ak . ' ---------------------------------------------------------- Kontonummer: ' . $this->uid . ' @@ -54,68 +65,63 @@ class ANMELDEN{ uns teilnehmen. Mit freundlichen Grüßen - Das ' . $grundconfig->seitenname . ' Team + Das ' . $this->config->seitenname . ' Team '; - $mail_senden->senden($_POST['emailadresse'],$betreff,$email_message); + $Class = Classloader('mail'); + $Class->senden($_POST['emailadresse'],$betreff,$email_message); } function aktivierung(){ - global $datenbank; $this->ak = md5($this->uid . time() ); $insert = array( "uid" => $this->uid, "ak" => $this->ak ); - $datenbank->insert(PREFIX . AKT , $insert); + $this->db->insert(PREFIX . AKT , $insert); } function nickpage(){ - global $datenbank; $insert = array( "uid" => $this->uid ); - $datenbank->insert(PREFIX . NICKP, $insert); + $this->db->insert(PREFIX . NICKP, $insert); } function werber(){ - global $datenbank,$_POST,$_SESSION; $insert = array( "uid" => $this->uid, - "werber" => $this->werber_select($_SESSION['werber']), + "werber" => $this->werber_select($this->session['werber']), "umsatz" => 0, "zuordnungszeit" => time() ); - $datenbank->insert(PREFIX . WERBER , $insert); + $this->db->insert(PREFIX . WERBER , $insert); } function user(){ - global $datenbank,$_POST; $insert = array( "uid" => $this->uid, - "nickname" => $_POST['nickname'], - "vorname" => $_POST['vorname'], - "nachname" => $_POST['nachname'], + "nickname" => $this->post['nickname'], + "vorname" => $this->post['vorname'], + "nachname" => $this->post['nachname'], "angemeldet_seit" => time(), - "bdate" => $this->bdate($_POST['bdate']) + "bdate" => $this->bdate($this->post['bdate']) ); - $datenbank->insert(PREFIX . USER , $insert); + $this->db->insert(PREFIX . USER , $insert); } function konto($pass){ - global $datenbank; $pw = pw_erstellen($pass); - $datenbank->insert(PREFIX . KONTO, array("passwort" => $pw, "status" => 0)); + $this->db->insert(PREFIX . KONTO, array("passwort" => $pw, "status" => 0)); $this->uid = $datenbank->lastid(); } function email(){ - global $datenbank; $insert = array( "uid" => $this->uid, - "emailadresse" => $_POST['emailadresse'], - "freigabe_fuer" => $_POST['newsletter'] + "emailadresse" => $this->post['emailadresse'], + "freigabe_fuer" => $this->post['newsletter'] ); - $datenbank->insert(PREFIX . EMAIL , $insert); + $this->db->insert(PREFIX . EMAIL , $insert); } function bdate($date){ @@ -125,66 +131,60 @@ class ANMELDEN{ } function pruef(){ - global $_POST,$error,$meldung; - if(empty($_POST['nachname'])){ $error = 1; $meldung .= ANMELDEN_NAME_FALSE;} - if(empty($_POST['bdate'])){ $error = 1; $meldung .= ANMELDEN_GEB_FALSE;} - if(empty($_POST['vorname'])){ $error = 1; $meldung .= ANMELDEN_VORNAME_FALSE;} - $this->mailadresse($_POST['emailadresse']); - $this->nickname($_POST['nickname']); - $this->pass($_POST['password1'],$_POST['password2']); - if($_POST['agb'] != "ja"){ $error = 1; $meldung .= ANEMLDEN_AGB_FALSE; } + if(empty($this->post['nachname'])){ $this->error = 1; $this->meldung .= ANMELDEN_NAME_FALSE;} + if(empty($this->post['bdate'])){ $this->error = 1; $this->meldung .= ANMELDEN_GEB_FALSE;} + if(empty($this->post['vorname'])){ $this->error = 1; $this->meldung .= ANMELDEN_VORNAME_FALSE;} + $this->mailadresse($this->post['emailadresse']); + $this->nickname($this->post['nickname']); + $this->pass($this->post['password1'],$_POST['password2']); + if($this->post['agb'] != "ja"){ $this->error = 1; $this->meldung .= ANEMLDEN_AGB_FALSE; } } function mail_denied($mail){ - global $datenbank,$grundconfig,$error,$meldung; - $denied = explode(';', $grundconfig->denied_domains); - if($grundconfig->ip_erlaubt != ''){ - $ip_denied = explode(',', $pageconfig['ip_erlaubt']); + $denied = explode(';', $this->config->denied_domains); + if($this->config->ip_erlaubt != ''){ + $ip_denied = explode(',', $this->config->ip_erlaubt); if(!in_array(geoIP($ip),$ip_denied)){ - $error = 1; - $meldung .= ANMELDEN_IP_FALSE;} + $this->error = 1; + $this->meldung .= ANMELDEN_IP_FALSE;} } foreach ($denied AS $nr => $emaildomain){ if (($nr < (count ($denied) - 2) || strlen ($emaildomain) >= 5) && strpos ($mail, $emaildomain) !== false){ - $error = 1; - $meldung .= ANMELDEN_MAIL_ANBIETER_FALSE; + $this->error = 1; + $this->meldung .= ANMELDEN_MAIL_ANBIETER_FALSE; } } } function mailadresse($mail){ - global $datenbank,$error,$meldung; - if(!filter_var( $mail, FILTER_VALIDATE_EMAIL )) { $error = 1; $meldung .= ANMELDEN_EMAIL_FALSE;} - $select = $datenbank->num_rows("SELECT * FROM ". PREFIX . EMAIL ." WHERE emailadresse = '$mail' "); + if(!filter_var( $mail, FILTER_VALIDATE_EMAIL )) { $this->error = 1; $this->meldung .= ANMELDEN_EMAIL_FALSE;} + $select = $this->db->num_rows("SELECT * FROM ". PREFIX . EMAIL ." WHERE emailadresse = '$mail' "); if($select == true){ - $error = 1; - $meldung .= ANMELDEN_MAIL_EXIST; + $this->error = 1; + $this->meldung .= ANMELDEN_MAIL_EXIST; } $this->mail_denied($mail); } function pass($pass1,$pass2){ - global $error,$meldung; - if(empty($pass1)){ $error = 1; $meldung .= ANMELDEN_PASS1_FALSE;} - if(empty($pass2)){ $error = 1; $meldung .= ANMELDEN_PASS2_FALSE;} - if($pass1 != $pass2){ $error = 1; $meldung .= ANMELDEN_PASS_KONTROLLE_FALSE;} - if(strlen($pass1) < 8){ $error = 1; $meldung .= ANMELDEN_PASS_SHORT; } + if(empty($pass1)){ $this->error = 1; $this->meldung .= ANMELDEN_PASS1_FALSE;} + if(empty($pass2)){ $this->error = 1; $this->meldung .= ANMELDEN_PASS2_FALSE;} + if($pass1 != $pass2){ $this->error = 1; $this->meldung .= ANMELDEN_PASS_KONTROLLE_FALSE;} + if(strlen($pass1) < 8){ $this->error = 1; $this->meldung .= ANMELDEN_PASS_SHORT; } } function nickname($nick){ - global $datenbank,$error,$meldung; - if(empty($nick)){$error = 1; $meldung = ANMELDEN_NICKNAME_FALSE;} - $select = $datenbank->exists(PREFIX . USER , 'nickname', array("nickname" => $datenbank->escape($nick))); + if(empty($nick)){$this->error = 1; $this->meldung = ANMELDEN_NICKNAME_FALSE;} + $select = $this->db->exists(PREFIX . USER , 'nickname', array("nickname" => $nick)); if($select == true){ - $error = 1; - $meldung .= ANMLEDEN_NICKNAME_EXIST; + $this->error = 1; + $this->meldung .= ANMLEDEN_NICKNAME_EXIST; } } function werber_select($werber){ - global $datenbank; if($werber != ''){ - $ab = $datenbank->exists(PREFIX . USER , 'uid' , array("uid" => $datenbank->escape($werber))); + $ab = $this->db->exists(PREFIX . USER , 'uid' , array("uid" => $werber)); if(!is_numeric($werber) OR $ab == false){ $this->werber = 0; } diff --git a/lib/extra/mail.php b/lib/extra/mail.php index cb51ea2..e69de29 100644 --- a/lib/extra/mail.php +++ b/lib/extra/mail.php @@ -1,46 +0,0 @@ -<?php -use PHPMailer\PHPMailer\PHPMailer; -use PHPMailer\PHPMailer\Exception; - -require_once $_SERVER['DOCUMENT_ROOT'].'/lib/class/phpmailer/Exception.php'; -require_once $_SERVER['DOCUMENT_ROOT'].'/lib/class/phpmailer/PHPMailer.php'; -require_once $_SERVER['DOCUMENT_ROOT'].'/lib/class/phpmailer/SMTP.php'; - -class send_smtp_mail{ - - public function senden($mail_adresse,$betreff,$nachricht){ - global $grundconfig; - $mailer = new PHPMailer(); - $mailer->SMTPDebug = 0; // Enable verbose debug output - $mailer->isSMTP(); // Set mailer to use SMTP - $mailer->Host = $grundconfig->SMTP_HOST; // Specify main and backup SMTP servers - $mailer->SMTPAuth = true; // Enable SMTP authentication - $mailer->Username = $grundconfig->SMTP_LOGIN; // SMTP username - $mailer->Password = $grundconfig->SMTP_PASS; // SMTP password - $mailer->SMTPSecure = $grundconfig->SMTP_VERBINDUNG; // Enable TLS encryption, `ssl` also accepted - $mailer->Port = $grundconfig->SMTP_PORT; - $mailer->SMTPOptions = array( - 'ssl' => array( - 'verify_peer' => false, - 'verify_peer_name' => false, - 'allow_self_signed' => true - ) - ); // TCP port to connect to - $mailer->CharSet = 'UTF-8'; // Charset setzen (für richtige Darstellung von Sonderzeichen/Umlauten) - $mailer->setFrom($grundconfig->betreibermail,$grundconfig->seitenname); // Absenderemail und -name setzen - $mailer->addAddress($mail_adresse); // Empfängeradresse - $mailer->isHTML(true); - $mailer->Subject = $betreff; // Betreff der Email - $mailer->Body = $nachricht; // Inhalt der Email - - if(!$mailer->Send()){ - return false; - }else{ - return true; - } - - return $error; - - } -} -?> diff --git a/lib/functions.lib.php b/lib/functions.lib.php index 5b78136..d8a8534 100644 --- a/lib/functions.lib.php +++ b/lib/functions.lib.php @@ -274,4 +274,17 @@ function imageToBase65 ( $file = NULL ) { $content = file_get_contents ( $file ); return 'data:image/'.$type[1].';base64,'.base64_encode( $content ); } + +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; +} ?> diff --git a/page/konto/profil_include/nickpage.php b/page/konto/profil_include/nickpage.php index 0602491..5115787 100644 --- a/page/konto/profil_include/nickpage.php +++ b/page/konto/profil_include/nickpage.php @@ -68,7 +68,7 @@ </tr> </table> <div class="text-center"> - <input type="submit" name="runaendern_nickpage]" class="btn btn-success" value="Speichern"> + <input type="submit" name="run[aendern_nickpage]" class="btn btn-success" value="Speichern"> </div> </form> -- GitLab