*/ $rel_path = '../'; define('POSTFIXADMIN_LOGOUT', 1); require_once "../common.php"; if ($_SERVER['REQUEST_METHOD'] == "POST") { $lang = safepost('lang'); $fUsername = trim(safepost('fUsername')); $fPassword = safepost('fPassword'); if ($lang != check_language(0)) { # only set cookie if language selection was changed setcookie('lang', $lang, time() + 60 * 60 * 24 * 30); # language cookie, lifetime 30 days # (language preference cookie is processed even if username and/or password are invalid) } $h = new MailboxHandler(); if ($h->login($fUsername, $fPassword)) { session_regenerate_id(); $_SESSION['sessid'] = array(); $_SESSION['sessid']['roles'] = array(); $_SESSION['sessid']['roles'][] = 'user'; $_SESSION['sessid']['username'] = $fUsername; $_SESSION['PFA_token'] = md5(uniqid(rand(), true)); header("Location: main.php"); exit; } else { error_log("PostfixAdmin login failed (username: {$fUsername})"); flash_error($PALANG['pLogin_failed']); } } $smarty->assign('language_selector', language_selector(), false); $smarty->assign('smarty_template', 'login');
/** * @param string $username * @param string $password * @return boolean true if successful. */ public function login($username, $password) { $uh = new MailboxHandler(); # $_SESSION['sessid']['username']); return $uh->login($username, $password); }
if (isset($_POST['fCancel'])) { header("Location: main.php"); exit(0); } $fPassword_current = $_POST['fPassword_current']; $fPassword = $_POST['fPassword']; $fPassword2 = $_POST['fPassword2']; $error = 0; $validpass = validate_password($fPassword); if (count($validpass) > 0) { flash_error($validpass[0]); # TODO: honor all error messages, not only the first one $error += 1; } $mh = new MailboxHandler(); if (!$mh->login($username, $fPassword_current)) { $error += 1; $pPassword_password_current_text = $PALANG['pPassword_password_current_text_error']; } if (empty($fPassword) or $fPassword != $fPassword2) { $error += 1; $pPassword_password_text = $PALANG['pPassword_password_text_error']; } if ($error == 0) { $mh->init($username); # TODO: error handling if ($mh->change_pw($fPassword, $fPassword_current)) { flash_info(Config::Lang_f('pPassword_result_success', $username)); header("Location: main.php"); exit(0); } else {