bernd
* Initialisierung der Session-Variablen ausgelagert * Rollen als Bitmaske * Ein user kann mehrere Rollen parallel annehmen * Primärer User erhält auch die Rechte des entsprechenden Kundenaccounts
bernd commited 7da094b at 2007-07-30 13:00:58
<?php
require_once('inc/debug.php');
require_once('inc/security.php');
$title = "Passwort &auml;ndern";
$error = '';
require_role(array(ROLE_SYSTEMUSER, ROLE_CUSTOMER));
if ($_POST['password1'] != '')
{
check_form_token('index_chpass');
$result = NULL;
if ($_SESSION['role'] & ROLE_SYSTEMUSER)
$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&auml;tigung ist nicht identisch mit dem neuen Passwort!');
elseif ($_POST['password2'] == '')
input_error('Sie m&uuml;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']);
elseif ($result === ROLE_CUSTOMER)
set_customer_password($_SESSION['customerinfo']['customerno'], $_POST['password1']);
else
system_failure("WTF?! (\$result={$result})");
if (! $debugmode)
header('Location: index.php');
else
output('');
}
}
if ($_SESSION['role'] & ROLE_SYSTEMUSER)
warning('Beachten Sie: Wenn Sie hier Ihr Passwort ändern, betrifft dies auch Ihr Anmelde-Passwort am Server (SSH).');
output('<h3>Passwort &auml;ndern</h3>
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX