function CheckCurrentPasswd($curpasswd, $uname, $domain) {
global $CONFIG, $_SESSION, $OUTPUT;
$sql = "SELECT password FROM virtual_users WHERE user = '$uname' AND domain_id = '$domain'"; $result = mysql_query($sql); $row = mysql_fetch_array($result);
if (CheckCurrentPasswd($curpasswd, $uname, $domain) == true) {
$sql_update = "UPDATE virtual_users SET password = ENCRYPT('$newpasswd') WHERE user = '$uname' AND domain_id = '$domain'"; $result_update = mysql_query($sql_update);
if (!$attrib['id']) $attrib['id'] = 'rcmSavepassword';
// allow the following attributes to be added to the <table> tag $attrib_str = create_attrib_string($attrib, array('style', 'class', 'id', 'cellpadding', 'cellspacing', 'border', 'summary'));
// return the complete edit form as table $out = "$form_start<table" . $attrib_str . ">\n\n";
// show current password field $field_id = 'curpasswd'; $input_curpasswd = new passwordfield(array('name' => '_curpasswd', 'id' => $field_id, 'size' => 30));
# Replace Line 264 with this.enable_command('preferences', 'identities', 'save', 'folders', 'passwd', true);
# Insert after Line 274 if (this.env.action=='passwd' || this.env.action=='save-passwd') { var input_curpasswd = rcube_find_object('_curpasswd'); var input_newpasswd = rcube_find_object('_newpasswd'); var input_confpasswd = rcube_find_object('_confpasswd'); if (input_curpasswd && input_curpasswd.value=='') input_curpasswd.focus(); else if (input_confpasswd) input_confpasswd.focus();
this.enable_command('save-passwd', true); }
# Insert after old Line 932 new Line 945 break;
case 'passwd': this.goto_url('passwd'); break;
case 'save-passwd': var input_curpasswd = rcube_find_object('_curpasswd'); var input_newpasswd = rcube_find_object('_newpasswd'); var input_confpasswd = rcube_find_object('_confpasswd'); if (input_curpasswd && input_curpasswd.value=='') { alert(this.get_label('nocurrentpassword')); input_curpasswd.focus(); } else if ((input_newpasswd && input_newpasswd.value=='') && (input_confpasswd && input_confpasswd.value=='')) { alert(this.get_label('nopassword')); input_newpasswd.focus(); } else if ((input_newpasswd && input_confpasswd) && ( input_newpasswd.value != input_confpasswd.value)) { alert(this.get_label('passwordinconsistency')); input_newpasswd.focus(); } else this.gui_objects.editform.submit();
# Replace Line 264 with this.enable_command('preferences', 'identities', 'save', 'folders', 'passwd', true);
# Insert after Line 274 if (this.env.action=='passwd' || this.env.action=='save-passwd') { var input_curpasswd = rcube_find_object('_curpasswd'); var input_newpasswd = rcube_find_object('_newpasswd'); var input_confpasswd = rcube_find_object('_confpasswd'); if (input_curpasswd && input_curpasswd.value=='') input_curpasswd.focus(); else if (input_confpasswd) input_confpasswd.focus();
this.enable_command('save-passwd', true); }
# Insert after old Line 932 new Line 945 break;
case 'passwd': this.goto_url('passwd'); break;
case 'save-passwd': var input_curpasswd = rcube_find_object('_curpasswd'); var input_newpasswd = rcube_find_object('_newpasswd'); var input_confpasswd = rcube_find_object('_confpasswd'); if (input_curpasswd && input_curpasswd.value=='') { alert(this.get_label('nocurrentpassword')); input_curpasswd.focus(); } else if ((input_newpasswd && input_newpasswd.value=='') && (input_confpasswd && input_confpasswd.value=='')) { alert(this.get_label('nopassword')); input_newpasswd.focus(); } else if ((input_newpasswd && input_confpasswd) && ( input_newpasswd.value != input_confpasswd.value)) { alert(this.get_label('passwordinconsistency')); input_newpasswd.focus(); } else this.gui_objects.editform.submit();