$err = true;
}
+ // check if the old password was supplied correctly before
+ // changing it to the new value
$r = q("SELECT `password` FROM `user`WHERE `uid` = %d LIMIT 1", intval(local_user()));
if( $oldpass != $r[0]['password'] ) {
notice( t('Wrong password.') . EOL);
if($email != $a->user['email']) {
$email_changed = true;
- if(! valid_email($email))
- $err .= t(' Not valid email.');
+ // check for the correct password
+ $r = q("SELECT `password` FROM `user`WHERE `uid` = %d LIMIT 1", intval(local_user()));
+ $password = hash('whirlpool', $_POST['password']);
+ if ($password != $r[0]['password']) {
+ $err .= t('Wrong Password') . EOL;
+ $email = $a->user['email'];
+ }
+ // check the email is valid
+ if(! valid_email($email))
+ $err .= t(' Not valid email.');
+ // ensure new email is not the admin mail
if((x($a->config,'admin_email')) && (strcasecmp($email,$a->config['admin_email']) == 0)) {
$err .= t(' Cannot change to that email.');
$email = $a->user['email'];