<?php
require_once('inc/debug.php');
require_once('inc/security.php');
require_role(array(ROLE_SYSTEMUSER, ROLE_CUSTOMER, ROLE_SUBUSER));
title("Passwort ändern");
$error = '';
if (isset($_POST['password1']))
{
check_form_token('index_chpass');
$result = NULL;
if ($_SESSION['role'] & ROLE_SYSTEMUSER)
if ($_SESSION['role'] & ROLE_SUBUSER)
$result = find_role($_SESSION['subuser'], $_POST['old_password']);
else
$result = find_role($_SESSION['userinfo']['uid'], $_POST['old_password']);
else
$result = find_role($_SESSION['customerinfo']['customerno'], $_POST['old_password']);
if ($result == NULL)
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 ($_POST['old_password'] == '')
input_error('Altes Passwort nicht angegeben!');
elseif (($check = strong_password($_POST['password1'])) !== true)
input_error("Das Passwort ist zu einfach (cracklib sagt: {$check})!");
else
{
if ($result & ROLE_SYSTEMUSER)
set_systemuser_password($_SESSION['userinfo']['uid'], $_POST['password1']);