Есть ли в Друпал АПИ функция, которая возвращает массив с параметрами залогиненного пользователя? Нужны его логин и дата последнего входа в систему.
Нашел функцию [url=http://api.drupal.org/api/4.7/function/user_fields]user_fields[/url], вроде по смыслу это то что мне надо, но чего-то я не допер как ею пользоваться. Пытался использовать ее так:
<?php$user_params = user_fields();
print "name='" . $user_params[5] . "'";
?>
и вот так:
<?php$user_params = user_fields();
print "name='" . $user_params['name'] . "'";
?>
Но ни тот, ни другой вариант не возвращают необходимые значения. В первом случае возвращается имя элемента массива (в приведенном примере это "sort"), во втором случае возвращается пустая строка.
Комментарии
Параметры "залогиненного" (текущего) пользователя доступны через "глобальный" объект $user:
global $user;
Насчёт даты последнего входа не уверен, но там есть ID юзера (
$user->uid
), через который можно поднять всю информацию о пользователе.user_fields
- это не то, что нужно, т.к. она возвращает только список полей, которые используются для чтения/записи данных о пользователе (или что-то в этом роде).gloabal $user;
print_r($user);
имя: $user->name;
дата: $user->access или $user->login (проверьте кто из них)
Подскажите, а если я хочу определить активного юзера внутри контента страницы, там этих переменных нет.
Цели у меня простые, и я просто инклудом помещаю свой php скрипт непосредственно в контент -> page. И делаю всё что мне нужно, но мне понадобился id текущего (активного в данный момен) пользователя из таблицы users. И вообще как я могу юзать константы и глобальные переменные внутри контента, как системные, такие как из таблицы users, так и переменные шаблона page.tpl.php (там где можно использовать PHP в качестве контента).
P.S. Спасибо. Если есть инфа, которую я проглядел по данному вопросу, можно дать сцылу :).
Ргб и Дэн, спасибо большое!
global $user;
Это работает для любого контекста, т.к. это глобальная переменная, то есть к ней можно обратиться и так: $id = $GLOBALS['user']->uid;
Приведите пример кода который не работает.
Огромный респект Dan. Спасибо, я всё понял.