<?php require_once(dirname(__FILE__) . '/common.php'); $xmlrpc = get_xmlrpc(); $user = $xmlrpc->getProxy('user'); global $username; do_header(); $USERID_USERNAME = $username; $tmp = preg_split ('/@/', $USERID_USERNAME); $USERID_DOMAIN = $tmp[1]; $stMessage = ''; $tMessage = ''; $pPassword_admin_text = ''; $pPassword_password_current_text = ''; $pPassword_password_text = ''; $error = 0; if ($_SERVER['REQUEST_METHOD'] == "POST") { //$pPassword_password_text = _("pPassword_password_text"); $fPassword_current = $_POST['fPassword_current']; $fPassword = $_POST['fPassword']; $fPassword2 = $_POST['fPassword2']; $username = $USERID_USERNAME; if(!$user->login($_SESSION['username'], $_POST['fPassword_current'])) { $error = 1; bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale'); textdomain('postfixadmin'); $pPassword_password_current_text = _("You didn't supply your current password!"); bindtextdomain('squirrelmail', SM_PATH . 'locale'); textdomain('squirrelmail'); } $min_length = 0; if(isset($CONF['min_password_length'])) { $min_length = $CONF['min_password_length']; } if (empty ($fPassword) or ($fPassword != $fPassword2) or ($min_length > 0 && strlen($fPassword) < $min_length)) { $error = 1; bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale'); textdomain('postfixadmin'); if(empty($fPassword)) { $pPassword_password_text .= _("The passwords that you supplied are empty!"); } if($fPassword != $fPassword2) { $pPassword_password_text .= _("The passwords that you supplied don't match!"); } if($min_length > 0 && strlen($fPassword) < $min_length) { $pPassword_password_text .= _("The password you supplied is too short!"); } bindtextdomain('squirrelmail', SM_PATH . 'locale'); textdomain('squirrelmail'); } if ($error != 1) { $success = $user->changePassword($fPassword_current, $fPassword); if ($success) { bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale'); textdomain('postfixadmin'); $tMessage = _("Your password has been changed!"); $stMessage = _("Please sign out and log back again with your new password!"); bindtextdomain('squirrelmail', SM_PATH . 'locale'); textdomain('squirrelmail'); } else { bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale'); textdomain('postfixadmin'); $tMessage = _("Unable to change your password!"); bindtextdomain('squirrelmail', SM_PATH . 'locale'); textdomain('squirrelmail'); } } } bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale'); textdomain('postfixadmin'); echo "<table bgcolor=\"$color[0]\" align=\"center\" width=\"95%\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\"> <tr> <td align=\"center\"><b>". _("Options") ." - ". _("Change Password")." </b> <table align=\"center\" width=\"100%\" cellpadding=\"5\" cellspacing=\"0\" border=\"0\"> <tr><td bgcolor=\"$color[4]\" align=\"center\"><br> <table align=\"center\" width=\"95%\" cellpadding=\"4\" cellspacing=\"0\" border=\"0\"><tr> <td bgcolor=\"$color[3]\" align=\"center\"><b>" ._("Change your login password") ."\n </b></td> </tr> <tr> <td bgcolor=\"$color[0]\" align=\"center\"><form name=\"mailbox\" method=\"post\"> <b>$tMessage<b><font color=red><br> <a href=\"../../src/signout.php\" target=\"_top\">$stMessage</a> ".$pPassword_admin_text."\n ".$pPassword_password_current_text."\n ".$pPassword_password_text."\n </b><table width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\"> <tr> <td width=\"37%\"><b>". _("Alias") . ":\n</td> <td width=\"63%\">{$_SESSION['username']}</td> </tr> <tr> <td><b>". _("Password current"). ":\n</td> <td><input type=\"password\" name=\"fPassword_current\" size=\"30\" /></td> </tr> <tr> <td><b>". _("Password new"). ":\n</td> <td><input type=\"password\" name=\"fPassword\" size=\"30\" /></td> </tr> <tr> <td><b>". _("Password new again"). ":\n</td> <td><input type=\"password\" name=\"fPassword2\" size=\"30\" /></td> </tr> <tr> <td> </td> <td><input type=\"submit\" name=\"submit\" value=\"" ._("Change Password") . "\" /></td> <td> </td> </tr> </table> <TT></TT></FORM></td> </tr><tr><td bgcolor=\"$color[4]\" align=\"left\"> </td> </tr></table><BR> </td> </tr></table></td></tr></table>"; bindtextdomain('squirrelmail', SM_PATH . 'locale'); textdomain('squirrelmail'); ?>