• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/restriction/knowledge.php
  • Класс: BitrixLandingRestrictionKnowledge
  • Вызов: Knowledge::isViewAllowed
static function isViewAllowed(string $code, array $params): bool
{
	if (!BitrixMainLoader::includeModule('bitrix24'))
	{
		return true;
	}

	if (SiteType::getCurrentScopeId() != Type::SCOPE_CODE_KNOWLEDGE)
	{
		return true;
	}

	$availableCount = Feature::getVariable(
		'landing_site_knowledge'
	);
	if ($availableCount)
	{
		if (!isset($params['ID']) || $params['ID'] <= 0)
		{
			return false;
		}
		$allowedSiteIds = [];
		$res = Site::getList([
			'select' => [
				'ID'
			],
			'order' => [
				'ID' => 'asc'
			],
			'limit' => $availableCount
		]);
		while ($row = $res->fetch())
		{
			$allowedSiteIds[] = $row['ID'];
		}
		return in_array((int)$params['ID'], $allowedSiteIds);
	}

	return true;
}