- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/tracking/provider.php
- Класс: Bitrix\Crm\Tracking\Provider
- Вызов: Provider::getB24Sites
static function getB24Sites($isStore = null)
{
if (!Loader::includeModule('landing'))
{
return [];
}
$filter = [
'=ACTIVE' => 'Y',
];
if (is_bool($isStore))
{
$filter['=TYPE'] = $isStore ? 'STORE' : 'PAGE';
}
Landing\Rights::setGlobalOff();
$list = Landing\Site::getList([
'select' => [
'ID', 'TITLE', 'TYPE', 'TPL_CODE', 'DOMAIN_NAME' => 'DOMAIN.DOMAIN',
'DOMAIN_PROTOCOL' => 'DOMAIN.PROTOCOL'
],
'filter' => $filter
])->fetchAll();
Landing\Rights::setGlobalOn();
$list = array_filter(
$list,
function ($item)
{
return !empty($item['DOMAIN_NAME']);
}
);
sort($list);
$list = array_map(
function ($item)
{
$code = Channel\Base::Site24;
if ($item['TYPE'] === 'STORE')
{
$code = $item['TPL_CODE'] === 'store_v3'
? $code = Channel\Base::CrmShop
: $code = Channel\Base::Shop24
;
}
$item['CODE'] = $code;
return $item;
},
$list
);
$disabledList = array_column(Internals\SiteB24Table::getList()->fetchAll(), 'LANDING_SITE_ID');
foreach ($list as $index => $site)
{
$list[$index]['EXCLUDED'] = in_array($site['ID'], $disabledList);
}
return $list;
}