• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/proxytype/disk.php
  • Класс: BitrixDiskProxyTypeDisk
  • Вызов: Disk::getSecurityContextByUser
public function getSecurityContextByUser($user)
{
	if($this->isCurrentUser($user))
	{

		if(Loader::includeModule('socialnetwork') && CSocnetUser::isCurrentUserModuleAdmin())
		{
			return new FakeSecurityContext($user);
		}

		if(UserModel::isCurrentUserAdmin())
		{
			return new FakeSecurityContext($user);
		}
	}
	else
	{
		$userId = UserModel::resolveUserId($user);

		if($userId && Loader::includeModule('socialnetwork') && CSocnetUser::isUserModuleAdmin($userId))
		{
			return new FakeSecurityContext($user);
		}
		try
		{
			if(
				$userId &&
				ModuleManager::isModuleInstalled('bitrix24') &&
				Loader::includeModule('bitrix24') &&
				CBitrix24::isPortalAdmin($userId)
			)
			{
				return new FakeSecurityContext($user);
			}
			elseif($userId)
			{
				//Check user group 1 ('Admins')
				$tmpUser = new CUser();
				$arGroups = $tmpUser->getUserGroup($userId);
				if(in_array(1, $arGroups))
				{
					return new FakeSecurityContext($user);
				}
			}
		}
		catch(Exception $e)
		{}
	}

	return new DiskSecurityContext($user);
}