- Модуль: landing
- Путь к файлу: ~/bitrix/modules/landing/lib/manager.php
- Класс: BitrixLandingManager
- Вызов: Manager::checkFeature
static function checkFeature(string $feature, array $params = array()): bool
{
// temporary set features
if (
isset(self::$tmpFeatures[$feature]) &&
self::$tmpFeatures[$feature]
)
{
return true;
}
if (!isset($params['type']) || !$params['type'])
{
$params['type'] = 'PAGE';
}
if (
$feature == self::FEATURE_CREATE_SITE ||
$feature == self::FEATURE_PUBLICATION_SITE
)
{
$params['action_type'] = ($feature == self::FEATURE_CREATE_SITE)
? 'create' : 'publication';
return RestrictionManager::isAllowed(
'limit_sites_number',
$params,
$feature
);
}
else if (
$feature == self::FEATURE_CREATE_PAGE ||
$feature == self::FEATURE_PUBLICATION_PAGE
)
{
$params['action_type'] = ($feature == self::FEATURE_CREATE_PAGE)
? 'create' : 'publication';
return RestrictionManager::isAllowed(
'limit_sites_number_page',
$params,
$feature
);
}
elseif ($feature == self::FEATURE_ENABLE_ALL_HOOKS)
{
if (isset($params['hook']))
{
return RestrictionHook::isHookAllowed($params['hook']);
}
return true;
}
elseif ($feature == self::FEATURE_PERMISSIONS_AVAILABLE)
{
return RestrictionManager::isAllowed(
'limit_sites_access_permissions'
);
}
elseif ($feature == self::FEATURE_DYNAMIC_BLOCK)
{
return RestrictionManager::isAllowed(
'limit_sites_dynamic_blocks',
$params
);
}
elseif ($feature == self::FEATURE_FREE_DOMAIN)
{
return RestrictionManager::isAllowed(
'limit_free_domen'
);
}
elseif ($feature == self::FEATURE_ALLOW_EXPORT)
{
return RestrictionManager::isAllowed(
'limit_sites_transfer'
);
}
elseif ($feature == self::FEATURE_ALLOW_VIEW_PAGE)
{
return RestrictionManager::isAllowed(
'limit_knowledge_base_number_page_view',
$params
);
}
// for backward compatibility
elseif ($feature == self::FEATURE_CUSTOM_DOMAIN)
{
return true;
}
return false;
}