xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Высылать письмо при входе администратора с нового браузера

Опубликовано в

Небольшой код, который уведомляет о входе администратора с нового браузера:

/**
 * Implements hook_user_login().
 */
function modulename_user_login(&$edit, $account) {
  if (
    $account->uid == 1 &&
    (empty($account->data['useragent']) || $account->data['useragent'] != md5($_SERVER['HTTP_USER_AGENT']))
  ) {
    $message = 'Дата: ' . date('r') . "\n";
    $message .= 'IP: ' . ip_address() . "\n";
    $message .= 'Host: ' . @gethostbyaddr(ip_address()) . "\n";
    $message .= 'User Agent: ' . $_SERVER['HTTP_USER_AGENT'] . "\n";
 
    drupal_mail('system', 'mail', $account->mail, language_default(), array(
      'context' => array(
        'subject' => 'На сайте ' . $_SERVER['HTTP_HOST'] . ' произведён вход администратора с нового браузера',
        'message' => $message,
      )
    ));
 
    $account->data['useragent'] = md5($_SERVER['HTTP_USER_AGENT']);
    user_save($account);
  }
}
Написанное актуально для Drupal 7
Похожие записи

Комментарии RSS

Еще можно добавить t(), для удобного редактирования текста письма

Еще можно добавить t(), для удобного редактирования текста письма

Ну как бе t() нужна для перевода текста, а не удобного редактирования.

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании