JUser: работа с объектом пользователя
Пользователь, просматривающий сайт, представлен объектом класса JUser, доступ к которому можно получить через метод getUser() класса JFactory:
$user = JFactory::getUser();
Чтобы получить доступ к объекту, представляющему какого-либо другого пользователя, необходимо передать в метод getUser() id или логин этого пользователя:
$user = JFactory::getUser(42); $user = JFactory::getUser('admin');
Поля класса JUser
JUser имеет ряд полей, для которых определен уровень доступа public и к которым поэтому можно обращаться непосредственно. Наиболее важные из них перечислены ниже (таблица 5.1).
Поле | Описание |
---|---|
block | Равно 1, если пользователь заблокирован |
E-mail пользователя | |
guest | Равно 1, если пользователь является гостем, т.е. не залогинен |
id | ID пользователя |
lastvisitDate | Дата и время последнего входа пользователя в систему |
name | Имя пользователя |
params | Настройки пользователя |
registerDate | Дата и время регистрации аккаунта пользователя |
sendEmail | Равно 1, если пользователь согласен получать сообщения с сайта по электронной почте |
username | Логин пользователя |
Например, выведем приветствие для залогиненного пользователя:
if ($user->guest) echo "Пожалуйста, войдите в систему или зарегистрируйтесь"; else echo "Здравствуйте, {$user->name}! Последний раз вы были на сайте ".JHTML::_('date',$user->lastvisitDate);
Получение и изменение настроек пользователя
mixed getParam(string $key, mixed $default = null) mixed setParam(string $key, mixed $value)
где
$key | - ключ параметра; |
$default | - значение параметра по умолчанию; |
$value | - устанавливаемое значение параметра. |
setParam() | - возвращает предыдущее значение параметра. |
Пример:
echo $user->getParam('language','ru-RU'); $user->setParam('language','en-GB');