<?php
require_once('session/start.php');
require_once('vmail.php');
require_once('mailaccounts.php');
require_role([ROLE_VMAIL_ACCOUNT, ROLE_MAILACCOUNT]);
$role = $_SESSION['role'];
title("Passwort ändern");
if (isset($_POST['password1']) && $_POST['password1'] != '') {
$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 ({$check})!");
} else {
if ($role & ROLE_VMAIL_ACCOUNT) {
DEBUG("Ändere VMail-Passwort");
change_vmail_password($accname, $_POST['password1']);
success_msg('Ihr Passwort wurde geändert!');
} elseif ($role & ROLE_MAILACCOUNT) {
DEBUG("Ändere IMAP-Passwort");
change_mailaccount(get_mailaccount_id($accname), ['password' => $_POST['password1']]);
success_msg('Ihr Passwort wurde geändert!');
}
redirect('/');