- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/component_util.php
- Класс: CComponentUtil
- Вызов: CComponentUtil::PrepareVariables
static function PrepareVariables(&$arData)
{
unset($arData["NEW_COMPONENT_TEMPLATE"]);
if ($arData["SEF_MODE"] == "Y")
{
unset($arData["VARIABLE_ALIASES"]);
unset($arData["SEF_URL_TEMPLATES"]);
foreach ($arData as $dataKey => $dataValue)
{
if (mb_substr($dataKey, 0, mb_strlen("SEF_URL_TEMPLATES_")) == "SEF_URL_TEMPLATES_")
{
$arData["SEF_URL_TEMPLATES"][mb_substr($dataKey, mb_strlen("SEF_URL_TEMPLATES_"))] = $dataValue;
unset($arData[$dataKey]);
if (preg_match_all("'(\?|&)(.+?)=#([^#]+?)#'is", $dataValue, $arMatches, PREG_SET_ORDER))
{
foreach ($arMatches as $arMatch)
$arData["VARIABLE_ALIASES"][mb_substr($dataKey, mb_strlen("SEF_URL_TEMPLATES_"))][$arMatch[3]] = $arMatch[2];
}
}
elseif (mb_substr($dataKey, 0, mb_strlen("VARIABLE_ALIASES_")) == "VARIABLE_ALIASES_")
{
unset($arData[$dataKey]);
}
}
}
else
{
unset($arData["VARIABLE_ALIASES"]);
unset($arData["SEF_URL_TEMPLATES"]);
foreach ($arData as $dataKey => $dataValue)
{
if (mb_substr($dataKey, 0, mb_strlen("SEF_URL_TEMPLATES_")) == "SEF_URL_TEMPLATES_")
{
unset($arData[$dataKey]);
}
elseif (mb_substr($dataKey, 0, mb_strlen("VARIABLE_ALIASES_")) == "VARIABLE_ALIASES_")
{
$arData["VARIABLE_ALIASES"][mb_substr($dataKey, mb_strlen("VARIABLE_ALIASES_"))] = $dataValue;
unset($arData[$dataKey]);
}
}
}
}