• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/lib/security/useroperationchecker.php
  • Класс: BitrixTimemanSecurityUserOperationChecker
  • Вызов: UserOperationChecker::__construct
public function __construct($user)
{
	$this->user = $user;
	$userAccessCodes = $this->getUserAccessCodes();
	if (empty($userAccessCodes))
	{
		return;
	}

	$userAccessCodes = array_filter($userAccessCodes, static fn($code) => mb_strpos($code, 'CHAT') !== 0);

	if ($this->user && is_object($this->user) && $this->user->getId() > 0)
	{
		$this->availableOperations = array_column(
			TaskAccessCodeTable::query()
				->addSelect('TASK_OPERATION.OPERATION.NAME', 'OPNAME')
				->whereIn('ACCESS_CODE', $userAccessCodes)
				->where('USER_ACCESS.USER_ID', $this->user->getId())
				->setCacheTtl(3600 * 24)
				->cacheJoins(true)
				->exec()
				->fetchAll(),
			'OPNAME'
		);
	}
}