- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/product/subscribemanager.php
- Класс: BitrixCatalogProductSubscribeManager
- Вызов: SubscribeManager::unSubscribe
public function unSubscribe(array $data)
{
$this->checkRequiredInputParams($data, array('unSubscribe', 'userContact', 'subscribeId', 'productId'));
if(!$this->errorCollection->isEmpty())
{
return false;
}
$itemId = intval($data['productId']);
$subscribe = SubscribeTable::getList(array(
'select' => array('CNT'),
'filter' => array(
'=ID' => intval($data['subscribeId']),
'=ITEM_ID' => $itemId,
'=USER_CONTACT' => $data['userContact'],
),
'runtime' => array(new EntityExpressionField('CNT', 'COUNT(*)'))
))->fetch();
if(intval($subscribe['CNT']))
{
SubscribeTable::delete($data['subscribeId']);
}
else
{
$this->errorCollection->add(array(new Error(
Loc::getMessage('ERROR_UNSUBSCRIBE_ALREADY_UNSUBSCRIBE'), self::ERROR_UNSUBSCRIBE)));
return false;
}
$this->deleteSessionOfSibscribedProducts($itemId);
return true;
}