You are here

function _logintoboggan_mail_notify in LoginToboggan 6

Conditionally create and send a notification email when a certain operation happens on the given user account. This is a knock-off of _user_mail_notify() customized for LT.

Parameters

$op: The operation being performed on the account. Possible values: 'register_admin_created': Welcome message for user created by the admin 'register_no_approval_required': Welcome message when user self-registers 'register_pending_approval': Welcome message, user pending admin approval 'password_reset': Password recovery request 'status_activated': Account activated 'status_blocked': Account blocked 'status_deleted': Account deleted

$account: The user object of the account being notified. Must contain at least the fields 'uid', 'name', and 'mail'.

$login_url: The custom !login_url setting. User default is used if none is provided.

$language: Optional language to use for the notification, overriding account language.

Return value

The return value from drupal_mail_send(), if ends up being called.

See also

user_mail_tokens()

drupal_mail()

1 call to _logintoboggan_mail_notify()
logintoboggan_user_register_submit in ./logintoboggan.module
Custom submit function for user registration form

File

./logintoboggan.module, line 1258
Logintoboggan Module

Code

function _logintoboggan_mail_notify($op, $account, $login_url = NULL, $language = NULL) {

  // By default, we always notify except for deleted and blocked.
  $default_notify = $op != 'status_deleted' && $op != 'status_blocked';
  $notify = variable_get('user_mail_' . $op . '_notify', $default_notify);
  if ($notify) {
    $params['account'] = $account;
    $params['login_url'] = $login_url;
    $language = $language ? $language : user_preferred_language($account);
    $mail = drupal_mail('logintoboggan', $op, $account->mail, $language, $params);
    if ($op == 'register_pending_approval') {

      // If a user registered requiring admin approval, notify the admin, too.
      // We use the site default language for this.
      $params['validating_url'] = logintoboggan_eml_validate_url($account) . '/admin';
      drupal_mail('logintoboggan', 'register_pending_approval_admin', variable_get('site_mail', ini_get('sendmail_from')), language_default(), $params);
    }
  }
  return empty($mail) ? NULL : $mail['result'];
}