You are here

function _subscriptions_mail_send in Subscriptions 5.2

Same name and namespace in other branches
  1. 6 subscriptions_mail.cron.inc \_subscriptions_mail_send()
  2. 7 subscriptions_mail.cron.inc \_subscriptions_mail_send()
  3. 2.0.x subscriptions_mail/subscriptions_mail.cron.inc \_subscriptions_mail_send()

Send the notification by mail.

1 call to _subscriptions_mail_send()
subscriptions_mail_cron in ./subscriptions_mail.module
Implementation of hook_cron().

File

./subscriptions_mail.module, line 212
Subscriptions module mail gateway.

Code

function _subscriptions_mail_send($mailkey, $name, $to, $subject, $body, $from, $uid) {
  global $base_url;
  $url = parse_url($base_url);
  $list_id = variable_get('site_name', '') . ' ' . t('Subscriptions') . ' <subscriptions.' . $url['host'] . '>';
  $mail_success = drupal_mail($mailkey, $to, $subject, $body, $from, array(
    'List-Id' => $list_id,
  ));
  $watchdog_params = array(
    '@name' => $name,
    '@to' => "<{$to}>",
  );
  if ($mail_success) {
    if (variable_get('subscriptions_watchgood', 1)) {
      watchdog('subscriptions', t('notification for @name at @to', $watchdog_params));
    }
    db_query("UPDATE {subscriptions_user} SET last_sent = %d WHERE uid = %d", time(), $uid);
    if (!db_affected_rows()) {
      @db_query("INSERT INTO {subscriptions_user} (uid, last_sent) VALUES(%d, %d)", $uid, time());
    }
  }
  else {
    watchdog('subscriptions', t('error mailing notification for @name at @to', $watchdog_params), WATCHDOG_ERROR);
  }
}