Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/catalog/tools/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/catalog/tools/subscription_card_product.php

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

use Bitrix\Catalog\Access\ActionDictionary;
use Bitrix\Main,
	Bitrix\Main\Localization\Loc,
	Bitrix\Main\Loader,
	Bitrix\Catalog,
	Bitrix\Catalog\Access\AccessController;

require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_before.php');

Loc::loadMessages(__FILE__);

$error = false;
$errorMessage = '';
if(!Loader::includeModule('catalog'))
{
	$error = true;
	$errorMessage = Loc::getMessage('CSD_MODULE_NOT_INSTALLED', array('#NAME#' => 'catalog'));
}
if(
	!AccessController::getCurrent()->check(ActionDictionary::ACTION_CATALOG_READ)
	&& !AccessController::getCurrent()->check(ActionDictionary::ACTION_CATALOG_VIEW)
)
{
	$error = true;
	$errorMessage = Loc::getMessage('CSD_ACCESS_DENIED');
}
if(!check_bitrix_sessid())
{
	$error = true;
	$errorMessage = Loc::getMessage('CSD_INCORRECT_SESSION');
}
if($error)
{
	echo Bitrix\Main\Web\Json::encode(array('error' => true, 'message' => $errorMessage));
	require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin_after.php');
	die();
}

$request = Main\Context::getCurrent()->getRequest();
$totalCount = 0;
$activeCount = 0;

if ($request->getRequestMethod() == 'POST' && $request['getSubscriptionData'] == 'Y')
{
	try
	{
		$totalCount = Catalog\SubscribeTable::getList(array(
			'select' => array('CNT'),
			'filter' => array('=ITEM_ID' => intval($request['itemId'])),
			'runtime' => array(new Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(*)'))
		))->fetch();
		$totalCount = $totalCount['CNT'];
		global $DB;
		$activeCount = Catalog\SubscribeTable::getList(array(
			'select' => array('CNT'),
			'filter' => array(
				'=ITEM_ID' => intval($request['itemId']),
				array(
					'LOGIC' => 'OR',
					array('=DATE_TO' => false),
					array('>DATE_TO' => date($DB->dateFormatToPHP(CLang::getDateFormat('FULL')), time()))
				)
			),
			'runtime' => array(new Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(*)'))
		))->fetch();
		$activeCount = $activeCount['CNT'];

		echo Bitrix\Main\Web\Json::encode(
			array('success' => true, 'data' => array('totalCount' => $totalCount, 'activeCount' => $activeCount)));
		require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin_after.php');
		die();
	}
	catch(Main\SystemException $exception)
	{
		echo Bitrix\Main\Web\Json::encode(array('error' => true, 'message' => $exception->getMessage()));
		require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_admin_after.php');
		die();
	}
}
?>