Your IP : 18.116.23.219


Current Path : /var/www/www-root/data/www/monolith-realty.ru/bitrix/components/bitrix/catalog.element/
Upload File :
Current File : /var/www/www-root/data/www/monolith-realty.ru/bitrix/components/bitrix/catalog.element/ajax.php

<?
/** @global CMain $APPLICATION */
define('STOP_STATISTICS', true);
define('PUBLIC_AJAX_MODE', true);
define('NOT_CHECK_PERMISSIONS', true);

use Bitrix\Main,
	Bitrix\Catalog;

require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
if (isset($_POST['AJAX']) && $_POST['AJAX'] == 'Y')
{
	if (Main\Loader::includeModule('catalog') && !Catalog\Product\Basket::isNotCrawler())
	{
		$APPLICATION->RestartBuffer();
		header('Content-Type: application/json');
		echo Main\Web\Json::encode(array("STATUS" => "ERROR", "TEXT" => "SEARCHER"));
		die();
	}

	if (isset($_POST['PRODUCT_ID']) && isset($_POST['SITE_ID']))
	{
		$productID = (int)$_POST['PRODUCT_ID'];
		$parentID = (isset($_POST['PARENT_ID']) ? (int)$_POST['PARENT_ID'] : 0);
		$siteID = '';
		if (preg_match('/^[a-z0-9_]{2}$/i', (string)$_POST['SITE_ID']) === 1)
			$siteID = (string)$_POST['SITE_ID'];
		if ($productID > 0 && $siteID !== '' && Main\Loader::includeModule('catalog') && Main\Loader::includeModule('sale'))
		{
			// check if there was a recommendation
			$recommendationId = '';
			$recommendationCookie = $APPLICATION->get_cookie(Bitrix\Main\Analytics\Catalog::getCookieLogName());

			if (!empty($recommendationCookie))
			{
				$recommendations = \Bitrix\Main\Analytics\Catalog::decodeProductLog($recommendationCookie);

				if (is_array($recommendations) && isset($recommendations[$parentID]))
					$recommendationId = $recommendations[$parentID][0];
			}

			if ((string)Main\Config\Option::get('catalog', 'enable_viewed_products') !== 'N')
			{
				// add record
				Catalog\CatalogViewedProductTable::refresh(
					$productID,
					CSaleBasket::GetBasketUserID(),
					$siteID,
					$parentID,
					$recommendationId
				);
			}
			$APPLICATION->RestartBuffer();
			header('Content-Type: application/json');
			echo Main\Web\Json::encode(array("STATUS" => "SUCCESS"));
		}
		else
		{
			$APPLICATION->RestartBuffer();
			header('Content-Type: application/json');
			echo Main\Web\Json::encode(array("STATUS" => "ERROR", "TEXT" => "UNDEFINED PRODUCT"));
		}
	}
	die();
}