? password_policy_activation_mail_2.patch Index: password_policy.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/password_policy/password_policy.module,v retrieving revision 1.28 diff -u -p -r1.28 password_policy.module --- password_policy.module 14 Apr 2010 16:47:25 -0000 1.28 +++ password_policy.module 14 Apr 2010 18:42:11 -0000 @@ -265,6 +265,10 @@ function password_policy_user($op, &$edi if ($account->force_password_change) { db_query('UPDATE {password_policy_force_change} SET force_change = 0 WHERE uid = %d', $account->uid); } + if ($account->status == 0 && isset($edit['status']) && $edit['status'] == 1 && user_access('unblock expired accounts')) { + // Account is beeing unblocked. + db_query('UPDATE {password_policy_expiration} SET unblocked = %d WHERE uid = %d', time(), $account->uid); + } break; case "login": @@ -322,13 +326,6 @@ function password_policy_user($op, &$edi db_query("DELETE FROM {password_policy_expiration} WHERE uid = %d", $account->uid); db_query("DELETE FROM {password_policy_force_change} WHERE uid = %d", $account->uid); break; - - case "submit": - if ($account->status == 0 && isset($edit['status']) && $edit['status'] == 1 && user_access('unblock expired accounts')) { - // Account is beeing unblocked. - _password_policy_unblock($account); - } - break; } } @@ -833,10 +830,10 @@ function _password_policy_block_account( * User pbject. */ 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); + // Unblock the user. + user_save($account, array('status' => 1)); + // Send password reset mail. $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));