- Модуль: 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
];
}