--- password_policy.module Thu Jun 4 21:48:40 2009 +++ password_policy.module Sun Oct 25 09:47:39 2009 @@ -282,11 +289,11 @@ function password_policy_user($op, &$edi db_query("DELETE FROM {password_policy_history} WHERE uid = %d", $account->uid); db_query("DELETE FROM {password_policy_expiration} WHERE uid = %d", $account->uid); break; - case "submit": - if ($account->status == 0 && isset($edit['status']) && $edit['status'] == 1 && user_access('unblock expired accounts')) { + case "update": + if (isset($edit['status']) && $edit['status'] != $account->status && $edit['status'] == 1) { // Account is beeing unblocked. - _password_policy_unblock($account); - } + db_query('UPDATE {password_policy_expiration} SET unblocked = %d WHERE uid = %d', time(), $account->uid); + } break; } } @@ -708,18 +715,13 @@ function _password_policy_store_password /** * Unblocks the expired account. * - * @param $uccount - * User pbject. + * @param $account + * User object. */ function _password_policy_unblock($account) { // Unblock the user - db_query("UPDATE {users} SET status = '1' WHERE uid = %d", $account->uid); - db_query("UPDATE {password_policy_expiration} SET unblocked = %d WHERE uid = %d", time(), $account->uid); + user_save($account, array('status' => 1)); - $message = drupal_mail('user', 'password_reset', $account->mail, user_preferred_language($account), array('account' => $account, 'login_url' => user_pass_reset_url($account))); - if ($message['result']) { - watchdog('password_policy', 'Password reset instructions mailed to %name at %email.', array('%name' => $account->name, '%email' => $account->mail)); - } drupal_set_message(t('The user %name has been unblocked.', array('%name' => $account->name))); }