function update_mail

Same name in other branches
  1. 9 core/modules/update/update.module \update_mail()
  2. 8.9.x core/modules/update/update.module \update_mail()
  3. 10 core/modules/update/update.module \update_mail()
  4. 11.x core/modules/update/update.module \update_mail()

Implements hook_mail().

Constructs the e-mail notification message when the site is out of date.

Parameters

$key: Unique key to indicate what message to build, always 'status_notify'.

$message: Reference to the message array being built.

$params: Array of parameters to indicate what kind of text to include in the message body. This is a keyed array of message type ('core' or 'contrib') as the keys, and the status reason constant (UPDATE_NOT_SECURE, etc) for the values.

See also

drupal_mail()

_update_cron_notify()

_update_message_text()

File

modules/update/update.module, line 525

Code

function update_mail($key, &$message, $params) {
    $language = $message['language'];
    $langcode = $language->language;
    $message['subject'] .= t('New release(s) available for !site_name', array(
        '!site_name' => variable_get('site_name', 'Drupal'),
    ), array(
        'langcode' => $langcode,
    ));
    foreach ($params as $msg_type => $msg_reason) {
        $message['body'][] = _update_message_text($msg_type, $msg_reason, FALSE, $language);
    }
    $message['body'][] = t('See the available updates page for more information:', array(), array(
        'langcode' => $langcode,
    )) . "\n" . url('admin/reports/updates', array(
        'absolute' => TRUE,
        'language' => $language,
    ));
    if (update_manager_access()) {
        $message['body'][] = t('You can automatically install your missing updates using the Update manager:', array(), array(
            'langcode' => $langcode,
        )) . "\n" . url('admin/reports/updates/update', array(
            'absolute' => TRUE,
            'language' => $language,
        ));
    }
    $settings_url = url('admin/reports/updates/settings', array(
        'absolute' => TRUE,
    ));
    if (variable_get('update_notification_threshold', 'all') == 'all') {
        $message['body'][] = t('Your site is currently configured to send these emails when any updates are available. To get notified only for security updates, !url.', array(
            '!url' => $settings_url,
        ));
    }
    else {
        $message['body'][] = t('Your site is currently configured to send these emails only when security updates are available. To get notified for any available updates, !url.', array(
            '!url' => $settings_url,
        ));
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.