Your IP : 216.73.216.170


Current Path : /home/bitrix/ext_www/school1535.yacl.site/local/ajax/
Upload File :
Current File : /home/bitrix/ext_www/school1535.yacl.site/local/ajax/show_comp_ajax.php

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

/**
 * сюда приходят параметры 
 * название компоннета 
 * название шаблона
 * параметры компонента
 * отдаем компонент в котором отдается все в формате json
 * далее через скрипт это все вставляется на страницу
 * */

$siteId = isset($_REQUEST['siteId']) && is_string($_REQUEST['siteId']) ? $_REQUEST['siteId'] : '';
$siteId = substr(preg_replace('/[^a-z0-9_]/i', '', $siteId), 0, 2);
if (!empty($siteId) && is_string($siteId))
{
	define('SITE_ID', $siteId);
}

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

$request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
$request->addFilter(new \Bitrix\Main\Web\PostDecodeFilter);

if (!\Bitrix\Main\Loader::includeModule('iblock'))
	return;

$signer = new \Bitrix\Main\Security\Sign\Signer;
try
{
	$template = $signer->unsign($request->get('template'), 'veb.component.ajax');
	$paramString = $signer->unsign($request->get('parameters'), 'veb.component.ajax');
}
catch (\Bitrix\Main\Security\Sign\BadSignatureException $e)
{
	die();
}

$parameters = unserialize(base64_decode($paramString));
if (isset($parameters['PARENT_NAME']))
{
	$parent = new CBitrixComponent();
	$parent->InitComponent($parameters['PARENT_NAME'], $parameters['PARENT_TEMPLATE_NAME']);
	$parent->InitComponentTemplate($parameters['PARENT_TEMPLATE_PAGE']);
}
else
{
	$parent = false;
}


/**
 * пред обработка параметров компонента
 * */
$GLOBALS[$parameters['FILTER_NAME']] = $parameters['GLOBAL_FILTER'];

foreach ($parameters as $key => $val)
{
	if(strpos($key, '~') !== false)
	{
		$parameters[str_replace('~', '', $key)] = $val;
	}
}

/**
 * этот параметр нужен для того чтобы постраничка верно работала
 * */
$GLOBALS["NavNum"] = $request->get('PAGEN')-1;

$APPLICATION->IncludeComponent(
	$parameters['COMPONENT_NAME'],
	$template,
	$parameters,
	$parent
);