• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/subscribemanager.php
  • Класс: BitrixCatalogProductSubscribeManager
  • Вызов: SubscribeManager::checkDataBeforeSave
private function checkDataBeforeSave($productSubscribeData, array $subscribeData)
{
	if(!$productSubscribeData || !is_array($productSubscribeData))
	{
		$this->errorCollection->add(array(new Error(
			Loc::getMessage('ERROR_PRODUCT_NOT_FOUND'), self::ERROR_ADD_SUBSCRIBE)));
		return false;
	}
	if(!SubscribeTable::checkPermissionSubscribe($productSubscribeData['SUBSCRIBE']))
	{
		$this->errorCollection->add(array(new Error(
			Loc::getMessage('ERROR_SUBSCRIBE_DENIED'), self::ERROR_ADD_SUBSCRIBE)));
		return false;
	}
	if(!array_key_exists($subscribeData['CONTACT_TYPE'], $this->contactTypes))
	{
		$this->errorCollection->add(array(new Error(
			Loc::getMessage('ERROR_CONTACT_TYPE'), self::ERROR_ADD_SUBSCRIBE)));
		return false;
	}
	if($productSubscribeData['USER_CONTACT'] == $subscribeData['USER_CONTACT']
		&& $productSubscribeData['DATE_TO'] == null)
	{
		$this->setSessionOfSibscribedProducts($subscribeData['ITEM_ID']);
		$this->errorCollection->add(array(new Error(
			Loc::getMessage('ERROR_SUBSCRIBE_ALREADY_EXISTS'), self::ERROR_ADD_SUBSCRIBE_ALREADY_EXISTS)));
		return false;
	}
	return true;
}