Пользователь, просматривающий сайт, представлен объектом класса JUser, доступ к которому можно получить через метод getUser() класса JFactory:

 

$user = JFactory::getUser();

 

 

Чтобы получить доступ к объекту, представляющему какого-либо другого пользователя, необходимо передать в метод getUser() id или логин этого пользователя:

 

$user = JFactory::getUser(42);
$user = JFactory::getUser('admin');

 

Поля класса JUser

JUser имеет ряд полей, для которых определен уровень доступа public и к которым поэтому можно обращаться непосредственно. Наиболее важные из них перечислены ниже (таблица 5.1).

 
Таблица 5.1. Некоторые public-поля класса JUser
ПолеОписание
block Равно 1, если пользователь заблокирован
email 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');