Выполнение действий после первого входа пользователя

Для того, чтобы выполнить какие-либо действия после авторизации пользователя, можно воспользоваться хуком hook_user_login(). Этот хук будет вызываться после каждого входа пользователя. Но если нужно, чтобы действия выполнялись только один раз после первого входа пользователя сразу после того, как он зарегистрировался, то можно использовать свойство объекта пользователя access ($user->access). В это свойство записывается время предыдущей "активности" пользователя. И, если пользователь залогинился первый раз, то это свойство будет равным нулю.

Для выполнения каких-либо действий после первого входа пользователя на сайт выполним проверку в hook_user_login() на равенство свойства access нулю. И далее можно будет сделать редирект на какую-нибудь страницу (к примеру для ознакомления нового пользователя с правилами сайта) или просто вывести приветственное сообщение, или же послать письмо этому пользователю.


/**
 * Implements hook_user_login().
 */
function MYMODULE_user_login(&$edit, $account) {
  // Проверяем был ли залогинен пользователь ранее
  if ($account->access == 0) {
    // Выполним редирект на страницу /help с правилами сайта
    $_GET['destination'] = 'help';
    // Выводим приветственное сообщение новому пользователю
    drupal_set_message('Мы рады приветствовать Вас на сайте');
  }
}

После добавления этого кода в модуль, пользователи после первого входа будут перенаправляться на страницу /help и им будет выводиться сообщение.