\IrisUser

Работа с текущим пользователем и другими пользователями

Часть параметров, относящихся к текущему пользователю хранится в сессии:

  • Id
  • Name
  • SpeakName
  • AccessRoleId
  • ContactTypeId
  • AccountId
  • Email
  • Phone2
  • isPersonalInfoAgree
  • isNotify
  • isGtalkNotify
  • isSMSNotify

Остальные параметры берутся из базы (из {Contact}), но один раз за веб-запрос.

Этот класс выполнен по шаблону Singleton.

Summary

Methods
Properties
Constants
getInstance()
isAdmin()
getUserRoleId()
haveAccessToSection()
property()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

getInstance()

getInstance() : \IrisUser

Возвращает единственный экземпляр класса

Returns

\IrisUser

Единственный экземпляр

Пример

  $User = IrisUser::getInstance();
  if ($User->isAdmin()) { ... }

isAdmin()

isAdmin(string$userId) : bool|null

Является ли пользователь администратором

Parameters

string $userId

Необязательный параметр. Идентификатор пользователя. Если не указан, то возвращается информация о текущем пользователе.

Returns

bool|null —

true, если пользователь - администратор, иначе false. Если пользователь не найден, то null.

Пример

Выполнить действия, если текущий пользователь - администратор.

$User = IrisUser::getInstance();
if ($User->isAdmin()) { ... }

Если указанный пользователь - администратор

if ($User->isAdmin($user_id)) { ... }

getUserRoleId()

getUserRoleId(string$userId) : string|null

Получить ID роли пользователя

Для текущего пользователя роль хранится в сессии

Parameters

string $userId

Необязательный параметр. Идентификатор пользователя. Если не указан, то возвращается информация о текущем пользователе.

Returns

string|null —

Id роли пользователя. Если пользователь не найден, то null.

Пример

Выполнить действия, если роли текущиего и указанного пользователей совпадают.

$User = IrisUser::getInstance();
if ($User->getUserRoleId() && $User->getUserRoleId($user_id) ) {
    // ...
}

haveAccessToSection()

haveAccessToSection(string$section_name, string$userId) : bool

Есть ли у пользователя доступ к разделу

Parameters

string $section_name

Код раздела

string $userId

Необязательный параметр. Идентификатор пользователя. Если не указан, то возвращается информация о текущем пользователе.

Returns

bool —

Если доступ есть, то true, иначе false.

Пример

Выполнить действия, если текущий пользователь имеет досутп к разделу Дела.

$User = IrisUser::getInstance();
if ($User->haveAccessToSection('Task') ) {
    // ...
}

property()

property(mixed$name) : mixed|null

Получить свойство текущего пользователя

Parameters

mixed $name

Название колонки в таблице {Contact}

Returns

mixed|null —

Значение свойства или null, если свойство не найдено.

Пример

$User = IrisUser::getInstance();
echo $User->property('Description'); // Поле Описание