• Модуль: salescenter
  • Путь к файлу: ~/bitrix/modules/salescenter/lib/integration/landingmanager.php
  • Класс: BitrixSalesCenterIntegrationLandingManager
  • Вызов: LandingManager::loadLandings
protected function loadLandings(array $filter = [])
{
	$landings = [];
	if(!$this->isEnabled)
	{
		return $landings;
	}
	$filter = array_merge([
		'CHECK_PERMISSIONS' => 'N',
		'=SITE.DELETED' => 'N',
		'=DELETED' => 'N',
	], $filter);
	$pageList = LandingLanding::getList([
		'select' => [
			'ID',
			'TITLE',
			'ACTIVE',
			'DESCRIPTION',
			'DATE_MODIFY',
			'SITE_ACTIVE' => 'SITE.ACTIVE',
			'SITE_ID',
			'CODE',
		],
		'filter' => $filter,
	]);
	while($landing = $pageList->fetch())
	{
		$landing['SITE_ID'] = (int) $landing['SITE_ID'];
		$landings[$landing['ID']] = $landing;
	}

	$areas = LandingTemplateRef::landingIsArea(array_keys($landings));
	$landings = array_filter($landings, function($landing) use ($areas)
		{
			return !$areas[$landing['ID']];
		}
	);

	$landing = LandingLanding::createInstance(0);
	$publicUrls = $landing->getPublicUrl(array_keys($landings));
	if(is_array($publicUrls))
	{
		foreach($publicUrls as $id => $url)
		{
			$landings[$id]['PUBLIC_URL'] = $url;
		}
	}

	$this->loadedLandings += $landings;

	return $this->loadedLandings;
}