• Модуль: xdimport
  • Путь к файлу: ~/bitrix/modules/xdimport/classes/general/lf_scheme_rss.php
  • Класс: CXDILFSchemeRSS
  • Вызов: CXDILFSchemeRSS::FormatArray
static function FormatArray(&$arRes)
{
	if(is_array($arRes["title"][0]["#"]))
		$arRes["title"][0]["#"] = $arRes["title"][0]["#"]["cdata-section"][0]["#"];
	if(is_array($arRes["link"][0]["#"]))
		$arRes["link"][0]["#"] = $arRes["link"][0]["#"]["cdata-section"][0]["#"];
	if(is_array($arRes["description"][0]["#"]))
		$arRes["description"][0]["#"] = $arRes["description"][0]["#"]["cdata-section"][0]["#"];

	$arResult = array(
		"title" => $arRes["title"][0]["#"],
		"link" => $arRes["link"][0]["#"],
		"description" => $arRes["description"][0]["#"],
		"lastBuildDate" => $arRes["lastBuildDate"][0]["#"],
		"ttl" => $arRes["ttl"][0]["#"],
	);

	if ($arRes["image"])
	{
		if(is_array($arRes["image"][0]["#"]))
		{
			$arResult["image"]["title"] = $arRes["image"][0]["#"]["title"][0]["#"];
			$arResult["image"]["url"] = $arRes["image"][0]["#"]["url"][0]["#"];
			$arResult["image"]["link"] = $arRes["image"][0]["#"]["link"][0]["#"];
			$arResult["image"]["width"] = $arRes["image"][0]["#"]["width"][0]["#"];
			$arResult["image"]["height"] = $arRes["image"][0]["#"]["height"][0]["#"];
		}
		elseif(is_array($arRes["image"][0]["@"]))
		{
			$arResult["image"]["title"] = $arRes["image"][0]["@"]["title"];
			$arResult["image"]["url"] = $arRes["image"][0]["@"]["url"];
			$arResult["image"]["link"] = $arRes["image"][0]["@"]["link"];
			$arResult["image"]["width"] = $arRes["image"][0]["@"]["width"];
			$arResult["image"]["height"] = $arRes["image"][0]["@"]["height"];
		}
	}

	foreach($arRes["item"] as $i => $arItem)
	{
		if(!is_array($arItem) || !is_array($arItem["#"]))
			continue;

		if(is_array($arItem["#"]["title"][0]["#"]))
			$arItem["#"]["title"][0]["#"] = $arItem["#"]["title"][0]["#"]["cdata-section"][0]["#"];

		if(is_array($arItem["#"]["description"][0]["#"]))
			$arItem["#"]["description"][0]["#"] = $arItem["#"]["description"][0]["#"]["cdata-section"][0]["#"];
		elseif(is_array($arItem["#"]["encoded"][0]["#"]))
			$arItem["#"]["description"][0]["#"] = $arItem["#"]["encoded"][0]["#"]["cdata-section"][0]["#"];
		$arResult["item"][$i]["description"] = $arItem["#"]["description"][0]["#"];

		if(is_array($arItem["#"]["title"][0]["#"]))
			$arItem["#"]["title"][0]["#"] = $arItem["#"]["title"][0]["#"]["cdata-section"][0]["#"];
		$arResult["item"][$i]["title"] = $arItem["#"]["title"][0]["#"];

		if(is_array($arItem["#"]["link"][0]["#"]))
			$arItem["#"]["link"][0]["#"] = $arItem["#"]["link"][0]["#"]["cdata-section"][0]["#"];
		$arResult["item"][$i]["link"] = $arItem["#"]["link"][0]["#"];

		if ($arItem["#"]["enclosure"])
		{
			$arResult["item"][$i]["enclosure"]["url"] = $arItem["#"]["enclosure"][0]["@"]["url"];
			$arResult["item"][$i]["enclosure"]["length"] = $arItem["#"]["enclosure"][0]["@"]["length"];
			$arResult["item"][$i]["enclosure"]["type"] = $arItem["#"]["enclosure"][0]["@"]["type"];
			if ($arItem["#"]["enclosure"][0]["@"]["width"])
			{
				$arResult["item"][$i]["enclosure"]["width"] = $arItem["#"]["enclosure"][0]["@"]["width"];
			}
			if ($arItem["#"]["enclosure"][0]["@"]["height"])
			{
				$arResult["item"][$i]["enclosure"]["height"] = $arItem["#"]["enclosure"][0]["@"]["height"];
			}
		}
		$arResult["item"][$i]["category"] = $arItem["#"]["category"][0]["#"];
		$arResult["item"][$i]["pubDate"] = $arItem["#"]["pubDate"][0]["#"];

		$arRes["item"][$i] = $arItem;
	}

	return $arResult;
}