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');