• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/transfer/appconfiguration.php
  • Класс: BitrixLandingTransferAppConfiguration
  • Вызов: AppConfiguration::onCheckAccess
static function onCheckAccess(string $type, array $manifest): array
{
	if ($manifest['CODE'] ?? null)
	{
		$siteType = substr($manifest['CODE'], strlen(AppConfiguration::PREFIX_CODE));
		BitrixLandingSiteType::setScope($siteType);
	}

	$siteId = $manifest['SITE_ID'] ?? 0;
	if ($type === 'export')
	{
		$access = in_array(Rights::ACCESS_TYPES['read'], Rights::getOperationsForSite($siteId));
		if ($access)
		{
			$access = !Rights::hasAdditionalRight(Rights::ADDITIONAL_RIGHTS['unexportable'], null, false, true);
		}
	}
	else
	{
		$access = Rights::hasAdditionalRight(Rights::ADDITIONAL_RIGHTS['create'])
				&& in_array(Rights::ACCESS_TYPES['edit'], Rights::getOperationsForSite($siteId));
	}
	return [
		'result' => $access
	];
}