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