Advertisement
Guest User

Untitled

a guest
Oct 20th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.47 KB | None | 0 0
  1. <?php
  2.     # # # # # # # # # # # # # # # # #
  3.     # User index.php
  4.    
  5.     # Abfragen ob Besucher sich nicht kürzlich Registriert hat, oder er bereits eingeloggt ist - Anmeldeformular anzeigen
  6.     if(isset($_GET['sub_section']) && !isset($_SESSION[md5(DOMAIN.'REGISTER_SUCCESSFULLY')]) && !isset($_SESSION[md5(DOMAIN.'login')]) && (stripcslashes($_GET['sub_section']) == 'register')) {
  7.         # Registrierungsdaten abfragen & Benutzer ggf. registrieren
  8.         $fail ="&nbsp";
  9.         if(isset($_POST['username'], $_POST['password'], $_POST['confirm_password'], $_POST['email'], $_POST['confirm_email']) && ($_POST['username'] !== '') && ($_POST['password'] !== '') && ($_POST['confirm_password'] !== '') && ($_POST['email'] !== '') && ($_POST['confirm_email'] !== '')) {
  10.             $db_username = mysql::Select("SELECT * FROM ".$db_pref."_accounts WHERE username = '".stripcslashes($_POST['username'])."'","main");
  11.             $db_email = mysql::Select("SELECT * FROM ".$db_pref."_accounts WHERE email = '".stripcslashes($_POST['email'])."'","main");
  12.             if(!preg_match('~\A\S{3,12}\z~', stripcslashes($_POST['username']))) {
  13.                 $fail = 'FAILED_USERNAME';
  14.             } elseif($db_username['result'] == 1) {
  15.                 $fail = 'USER_USES';
  16.             } elseif($db_email['result'] == 1) {
  17.                 $fail = 'EMAIL_USES';
  18.             } elseif(!preg_match('~\A\S{3,12}\z~', stripcslashes($_POST['password']))) {
  19.                 $fail = 'FAILED_PASSWORD';
  20.             } elseif($_POST['password'] !== stripcslashes($_POST['confirm_password'])) {
  21.                 $fail = 'CONFIRM_PASSWORD';
  22.             } elseif(!ereg('[[:alnum:]]{2,4}'.'@'.'([[:alnum:]]{2,4})+.'.'[[:alnum:]]', stripcslashes($_POST['email']))) {
  23.                 $fail = 'FAILED_EMAIL';
  24.             } elseif($_POST['email'] !== stripcslashes($_POST['confirm_email'])) {
  25.                 $fail = 'CONFIRM_EMAIL';
  26.             } else {
  27.                 # Benutzer wurde erfolgreich registriert.
  28.                 #if($settings['mail'] == 'yes') {}
  29.                 #mail();
  30.                 $_SESSION[md5(DOMAIN.'REGISTER_SUCCESSFULLY')] = 'done';
  31.                 mysql::Insert("INSERT INTO ".$db_pref."_accounts SET username = '".mysql_real_escape_string($_POST['username'])."', password = '".hashed($_POST['password'])."', email = '".mysql_real_escape_string($_POST['email'])."'","main");
  32.                 $fail = 'REGISTER_SUCCESSFULLY - ';
  33.             }
  34.         }
  35.         $contents['replace'] = replace(array(  
  36.             '{fail_message}'    =>  $fail
  37.         ), implode('', file('themes/'.$settings->theme.'/user/register.tpl')));
  38.     # Abfragen, ob die URL einen Aktivierungslink ernthält und diesen ggf. auf existenz prüfen
  39.     } elseif(isset($_GET['activated_key']) && !isset($_SESSION[md5(DOMAIN.'login')]) && (stripcslashes($_GET['activated_key']) !== '')) {
  40.             $db_username = mysql::Select("SELECT * FROM ".$db_pref."_accounts WHERE activated_key = '".stripcslashes($_GET['activated_key'])."'","main");
  41.             if($db_username['result'] == 1) {
  42.                 # Benutzer aktivieren, bei existierendem Aktivierungslink und Mail raus schicken.
  43.                 mysql::Update("UPDATE ".$db_pref."_accounts SET activated_key = '1' WHERE id = '".$db_username['object']->id."'","main");
  44.                 @mail();
  45.                 echo $db_username['object']->username.' Ihr Benutzerkonto wurde aktiviert.';
  46.             } elseif(isset($_GET['activated_key']) && !isset($_SESSION[md5(DOMAIN.'login')]) && (stripcslashes($_GET['activated_key']) == 'new')) {
  47.                 echo 'Wir senden Ihnen einen neuen Aktivierungslink';
  48.             } else {
  49.                 # Ausgeben, wenn der Aktivierungslink nicht funktioniert bzw. nicht existiert.
  50.                 echo 'Der Aktivierungslink ist ungültig. Neuen Senden? Email Nicht erhalten?';
  51.             }
  52.     # Formular überprüfen und zusenden eines neuen Passwortes bei Verlust
  53.     } elseif(isset($_GET['sub_section']) && !isset($_SESSION[md5(DOMAIN.'login')]) && (stripcslashes($_GET['sub_section']) == 'lostpw')) {
  54.         if(isset($_POST['mail'], $_POST['submit'])) {
  55.             $db_user = mysql::Select("SELECT * FROM ".$db_pref."_accounts WHERE email = '".stripcslashes($_POST['mail'])."'","main");
  56.             if($db_user['result'] ==1) {
  57.                 # Benutzer einer EMail zusenden, zum neu setzen seines Passwortes
  58.                 @mail();
  59.                 echo $db_user->email.' Ihnen wurde ein Link um Ihr Passwort neu zu setzen zugesandt.';
  60.             } else {
  61.                 # Ausgeben, wenn kein Benutzer mit dieser Email existiert.
  62.                 echo 'Kein Benutzer mit dieser Email gefunden.';
  63.             }
  64.         } else {
  65.             # Das Formular, wenn das Passwort vergessen wurden ist.
  66.             echo 'Formlar';
  67.         }
  68.     # Loginformular, Benutzer kann sich in seinen account anmelden
  69.     } elseif(isset($_GET['sub_section']) && !isset($_SESSION[md5(DOMAIN.'login')]) && (stripcslashes($_GET['sub_section'])== 'login')) {
  70.         # Überprüfen ob Logindaten stimmen und ggf. Benutzer in Konto einloggen
  71.         if(isset($_POST['name'], $_POST['password'], $_POST['submit']) && (stripcslashes($_POST['name']) !=='') && (stripcslashes($_POST['password']) !== '')) {
  72.             $db_logged = mysql::Select("SELECT * FROM ".$db_pref."_accounts WHERE username = '".$_POST['name']."' AND password = '".hashed($_POST['password'])."'","main");
  73.             if($db_logged['result']) {
  74.                 # Benutzer anmelden
  75.                 $fail = 'Willkommen.';
  76.             } else {
  77.                 # Falsche Anmeldedaten bzw. kein Benutzerkonto mit diesen Anmeldedaten.
  78.                 $fail = 'Falsches Passwort oder Benutzername';
  79.             }
  80.         } else {
  81.             # Account Anmeldeformular
  82.         }
  83.         $contents['replace'] = replace(array(  
  84.             '{fail_message}'    =>  $fail
  85.         ), implode('', file('themes/'.$settings->theme.'/user/login.tpl')));
  86.     } else {
  87.         # Account overview, bzw. Account ansehen oder bearbeiten.
  88.         session_destroy();
  89.         $fail = 'Du hast Dich gerade erst Registriert';
  90.         $contents['replace'] = replace(array(  
  91.             '{fail_message}'    =>  $fail
  92.         ), implode('', file('themes/'.$settings->theme.'/user/login.tpl')));
  93.     }
  94. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement