modules/email/chpass.php
35c1b3ec
 <?php
 
 require_once('session/start.php');
 require_once('vmail.php');
3000accf
 require_once('mailaccounts.php');
35c1b3ec
 
3000accf
 require_role(array(ROLE_VMAIL_ACCOUNT, ROLE_MAILACCOUNT));
35c1b3ec
 
3000accf
 $role = $_SESSION['role'];
35c1b3ec
 
 $title = "Passwort ändern";
 
3000accf
 
 
35c1b3ec
 if ($_POST['password1'] != '')
 {
3000accf
   $accname = '';
   if ($role & ROLE_VMAIL_ACCOUNT)
   {
     $accname = $_SESSION['accountname'];
   }
   elseif ($role & ROLE_MAILACCOUNT)
   {
     $accname = $_SESSION['mailaccount'];
   }
   check_form_token('email_chpass');
   $result = find_role($accname, $_POST['old_password']);
35c1b3ec
 
   if ($_POST['old_password'] == '')
     input_error('Altes Passwort nicht angegeben!');
   elseif (! $result & ROLE_VMAIL_ACCOUNT)
     input_error('Das bisherige Passwort ist nicht korrekt!');
   elseif ($_POST['password2'] != $_POST['password1'])
     input_error('Die Bestätigung ist nicht identisch mit dem neuen Passwort!');
   elseif ($_POST['password2'] == '')
     input_error('Sie müssen das neue Passwort zweimal eingeben!');
   elseif (($check = strong_password($_POST['password1'])) !== true)
     input_error("Das Passwort ist zu einfach (cracklib sagt: {$check})!");
   else {
3000accf
     if ($role & ROLE_VMAIL_ACCOUNT)
     {
       DEBUG("Ändere VMail-Passwort");
       change_vmail_password($accname, $_POST['password1']);
     }
     elseif ($role & ROLE_MAILACCOUNT)
     {
       DEBUG("Ändere IMAP-Passwort");
       change_mailaccount(get_mailaccount_id($accname), array('password' => $_POST['password1']));
     }
35c1b3ec
     if (! $debugmode)
63a0529b
       header('Location: chpass');
35c1b3ec
     else
       output('');
   }
 }
 
 
 
 output('<h3>Passwort ändern</h3>
 <p>Hier können Sie Ihr Passwort ändern.</p>
63a0529b
 '.html_form('email_chpass', 'chpass', '', '<table>
35c1b3ec
   <tr>
     <td>bisheriges Passwort:</td>  <td><input type="password" name="old_password" value="" /></td>
   </tr>
   <tr>
     <td>neues Passwort:</td>       <td><input type="password" name="password1" value="" /></td>
   </tr>
   <tr>
     <td>Bestätigung:<br /><span style="font-size: 80%;">(nochmal neues Passwort)</span></td>
                                    <td><input type="password" name="password2" value="" /></td>
   </tr>
 </table>
 <p><input type="submit" value="Speichern" /></p>
 '));