modules/index/validate_token.php
defbfa55
 <?php
 $title = "Passwort beantragen";
 
 $show = 'token';
 
 if (isset($_REQUEST['customerno']) and isset($_REQUEST['token']))
 {
   $customerno = (int) $_REQUEST['customerno'];
   $token = $_REQUEST['token'];
   
   require_once('newpass.php');
a78147ca
   require_once('inc/security.php');
defbfa55
   if (validate_token($customerno, $token))
   {
     $show = 'password';
     if (isset($_POST['password']))
     {
       if ($_POST['password'] != $_POST['password2'])
         input_error("Die beiden Passwort-Eingaben stimmen nicht überein.");
       elseif ($_POST['password'] == '')
         input_error("Es kann kein leeres Passwort gesetzt werden");
a78147ca
       elseif (($result = strong_password($_POST['password'])) !== true)
         input_error("Das Passwort ist zu einfach (cracklib sagt: {$result})!");
defbfa55
       else
       {
         require_once('session/checkuser.php');
fb92f399
         require_once('inc/base.php');
63a0529b
         logger("modules/index/validate_token", "pwrecovery", "customer »{$customerno}« set a new password");
defbfa55
         set_customer_password($customerno, $_POST['password']);
         success_msg('Das Passwort wurde gesetzt!');
3477e99f
         set_customer_verified($customerno);
         set_customer_lastlogin($customerno);
defbfa55
         invalidate_customer_token($customerno);
cd1c9de9
         $_SESSION['role'] = ROLE_CUSTOMER;
         $_SESSION['customerinfo'] = get_customer_info($customerno);
defbfa55
         output('<h3>Passwort gesetzt</h3>
63a0529b
         <p>Ihr neues Passwort wurde gesetzt, Sie können jetzt '.internal_link("index", "die Web-Oberfläche sofort benutzen").'.</p>');
defbfa55
         $show = NULL;
       }
     }
   }
   else
   {
fa6baaae
     input_error("Der eingegebene Code war nicht korrekt. Bitte benutzen Sie die Kopieren &amp; Einfügen-Operation!");
defbfa55
   }
 }
 
 if ($show == 'password')
 {
   output('<h3>Neues Passwort setzen</h3>
   <p>Bitte legen Sie jetzt Ihr neues Kunden-Passwort fest.</p>
   <form action="" method="post">
b2f2617a
   <p style="display: none"><input type="hidden" name="customerno" value="'.$customerno.'" />
   <input type="hidden" name="token" value="'.$token.'" /></p>
defbfa55
   <p><span class="login_label">Neues Passwort:</span> <input type="password" name="password" size="30" /></p>
   <p><span class="login_label">Bestätigung:</span> <input type="password" name="password2" size="30" /></p>
ec0c81a8
   <p><span class="login_label">&#160;</span> <input type="submit" value="Passwort setzen" /></p>
defbfa55
   </form>');
 }
 elseif ($show == 'token')
 {
   output('<h3>Neues Passwort setzen</h3>
fa6baaae
   <p>Bitte geben Sie Ihre Kundennummer und den per E-Mail zugeschickten Code ein. Alternativ können sie den Link aus der E-Mail direkt aufrufen.</p>
defbfa55
   <form action="" method="post">
   <p><span class="login_label">Kundennummer:</span> <input type="text" name="customerno" size="30" /></p>
fa6baaae
   <p><span class="login_label">Code:</span> <input type="text" name="token" size="30" /></p>
ec0c81a8
   <p><span class="login_label">&#160;</span> <input type="submit" value="Überprüfen" /></p>
defbfa55
   </form>');
 }
 
 
 ?>