Дата последнего входа пользователя - Drupal - PullRequest
1 голос
/ 24 июня 2011

В drupal, как отобразить дату и время последнего входа пользователя в систему. Я опробовал код user-> login. Он отображает текущее время входа в систему, но я хочу, чтобы пользователи ранее указывали время и дату входа в систему.

Ответы [ 4 ]

1 голос
/ 14 мая 2013

Эти данные сохраняются с модулем История входа

1 голос
/ 24 июня 2011

Взгляните на модуль User Stats , он может вам подойти.Со страницы проекта модуля:

Предоставляет часто запрашиваемую пользовательскую статистику для пользователей, отслеживание IP-адресов и интеграцию представлений.Статистика:

  • Зарегистрированных дней
  • Дата регистрации
  • Дней с момента последнего входа в систему
  • Дней с момента последнего сообщения
  • Количество сообщений
  • Количество логинов
  • Пользователь онлайн / оффлайн
  • IP-адрес
0 голосов
/ 25 января 2013

Решение, которое я использовал: отслеживать последние две метки времени входа в систему (текущую и предыдущую).

/**
 * Implementation of hook_user()
 */
function your_module_user($op, &$edit, &$account, $category = NULL) {
  switch($op) {

    // Successful login
    case 'load':
      // If it's less than two it means we don't have a previous login timtestamp yet.
      $account->custom_last_login = sizeof($account->custom_login_history) < 2 
        ? NULL 
        : array_pop($account->custom_login_history); 
      break;

    case 'login':
      // If it's the first time, we don't have a history
      $login_history = is_array($account->custom_login_history) 
        ? $account->custom_login_history 
        : array();

      // Get rid of the old value.
      if (sizeof($login_history) == 2) {
        array_pop($login_history);
      }

      // Add to the history the current login timestamp.
      array_unshift($login_history, $account->login);

      user_save($account, array('custom_login_history' => $login_history));
      break;
  }
}

Тогда в вашем шаблоне вы просто используете $user->custom_last_login.Если он пуст, это означает, что у нас еще нет предыдущей временной метки, он будет доступен после следующего входа в систему.

0 голосов
/ 24 июня 2011

Drupal не предлагает это изначально.Если вам нужно его использовать, вы, вероятно, захотите добавить его, например, в сериализованный массив $ user-> data, когда пользователь войдет в систему (с помощью hook_user () для $ op = "login") и впоследствии сохранит обновленный объект пользователя, а затемвы сможете получить его при следующем входе в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...