<?php
require_once('session/start.php');
require_once('vmail.php');
require_once('mailaccounts.php');
require_role(array(ROLE_VMAIL_ACCOUNT, ROLE_MAILACCOUNT));
$role = $_SESSION['role'];
$title = "Passwort ändern";
if ($_POST['password1'] != '')
{
$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']);
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 {
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']));
}
if (! $debugmode)
header('Location: chpass.php');