• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/subscribemanager.php
  • Класс: BitrixCatalogProductSubscribeManager
  • Вызов: SubscribeManager::authorizeSubscriber
public function authorizeSubscriber(array $authorizationData)
{
	$this->checkRequiredInputParams($authorizationData, array('userContact', 'subscribeToken'));
	if(!$this->errorCollection->isEmpty())
	{
		return false;
	}

	try
	{
		SubscribeAccessTable::clearOldRows();
		$accessRow = SubscribeAccessTable::getRow(
			array(
				'select' => array('ID'),
				'filter' => array(
					'TOKEN' => $authorizationData['subscribeToken'],
					'USER_CONTACT' => $authorizationData['userContact']
				)
			)
		);

		if(!$accessRow['ID'])
		{
			$this->errorCollection->add(array(new Error(
				Loc::getMessage('ERROR_AUTHORIZATION_ACCESS_ROW_NOT_FOUND'), self::ERROR_AUTHORIZATION)));
			return false;
		}

		$_SESSION['SUBSCRIBE_PRODUCT'] = array(
			'TOKEN' => $authorizationData['subscribeToken'],
			'USER_CONTACT' => $authorizationData['userContact']
		);
	}
	catch(Exception $errorObject)
	{
		$this->errorCollection->add(array(new Error($errorObject->getMessage())));
	}

	if(!$this->errorCollection->isEmpty())
	{
		return false;
	}

	return true;
}