Scope::getScopesIdByUser

  1. Bitrix24 API (v. 23.675.0)
  2. ui
  3. Scope
  4. getScopesIdByUser
  • Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/entityform/scope.php
  • Класс: BitrixUiEntityFormScope
  • Вызов: Scope::getScopesIdByUser
private function getScopesIdByUser(?string $moduleId = null): array
{
	$accessCodes = $this->getUser()->GetAccessCodes();
	$this->prepareAccessCodes($accessCodes);

	$params = [
		'select' => [
			'CONFIG_ID'
		]
	];

	if(
		!$moduleId
		||
		(
			($scopeAccess = ScopeAccess::getInstance($moduleId))
			&& !$scopeAccess->isAdmin()
		)
	)
	{
		$params['filter'] = ['@ACCESS_CODE' => $accessCodes];
	}

	$scopes = EntityFormConfigAcTable::getList($params)->fetchAll();

	$result = [];
	if (count($scopes))
	{
		foreach ($scopes as $scope)
		{
			$result[] = $scope['CONFIG_ID'];
		}
	}

	return array_unique($result);
}

Добавить комментарий