• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/php_parser.php
  • Класс: PHPParser
  • Вызов: PHPParser::CheckForComponent
static function CheckForComponent($str)
{
	if(mb_substr($str, 0, 5) == "INCLUDEFILE(':
				$params = mb_substr($new_str, $pos + 1);
				$arParams = PHPParser::GetParams($params);
				$arIncludeParams = array();

				if(preg_match("/^array\(/i", $arParams[1]))
				{
					$arParams2 = PHPParser::GetParams(mb_substr($arParams[1], 6));
					foreach($arParams2 as $el)
					{
						$p = mb_strpos($el, "=>");
						$el_ind = PHPParser::ReplString(mb_substr($el, 0, $p), $arAllStr);
						$el_val = mb_substr($el, $p + 2);
						if(preg_match("/^array\(/i", $el_val))
						{
							$res_ar = array();
							$arParamsN = PHPParser::GetParams(mb_substr($el_val, 6));
							foreach($arParamsN as $param)
							{
								$res_ar[] = PHPParser::ReplString($param, $arAllStr);
							}

							$arIncludeParams[$el_ind] = $res_ar;
						}
						else
						{
							$arIncludeParams[$el_ind] = PHPParser::ReplString($el_val, $arAllStr);
						}
					}
				}
				return array(
					"SCRIPT_NAME" => PHPParser::ReplString($arParams[0], $arAllStr),
					"PARAMS" => $arIncludeParams,
					"VARIABLE" => $var_name,
				);
		}
	}
	return false;
}