diff options
-rw-r--r-- | modules/user/user.module | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/modules/user/user.module b/modules/user/user.module index 335c75fc2..2a959f203 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -193,11 +193,6 @@ function user_save($account, $array = array(), $category = 'account') { $user_fields = user_fields(); if (is_object($account) && $account->uid) { user_module_invoke('update', $array, $account, $category); - if (isset($array['status']) && $array['status'] != $account->status) { - // The user's status is changing, conditionally send notification email. - $op = $array['status'] == 1 ? 'status_activated' : 'status_blocked'; - _user_mail_notify($op, $account); - } $query = ''; $data = unserialize(db_result(db_query('SELECT data FROM {users} WHERE uid = %d', $account->uid))); foreach ($array as $key => $value) { @@ -252,6 +247,14 @@ function user_save($account, $array = array(), $category = 'account') { // Refresh user object $user = user_load(array('uid' => $account->uid)); + + // Send emails after we have the new user object. + if (isset($array['status']) && $array['status'] != $account->status) { + // The user's status is changing, conditionally send notification email. + $op = $array['status'] == 1 ? 'status_activated' : 'status_blocked'; + _user_mail_notify($op, $user); + } + user_module_invoke('after_update', $array, $user, $category); } else { |