- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/subscribe.php
- Класс: BitrixCatalogSubscribeTable
- Вызов: SubscribeTable::getSubscriptionsData
static function getSubscriptionsData()
{
global $DB;
$filter = array(
'=NEED_SENDING' => 'Y',
'!=PRODUCT.SUBSCRIBE' => 'N',
array(
'LOGIC' => 'OR',
array('=DATE_TO' => false),
array('>DATE_TO' => date($DB->dateFormatToPHP(CLang::getDateFormat('FULL')), time()))
)
);
/* Compatibility with the sale subscribe option */
$notifyOption = Option::get('sale', 'subscribe_prod');
$notify = array();
if($notifyOption <> '')
$notify = unserialize($notifyOption, ['allowed_classes' => false]);
if(is_array($notify))
{
$listSiteId = array();
foreach($notify as $siteId => $data)
{
if($data['use'] != 'Y')
$listSiteId[] = $siteId;
}
if($listSiteId)
$filter['!=SITE_ID'] = $listSiteId;
}
$listSubscribe = static::getList(array(
'select'=>array(
'ID',
'USER_CONTACT',
'CONTACT_TYPE',
'DATE_TO',
'PRODUCT_NAME' => 'IBLOCK_ELEMENT.NAME',
'DETAIL_PAGE_URL' => 'IBLOCK_ELEMENT.IBLOCK.DETAIL_PAGE_URL',
'IBLOCK_ID' => 'IBLOCK_ELEMENT.IBLOCK_ID',
'TYPE' => 'PRODUCT.TYPE',
'ITEM_ID',
'SITE_ID',
'LANDING_SITE_ID',
'USER_NAME' => 'USER.NAME',
'USER_LAST_NAME' => 'USER.LAST_NAME',
),
'filter' => $filter,
'limit' => static::LIMIT_SEND,
))->fetchAll();
$totalCount = static::getList(array(
'select' => array('CNT'),
'filter' => $filter,
'runtime' => array(new EntityExpressionField('CNT', 'COUNT(*)'))
))->fetch();
return array($listSubscribe, $totalCount);
}