" in > oder "/" in / { $string = htmlentities($string, ENT_QUOTES | ENT_IGNORE, "UTF-8"); return $string; } function dbanz($t, $c, $s){ $sel = ''; $anz = ''; $p = ''; if($c != '' && $s != ''){ $p = "Where $c = '$s'"; } $sel = mysql_query("Select * From ".DB."_$t $p"); $anz = mysql_num_rows($sel); return $anz; } function dbout($i, $j, $t, $db){ // (Welche Spalte soll ausgegeben werden, Spaltenname, Gewuenschter Wert, Tabellenname) $select = mysql_query("Select * From ".DB."_$db Where $j = '$t'"); $out = mysql_fetch_array($select); $out = $out[$i]; return $out; } function mainout($i){ $select = mysql_query("Select * From ".DB."_main Where id = '1'"); $out = mysql_fetch_array($select); $out = $out[$i]; return $out; } function userout($i){ $select = mysql_query("Select * From ".DB."_user Where id = '".$_SESSION['userses']."'"); $out = mysql_fetch_array($select); $out = $out[$i]; return $out; } function pass_conrtol($string){ $str_anz = ""; $pw_ok = ""; $str_anz = strlen($string); $pw_ok = false; if($str_anz >= mainout('minpwlength')) $pw_ok = true; return $pw_ok; } function this_domain(){ return $_SERVER["HTTP_HOST"]; } function site_title(){ return mainout('title'); } function checker($a, $b, $c){ if($a == $b){ if($c == 1){ return 'checked'; } return 'selected'; } else { return ''; } } function generate($length) { $dummy = array_merge(range('0', '9'), range('a', 'z'), range('A', 'Z')); mt_srand((double)microtime() * 1000000); for($i = 1; $i <= (count($dummy)*2); $i++) { $swap = mt_rand(0, count($dummy)-1); $tmp = $dummy[$swap]; $dummy[$swap] = $dummy[0]; $dummy[0] = $tmp; } $dummy = substr(implode('', $dummy), 0, $length); return $dummy; } function isvalid($code){ $look = mysql_query("Select * From ".DB."_user Where actlink = '$code'"); $menge = mysql_num_rows($look); if($menge == 0){ return true; } else { return false; } } function getCode($length = 40){ $code = generate($length); while(!isvalid($code)){ $code = generate($length); } return $code; } function maininclude(){ $o = ""; $p = ""; $s = ""; $sel = ""; $p = length(isset($_GET['p']) ? $_GET['p'] : '', 32); $s = array(); $s[] = 'home'; $s[] = 'blog-post'; $s[] = 'about'; $s[] = '404'; $s[] = 'contact'; $s[] = 'blog-home-1'; $s[] = 'blog-home-2'; $s[] = 'faq'; $s[] = 'full-width'; $s[] = 'portfolio-1-col'; $s[] = 'portfolio-2-col'; $s[] = 'portfolio-3-col'; $s[] = 'portfolio-4-col'; $s[] = 'portfolio-item'; $s[] = 'pricing'; $s[] = 'services'; $s[] = 'sidebar'; if(!logon()){ // Nur für nicht eingeloggte aufrufbar if(mainout('regist') == 1){ $s[] = 'regist'; } $s[] = 'login'; if(mainout('pwv') == 1){ $s[] = 'pwv'; } } if(logon()){ // Nur für eingeloggte aufrufbar $s[] = 'profil'; } if(userout('rank') == 8){ //Nur für User-Administratoren sichtbar/aufrufbar $s[] = 'useradm'; } elseif(userout('rank') == 9){ //Nur für Administratoren sichtbar/aufrufbar $s[] = 'admmain'; $s[] = 'useradm'; } if(!empty($p)){ if(in_array($p, $s)){ if(file_exists('./include/'.$p.'.php')){ $o = $p; } else { $o = '404'; } } else { $o = '404'; } } else { $o = 'home'; } return $o.'.php'; } function errormail($message){ $subject = 'Fehler auf deiner Homepage'; $message = sondertext($message); $header = "From: ".site_title()."\r\n"; $header .= "Reply-To:"."\r\n"; $header .= "Mime-Version: 1.0"."\r\n"; $header .= "Content-Type: text/html; charset=utf-8"."\r\n"; $header .= "Content-Transfer-Encoding: quoted-printable"."\r\n"; $header .= "X-Mailer: PHP v".phpversion(); mail(mainout('adminmail'), $subject, $message, $header); } /* Loginsystem ********************************************/ function login(){ $user = length(isset($_POST['user']) ? $_POST['user'] : '', 60); $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); $passwd = length(isset($_POST['password']) ? $_POST['password'] : '', 50); $save = length(isset($_POST['save']) ? $_POST['save'] : '', 1); $error = NULL; if(!empty($user) && !empty($passwd) && $_SESSION['csrfTokenold'] == $csrf){ if(dbanz('user', 'username', $user) == 1){ if(dbout('activ', 'id', dbout('id', 'username', $user, 'user'), 'user') == 1){ if(dbout('password', 'username', $user, 'user') == pwsalt($passwd)){ $_SESSION['userses'] = dbout('id', 'username', $user, 'user'); if($save == 1){ setcookie('userses1', encodeRand($user), time() + 3600*24*30, '/'); setcookie('userses2', pwsalt($passwd), time() + 3600*24*30, '/'); } header('Location: ./'); exit; } else { $error = 'Username oder Passwort falsch! Bitte versuche es erneut.'; } } else { $error = 'Dieses Konto ist deaktiviert! Aktiviere ihn oder Kontaktiere einen Administrator.'; } } else { $error = 'Username oder Passwort falsch! Bitte versuche es erneut.'; } } else { $error = 'Bitte fülle alle Felder aus!'; } return sondertext($error); } function cookielogin(){ $ses = length(isset($_SESSION['userses']) ? $_SESSION['userses'] : '', 10); $user = decodeRand(length(isset($_COOKIE['userses1']) ? $_COOKIE['userses1'] : '', 200)); $pass = length(isset($_COOKIE['userses2']) ? $_COOKIE['userses2'] : '', 128); if(empty($ses)){ if(!empty($user) && !empty($pass)){ if(dbanz('user', 'username', $user) == 1){ if(dbout('activ', 'id', dbout('id', 'username', $user, 'user'), 'user') == 1){ if(dbout('password', 'username', $user, 'user') == $pass){ $_SESSION['userses'] = dbout('id', 'username', $user, 'user'); } } } } } } function logon(){ $_SESSION['userses'] = isset($_SESSION['userses']) ? $_SESSION['userses'] : ''; if($_SESSION['userses'] != ''){ return true; } else { return false; } } function userlogout(){ $csrf = length(isset($_GET['csrf']) ? $_GET['csrf'] : '', 32); if($csrf == $_SESSION['csrfTokenold']){ setcookie('userses1', '', time() - 1, '/'); setcookie('userses2', '', time() - 1, '/'); unset($_SESSION['userses']); header('Location: ./'); exit; } } function mailer($id, $subject, $message){ $text = 'Hallo '.dbout('username', 'id', $id, 'user').', '.$message.' Mit freundlichen Grüßen '.this_domain().' Team'; $text = nl2br(sondertext($text)); $header = "From: ".site_title()."\r\n"; $header .= "Reply-To:"."\r\n"; $header .= "Mime-Version: 1.0"."\r\n"; $header .= "Content-Type: text/html; charset=utf-8"."\r\n"; $header .= "Content-Transfer-Encoding: quoted-printable"."\r\n"; $header .= "X-Mailer: PHP v".phpversion(); mail(dbout('email', 'id', $id, 'user'), $subject, $text, $header); } function regist(){ $user = length(isset($_POST['username']) ? $_POST['username'] : '', 30); $pass = length(isset($_POST['password']) ? $_POST['password'] : '', 50); $pwco = length(isset($_POST['passwordconfirm']) ? $_POST['passwordconfirm'] : '', 50); $capt = length(isset($_POST['captcha']) ? $_POST['captcha'] : '', 4); $mail = length(isset($_POST['email']) ? $_POST['email'] : '', 60); $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); $error = isset($error) ? $error : ''; $actlink = getCode(32); $link = 'http://'.this_domain().'/'.mainout('pfad').'?v='.$actlink; if(!empty($user) && !empty($pass) && !empty($pwco) && !empty($mail) && !empty($capt) && $csrf == $_SESSION['csrfTokenold']){ if(md5($capt) == $_SESSION['random_txt']){ unset($capt, $_SESSION['random_txt']); if(check_email($mail)){ if(pwsalt($pass) == pwsalt($pwco)){ if(pass_conrtol($pass)){ if(dbanz('user', 'username', $user) == 0){ if(mainout('activ') == 0){ $activ = 1; } else { $activ = 0; } $insert = mysql_query("Insert Into ".DB."_user (`id`, `username`, `password`, `email`, `activ`, `rank`, `actlink`) Values ('', '$user', '".pwsalt($pass)."', '$mail', '$activ', '1', '$actlink')"); if($insert){ if(mainout('activ') == 1){ $subject = 'Konto aktivieren'; $message = 'Hallo '.$user.', du hast dich soeben erfolgreich auf "www.'.this_domain().'/'.mainout('pfad').'" registriert. Klicke auf den folgenden Link um dein Konto zu aktivieren. '.$link; $header = "From:".site_title()."\r\n"; $header .= "Reply-To: ".mainout('adminmail')."\r\n"; $header .= "Mime-Version: 1.0"."\r\n"; $header .= "Content-Type: text/html;"."\r\n"; $header .= "X-Mailer: PHP v".phpversion(); if(mail($mail, $subject, nl2br(sondertext($message)), $header)){ header('Location: ./?p=login&h=mlactiv'); exit; } else { $error = 'Fehler beim senden der E-Mail! Bitte warten Sie bis der Administartor Sie freischaltet.'; errormail('Fehler beim versenden einer Aktivierungs-Mail. Aktiviere bitte folgenden User: '.$user.' E-Mail: '.$mail); } } elseif(mainout('activ') == 2){ $subject = 'Konto aktivieren'; $message = 'Hallo, soeben hat sich ein Besucher auf deiner Webseite ein Konto erstellt. Aktiviere den folgenden User: '.$user; $header = "From:".site_title()."\r\n"; $header .= "Reply-To: "."\r\n"; $header .= "Mime-Version: 1.0"."\r\n"; $header .= "Content-Type: text/plain; charset=utf-8"."\r\n"; $header .= "Content-Transfer-Encoding: quoted-printable"."\r\n"; $header .= "X-Mailer: PHP v".phpversion(); mail(mainout('adminmail'), $subject, $message, $header); header('Location: ./?p=login&h=adactiv'); exit; } header('Location: ./?p=login&h=activ'); } else { $error = 'Fehler beim erstellen des Kontos! Bitte versuche Sie es zu einem späterem Zeitpunkt erneut.'; errormail('MySQL-Fehler im Regestrierungsscript! Bitte überprüfe das Script. Funktion "regist()"'); } } else { $error = 'Dieser Username exestiert bereits! Bitte wähle einen anderen.'; } } else { $error = 'Das Passwort ist zu kurz! Bitte wähle ein Passwort mit mindestens '.mainout('minpwlength').' Zeichen.'; } } else { $error = 'Die Passwörter stimmen nicht überein!'; } } else { $error = 'Dies ist eine ungültige E-Mail Adresse!'; } } else { $error = 'Du hast einen falschen Sicherheitscode eingegeben!'; } } else { $error = 'Du must alle Felder ausfüllen, damit du dir einen Account erstellen kannst!'; } return sondertext($error); } function userpwv(){ $email = length(isset($_POST['email']) ? $_POST['email'] : '', 60); $user = length(isset($_POST['username']) ? $_POST['username'] : '', 30); $code = length(isset($_POST['captcha']) ? $_POST['captcha'] : '', 4); $pwv = length(isset($_POST['login']) ? $_POST['login'] : '', 1); $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); $error = NULL; $actlink = getCode(32);; if($pwv == 1 && !logon()){ if(!empty($email) && !empty($user) && !empty($code) && $csrf == $_SESSION['csrfTokenold']){ if(dbanz('user', 'email', $email) != 0 && dbanz('user', 'username', $user) == 1){ if(md5($code) == $_SESSION['random_txt']){ unset($code, $_SESSION['random_txt']); $sel = mysql_query("Select * From ".DB."_user Where username='$user' AND email='$email'"); $out = mysql_fetch_array($sel); if(empty($out['actlink'])){ $up = mysql_query("Update ".DB."_user Set actlink = '$actlink ' Where id = '".dbout('id', 'username', $user, 'user')."'"); } $timestamp = time(); $update = mysql_query("Update ".DB."_user Set pwv = '$timestamp' Where id = '".dbout('id', 'username', $user, 'user')."'"); if($update){ $sel = mysql_query("Select * From ".DB."_user Where username='$user' AND email='$email'"); $out = mysql_fetch_array($sel); $link = 'http://'.this_domain().'/'.mainout('pfad').'?p=pwv&g='.$out['actlink']; $subject = 'Passwort vergessen'; $message = 'Hallo '.$user.', du hast dein Passwort vergessen, klicke auf den folgenden Link und wähle dein neues Passwort: '.$link.' Dieser Link ist nur 2 Tage gültig!'; $header = "From:".site_title()."\r\n"; $header .= "Reply-To: ".mainout('adminmail')."\r\n"; $header .= "Mime-Version: 1.0"."\r\n"; $header .= "Content-Type: text/html;"."\r\n"; $header .= "X-Mailer: PHP v".phpversion(); if(mail($email, $subject, nl2br(sondertext($message)), $header)){ header('Location: ./?p=login&h=pwv'); exit; } else { $error = 'Fehler beim senden der E-Mail! Bitte warten Sie bis der Administartor Sie freischaltet.'; errormail('Fehler beim versenden einer Passwort vergessen E-Mail. Bitte schaue nach dem Fehler!'); } } else { $error = 'Fehler beim erstellen des Links! Bitte versuchen Sie es zu einem späteren Zeitpunkt erneut.'; errormail('MySQL Fehler beim Passwort vergessen Formular! Funktion "userpwv()"'); } } else { $error = 'Du hast einen falschen Sicherheitscode eingegeben!'; } } else { $error = 'Der Account konnte nicht gefunden werden! Überprüfe E-Mail und Username.'; } } else { $error = 'Bitte fülle alle Felder aus!'; } } return sondertext($error); } function pwv_form(){ $link = length(isset($_GET['g']) ? $_GET['g'] : '', 50); $act = $link; $user = mysql_query("Select * From ".DB."_user Where actlink = '$act'"); if($user) $meng = mysql_num_rows($user); $out = mysql_fetch_array($user); if($meng == 1 && time() < $out['pwv'] + 3600*48){ return true; } else { return false; } } function pwv_edit(){ $user = length(isset($_POST['username']) ? $_POST['username'] : '', 30); $mail = length(isset($_POST['email']) ? $_POST['email'] : '', 60); $pass = length(isset($_POST['pw1']) ? $_POST['pw1'] : '', 30); $pasc = length(isset($_POST['pw2']) ? $_POST['pw2'] : '', 30); $capt = length(isset($_POST['captcha']) ? $_POST['captcha'] : '', 4); $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); $pwv = length(isset($_POST['regist']) ? $_POST['regist'] : '', 1); if($pwv == 1 && pwv_form()){ if(!empty($user) && !empty($mail) && !empty($pass) && !empty($pasc) && !empty($capt) && $csrf == $_SESSION['csrfTokenold']){ if(md5($capt) == $_SESSION['random_txt']){ unset($capt, $_SESSION['random_txt']); if(check_email($mail)){ if(md5($pass) == md5($pasc)){ if(dbanz('user', 'email', $mail) != 0 && dbanz('user', 'username', $user) == 1){ if(time() < dbout('pwv', 'username', $user, 'user') + 3600*48){ $change = mysql_query("Update ".DB."_user Set password = '".pwsalt($pass)."' Where username = '$user' AND email = '$mail'"); if($change){ header('Location: ./?p=login&h=pwvchange'); exit; } else { $error = 'Fehler beim ändern des Passwortes! Bitte versuche es zu einem späterem Zeitpunkt erneut.'; errormail('MySQL Fehler beim Passwort ändern! Funktion "pwv_edit()"'); } } else { $error = 'Dieser Link ist abgelaufen! Bitte fülle das Passwort vergessen Formular erneut aus.'; } } else { $error = 'Dieser User existiert nicht!'; } } else { $error = 'Die Passwörter stimmen nicht überein!'; } } else { $error = 'Ungültige E-Mail Adresse! Bitte versuche es erneut.'; } } else { $error = 'Du hast einen falschen Sicherheitscode eingegeben!'; } } else { $error = 'Bitte fülle alle Felder aus!'; } } return sondertext($error); } function useractivate(){ $v = length(isset($_GET['v']) ? $_GET['v'] : '', 32); $error = NULL; if(!empty($v)){ if(dbanz('user', 'actlink', $v) == 1){ $update = mysql_query("Update ".DB."_user Set activ = '1' Where id = '".dbout('id', 'actlink', $v, 'user')."'"); if($update){ header('Location: ./?p=login&h=userenable'); exit; } else { $error = 'Fehler beim aktivieren! Bitte versuchen Sie es zu einem späteren Zeitpunkt erneut.'; errormail('MySQL Fehler beim aktivieren eines Users via Link! Funktion "useractivate()"'); } } } return sondertext($error); } function pwchange(){ $pw = length(isset($_POST['pw']) ? $_POST['pw'] : '', 50); $pwc = length(isset($_POST['pwconfirm']) ? $_POST['pwconfirm'] : '', 50); $pwa = length(isset($_POST['aktpw']) ? $_POST['aktpw'] : '', 50); $pwh = length(isset($_POST['pwchange']) ? $_POST['pwchange'] : '', 1); $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); $error = ''; if($pwh == 1 && $csrf == $_SESSION['csrfTokenold']){ if(!empty($pw) && !empty($pwc) && !empty($pwa)){ if(pwsalt($pw) == pwsalt($pwc)){ if(pass_conrtol($pw)){ if(userout('password') == pwsalt($pwa)){ if(userout('password') != pwsalt($pw)){ $change = mysql_query("Update ".DB."_user Set password = '".pwsalt($pw)."' Where id = '".userout('id')."'"); if($change){ header('Location: ./?p=profil&h=pwchange'); exit; } else { $error = 'Fehler beim ändern des Passwortes! Bitte versuchen Sie es zu einem späterem Zeitpunkt erneut.'; errormail('MySQL Fehler in "Passwort ändern", Funktion "pwchange()"'); } } } else { $error = 'Falsches Passwort! Versuchen Sie es erneut.'; } } else { $error = 'Das Passwort ist zu kurz! Bitte wähle ein Passwort mit mindestens '.mainout('minpwlength').' Zeichen.'; } } else { $error = 'Die Passwörter stimmen nicht überein!'; } } else { $error = 'Bitte fülle alle Felder aus!'; } } return sondertext($error); } function mailchange(){ $mail = length(isset($_POST['em']) ? $_POST['em'] : '', 60); $emco = length(isset($_POST['emconfirm']) ? $_POST['emconfirm'] : '', 60); $pwak = length(isset($_POST['aktpw']) ? $_POST['aktpw'] : '', 30); $emch = length(isset($_POST['emchange']) ? $_POST['emchange'] : '', 1); $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); $error = ''; if($emch == 1 && $csrf == $_SESSION['csrfTokenold']){ if(userout('password') == pwsalt($pwak)){ if(md5($mail) == md5($emco)){ if(check_email($mail)){ if($mail != userout('email')){ $change = mysql_query("Update ".DB."_user Set email = '$mail' Where id = '".userout('id')."'"); if($change){ header('Location: ./?p=profil&h=mailchange'); exit; } else { $error = 'Fehler beim ändern der E-Mail! Bitte versuchen Sie es zu einem späterem Zeitpunkt erneut.'; errormail('MySQL Fehler in "E-Mail ändern", Funktion "mailchange()"'); } } } else { $error = 'Das ist eine ungültige E-Mail Adresse!'; } } else { $error = 'Die E-Mail Adressen stimmen nicht überein!'; } } else { $error = 'Falsches Passwort! Versuchen Sie es erneut.'; } } return sondertext($error); } function mainsave(){ $title = length(isset($_POST['title']) ? $_POST['title'] : '', 100); $email = length(isset($_POST['email']) ? $_POST['email'] : '', 60); $pfad = length(isset($_POST['pfad']) ? $_POST['pfad'] : '', 200); $regist = length(isset($_POST['regist']) ? $_POST['regist'] : '', 1); $pwv = length(isset($_POST['pwv']) ? $_POST['pwv'] : '', 1); $activ = length(isset($_POST['activ']) ? $_POST['activ'] : '', 1); $minpw = length(isset($_POST['minpwlength']) ? $_POST['minpwlength'] : '3', 2); $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); if(userout('rank') == 9){ if(!empty($title) && !empty($email) && $csrf == $_SESSION['csrfTokenold']){ if(check_email($email)){ $update = mysql_query("Update ".DB."_main Set title = '$title', minpwlength = '$minpw', pfad = '$pfad', adminmail = '$email', regist = '$regist', activ = '$activ', pwv = '$pwv' Where id = '1'"); if($update){ header('Location: ./?p=admmain&h=mainsave'); exit; } else { $error = 'Fehler beim speichern der Einstellungen! Bitte überprüfe das Script!'; errormail('MySQL Fehler in der Funktion "mainsave()"'); } } else { $error = 'Das ist eine ungültige E-Mail Adresse!'; } } else { $error = 'Es müssen alle Felder bis auf "Pfad" ausgefüllt sein!'; } } return sondertext($error); } function user_add(){ $user = length(isset($_POST['username']) ? $_POST['username'] : '', 30); $pass = length(isset($_POST['passwd']) ? $_POST['passwd'] : '', 50); $pwco = length(isset($_POST['passwd_confirm']) ? $_POST['passwd_confirm'] : '', 50); $rank = length(isset($_POST['rank']) ? $_POST['rank'] : '', 1); $mail = length(isset($_POST['email']) ? $_POST['email'] : '', 64); $error = isset($error) ? $error : ''; if(!empty($user) && !empty($pass) && !empty($pwco) && !empty($mail)){ if(check_email($mail)){ if(pwsalt($pass) == pwsalt($pwco)){ if(pass_conrtol($pass)){ if(dbanz('user', 'username', $user) == 0){ $actlink = getCode(32); if(mysql_query("Insert Into ".DB."_user (`username`, `password`, `email`, `activ`, `rank`, `actlink`) Values ('$user', '".pwsalt($pass)."', '$mail', '1', '$rank', '$actlink')")){ header('Location: ./?p=useradm&h=add_new_user_success'); exit(); } else { $error = 'Fehler beim anlegen des Benutzers in die Datenbank!'; errormail('MySQL-Fehler in user_add()'); } } else { $error = 'Dieser Benutzername existiert bereits! Bitte wähle einen anderen...'; } } else { $error = 'Das Passwort ist zu kurz! Bitte wähle ein Passwort mit mindestens '.mainout('minpwlength').' Zeichen.'; } } else { $error = 'Die Passwörter stimmen nicht überein!'; } } else { $error = 'Dies ist eine ungültige E-Mail Adresse!'; } } else { $error = 'Du must alle Felder ausfüllen, damit du einen Benutzer anlegen zu können!'; } return sondertext($error); } function userlist(){ $outp = NULL; $sel = mysql_query("Select * From ".DB."_user Order by rank Desc"); while($out = mysql_fetch_array($sel)){ $user = $out['username']; $email = $out['email']; $id = $out['id']; if($out['activ'] == 0){ $activ = ''; } else { $activ = ''; } $outp.= ' #'.$id.' '.$user.' '.$email.' '.$activ.' | | '; } return $outp; } function ranks($rank){ $ranks = array(); $ranks[0] = 'Mitglied'; $ranks[1] = 'Mitglied'; $ranks[2] = 'Mitglied'; $ranks[3] = 'Mitglied'; $ranks[4] = 'Mitglied'; $ranks[5] = 'Mitglied'; $ranks[6] = 'Mitglied'; $ranks[7] = 'Mitglied'; $ranks[8] = 'User-Administrator'; $ranks[9] = 'Administrator'; return $ranks[$rank]; } function useredit(){ $user = length(isset($_POST['id']) ? $_POST['id'] : '', 10); $uname = length(isset($_POST['username']) ? $_POST['username'] : '', 30); $rank = length(isset($_POST['rank']) ? $_POST['rank'] : '', 1); $edit = length(isset($_POST['edit']) ? $_POST['edit'] : '', 1); $error = NULL; $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); if($edit == 1 && !empty($user) && userout('rank') >= 8 && $csrf == $_SESSION['csrfTokenold']){ if(!empty($uname)){ if(dbout('username', 'id', $user, 'user') == $uname){ if(dbout('rank', 'id', $user, 'user') != $rank){ $change = mysql_query("Update ".DB."_user Set rank = '$rank' Where id = '$user'"); if($change){ header('Location: ./?p=useradm&h=useredit&f=open&id='.$user); exit; } else { $error = 'Fehler beim ändern des Ranges!'; errormail('MySQL Fehler bei User bearbeiten, Function "useredit()"'); } } } else { if(dbanz('user', 'username', $uname) == 0){ if(dbout('rank', 'id', $user, 'user') == $rank){ $change = mysql_query("Update ".DB."_user Set username = '$uname' Where id = '$user'"); if($change){ mailer($user, 'Dein Username wurde geändert', 'dein Username wurde soeben vom Administrator in "'.$uname.'" geändert.'); header('Location: ./?p=useradm&f=open&h=useredit&id='.$user); exit; } else { $error = 'Fehler beim ändern des Usernamen!'; errormail('MySQL Fehler bei User bearbeiten, Function "useredit()"'); } } else { $change = mysql_query("Update ".DB."_user Set username = '$uname', rank = '$rank' Where id = '$user'"); if($change){ mailer($user, 'Dein Username wurde geändert', 'dein Username wurde soeben vom Administrator in "'.$uname.'" geändert.'); header('Location: ./?p=useradm&f=open&h=useredit&id='.$user); exit; } else { $error = 'Fehler beim ändern der Userinformationen!'; errormail('MySQL Fehler bei User bearbeiten, Function "useredit()"'); } } } else { $error = 'Dieser Username exestier bereits! Bitte verwende einene anderen.'; } } } else { $error = 'Du musst einen Usernamen eingetragen haben!'; } } return sondertext($error); } function userdelete(){ $id = length(isset($_POST['id']) ? $_POST['id'] : '', 10); $tx = length(isset($_POST['reason']) ? $_POST['reason'] : '', 500); $dl = length(isset($_POST['delete']) ? $_POST['delete'] : '', 1); $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); $error = NULL; if(userout('rank') >= 8 && $dl == 1 && !empty($id) && $csrf == $_SESSION['csrfTokenold']){ if(!empty($tx)){ $email = dbout('email', 'id', $id, 'user'); $uname = dbout('username', 'id', $id, 'user'); $delete = mysql_query("Delete From ".DB."_user Where id = '$id'"); if($delete){ unlink('./users/'.$uname.'.php'); $text = 'Hallo '.$uname.', du wurdest von '.userout('username').' gelöscht. Grund: '.$tx.' Mit freundlichen Grüßen '.userout('username'); $text = nl2br(sondertext($text)); $header = "From: ".site_title()."\r\n"; $header .= "Reply-To:"."\r\n"; $header .= "Mime-Version: 1.0"."\r\n"; $header .= "Content-Type: text/html; charset=utf-8"."\r\n"; $header .= "Content-Transfer-Encoding: quoted-printable"."\r\n"; $header .= "X-Mailer: PHP v".phpversion(); mail($email, 'Dein Konto wurde gelöscht', $text, $header); header('Location: ./?p=useradm&h=userdelete'); exit; } else { $error = 'Fehler beim löschen des Users!'; errormail('Fehler beim löschen eines Users! Funktion "userdelete()"'); } } else { $error = 'Bitte gebe einen Grund an!'; } } return sondertext($error); } function userenable(){ $id = length(isset($_GET['id']) ? $_GET['id'] : '', 10); $c = length(isset($_GET['c']) ? $_GET['c'] : '', 20); $csrf = length(isset($_GET['csrf']) ? $_GET['csrf'] : '', 32); $error = NULL; if($c == 'activ' && dbout('activ', 'id', $id, 'user') == 0 && userout('rank') >= 8 && $csrf == $_SESSION['csrfTokenold']){ $update = mysql_query("Update ".DB."_user Set activ = '1' Where id = '$id'"); if($update){ mailer($id, 'Dein Konto wurde aktiviert', 'dein Konto wurde soeben von einem Administrator aktiviert.'); header('Location: ./?p=useradm&h=userenabled'); exit; } else { $error = 'Fehler beim aktivieren des Users! Bitte versuche es zu einem späteren Zeitpunkt erneut.'; errormail('MySQL Fehler beim aktiviren eines Users! Funktion "userenable()"'); } } return sondertext($error); } function userdisable(){ $id = length(isset($_POST['id']) ? $_POST['id'] : '', 10); $tx = length(isset($_POST['reason']) ? $_POST['reason'] : '', 500); $c = length(isset($_POST['deactiv']) ? $_POST['deactiv'] : '', 1); $csrf = length(isset($_POST['csrf']) ? $_POST['csrf'] : '', 32); $error = NULL; if($c == 1 && userout('rank') >= 8 && !empty($id) && $csrf == $_SESSION['csrfTokenold']){ if(!empty($tx)){ $update = mysql_query("Update ".DB."_user Set activ = '0' Where id = '$id'"); if($update){ mailer($id, 'Dein Konto wurde deaktiviert', 'dein Konto wurde soeben von '.userout('username').' (Administrator) deaktiviert. Grund: '.$tx); header('Location: ./?p=useradm&h=userdisabled'); exit; } else { $error = 'Fehler beim deaktivieren des Users! Bitte versuche es zu einem späteren Zeitpunkt erneut.'; errormail('MySQL Fehler beim deaktiviren eines Users! Funktion "userdisable()"'); } } else { $error = 'Gebe bitte einen Grund an!'; } } return sondertext($error); } function install(){ if(file_exists('./install/')){ unlink('./install/index.php'); unlink('./install/css/style.css'); rmdir('./install/css'); if(rmdir('./install')){ header('Location: ./'); exit; } else { $error = 'Bitte lösche das Installationsverzeichnis!'; } } } ?>