- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/component_ajax.php
- Класс: CComponentAjax
- Вызов: CComponentAjax::_PrepareAdditionalData
function _PrepareAdditionalData()
{
/** @global CMain $APPLICATION */
global $APPLICATION;
// get CSS changes list
if ($this->bStyle)
{
$arCSSList = $APPLICATION->sPath2css;
$cnt_old = count($this->arCSSList);
$cnt_new = count($arCSSList);
$arCSSNew = array();
if ($cnt_old != $cnt_new)
for ($i = $cnt_old; $i<$cnt_new; $i++)
{
$css_path = $arCSSList[$i];
if(mb_strtolower(mb_substr($css_path, 0, 7)) != 'http://' && mb_strtolower(mb_substr($css_path, 0, 8)) != 'https://')
{
if(($p = mb_strpos($css_path, "?"))>0)
$css_file = mb_substr($css_path, 0, $p);
else
$css_file = $css_path;
if(file_exists($_SERVER["DOCUMENT_ROOT"].$css_file))
$arCSSNew[] = $arCSSList[$i];
}
else
$arCSSNew[] = $arCSSList[$i];
}
}
// get scripts changes list
$arHeadScripts = $APPLICATION->arHeadScripts;
$cnt_old = count($this->arHeadScripts);
$cnt_new = count($arHeadScripts);
$arHeadScriptsNew = array();
if ($cnt_old != $cnt_new)
for ($i = $cnt_old; $i<$cnt_new; $i++)
$arHeadScriptsNew[] = $arHeadScripts[$i];
if(!$APPLICATION->oAsset->optimizeJs())
{
$arHeadScriptsNew = array_merge(CJSCore::GetScriptsList(), $arHeadScriptsNew);
}
// prepare additional data
$arAdditionalData = array();
$arAdditionalData['TITLE'] = htmlspecialcharsback($APPLICATION->GetTitle());
$arAdditionalData['WINDOW_TITLE'] = htmlspecialcharsback($APPLICATION->GetTitle('title'));
$arAdditionalData['SCRIPTS'] = array();
$arHeadScriptsNew = array_unique($arHeadScriptsNew);
foreach($arHeadScriptsNew as $script)
{
$arAdditionalData['SCRIPTS'][] = CUtil::GetAdditionalFileURL($script);
}
if (null !== $this->__nav_params)
{
$arAdditionalData['NAV_CHAIN'] = $APPLICATION->GetNavChain($this->__nav_params[0], $this->__nav_params[1], $this->__nav_params[2], $this->__nav_params[3], $this->__nav_params[4]);
}
if ($this->bStyle)
{
$arAdditionalData["CSS"] = array();
/** @noinspection PhpUndefinedVariableInspection */
$arCSSNew = array_unique($arCSSNew);
foreach($arCSSNew as $style)
{
$arAdditionalData['CSS'][] = CUtil::GetAdditionalFileURL($style);
}
}
$additional_data = '';
return $additional_data;
}