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

03.04.2017

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

/**
 * 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
Похожие записи

Добавить комментарий