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