Index: advuser.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/advuser/advuser.module,v retrieving revision 1.14.2.6 diff -u -p -r1.14.2.6 advuser.module --- advuser.module 18 Feb 2009 12:40:13 -0000 1.14.2.6 +++ advuser.module 18 Mar 2009 13:05:51 -0000 @@ -396,12 +396,12 @@ function advuser_multiple_email_confirm_ if ($form_state['values']['confirm']) { foreach ($form_state['values']['accounts'] as $uid => $value) { $account = user_load(array('uid' => $uid)); - $from = variable_get("site_mail", ini_get("sendmail_from")); + $from = variable_get("site_mail", "nobody@$_SERVER[SERVER_NAME]"); // these are invariant for all sent emails $variables = _advuser_get_variables($account); $mail_subject = strtr($form_state['values']['mailsubject'], $variables); $mail_body = strtr($form_state['values']['mailbody'], $variables); - drupal_mail('advance-user-mail', $account->mail, $mail_subject, $mail_body, $from); + drupal_mail('advuser', 'advance-user-mail', $account->mail, user_preferred_language($account), array('subject' => $mail_subject, 'body' => $mail_body), $from, TRUE); } drupal_set_message(t('The users have been mailed.')); } @@ -409,6 +409,13 @@ function advuser_multiple_email_confirm_ } /** + * Implementation of hook_mail + */ +function advuser_mail($key, &$message, $params) { + $message = array_merge($message, $params); +} + +/** * advuser settings page */ function advuser_settings() { @@ -555,7 +562,7 @@ function _advuser_get_variables($user) { function _advuser_dbquery_users_to_notify() { $user_where = users_by_access('receive email advuser'); $user_where = implode(',', $user_where); - return empty($user_where) ? FALSE : db_query('SELECT u.mail, u.name FROM {users} u WHERE uid IN (' . $user_where . ')'); + return empty($user_where) ? FALSE : db_query('SELECT u.* FROM {users} u WHERE uid IN (' . $user_where . ')'); } @@ -611,15 +618,15 @@ function users_by_access($perm) { * @param string $from */ function _advuser_mail_roles ($user_subject, $user_body, $from) { - static $mail_list = array(); + static $accounts = array(); if (empty($mail_list)) { $result = _advuser_dbquery_users_to_notify(); while ($row = db_fetch_object($result)) { - $mail_list[] = $row->mail; + $accounts[] = $row; } } - foreach ($mail_list as $to) { - drupal_mail('advanced-user-mail', $to, $user_subject, $user_body, $from); + foreach ($accounts as $account) { + drupal_mail('advuser', 'advanced-user-mail', $account->mail, user_preferred_language($account), array('subject' => $user_subject, 'body' => $user_body), $from, TRUE); } }