• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/security/role/rolepermission.php
  • Класс: Bitrix\Crm\Security\Role\RolePermission
  • Вызов: RolePermission::getAll
static function getAll()
{
	if (static::$cache !== null)
	{
		return static::$cache;
	}

	$dbRes = RolePermissionTable::getList([
		"select" => ["*"],
		"filter" => [],
		"cache" => [
			"ttl" => 84600,
		]
	]);
	$result = [];
	while ($res = $dbRes->fetch())
	{
		if (!array_key_exists($res["ROLE_ID"], $result))
		{
			$result[$res["ROLE_ID"]] = [];
		}
		$role = &$result[$res["ROLE_ID"]];

		if ($res['FIELD'] != '-')
		{
			$role[$res['ENTITY']][$res['PERM_TYPE']][$res['FIELD']][$res['FIELD_VALUE']] = trim($res['ATTR']);
		}
		else
		{
			$role[$res['ENTITY']][$res['PERM_TYPE']][$res['FIELD']] = trim($res['ATTR']);
		}
	}
	static::$cache = $result;

	return $result;
}