• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/component_engine.php
  • Класс: partCComponentEngine
  • Вызов: CComponentEngine::initComponentVariables
static function initComponentVariables($componentPage, $arComponentVariables, $arVariableAliases, &$arVariables)
{
	if (!isset($arVariables) || !is_array($arVariables))
		$arVariables = array();

	if ($componentPage)
	{
		if (array_key_exists($componentPage, $arVariableAliases) && is_array($arVariableAliases[$componentPage]))
		{
			foreach ($arVariableAliases[$componentPage] as $variableName => $aliasName)
				if (!array_key_exists($variableName, $arVariables))
					$arVariables[$variableName] = $_REQUEST[$aliasName];
		}
	}
	else
	{
		foreach ($arVariableAliases as $variableName => $aliasName)
			if (!array_key_exists($variableName, $arVariables))
				if (is_string($aliasName) && array_key_exists($aliasName, $_REQUEST))
					$arVariables[$variableName] = $_REQUEST[$aliasName];
	}

	if ($arComponentVariables && is_array($arComponentVariables))
	{
		for ($i = 0, $cnt = count($arComponentVariables); $i < $cnt; $i++)
		{
			if (!array_key_exists($arComponentVariables[$i], $arVariables)
				&& array_key_exists($arComponentVariables[$i], $_REQUEST))
			{
				$arVariables[$arComponentVariables[$i]] = $_REQUEST[$arComponentVariables[$i]];
			}
		}
	}
}