- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblockrss.php
- Класс: CAllIBlockRSS
- Вызов: CAllIBlockRSS::FormatArray
static function FormatArray(&$arRes, $bOutChannel=false)
{
if (!$bOutChannel)
{
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"];
}
}
if (!empty($arRes["item"]) && is_array($arRes["item"]))
{
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;
}
}
}
else
{
$arResult = array(
"title" => $arRes["channel"][0]["#"]["title"][0]["#"],
"link" => $arRes["channel"][0]["#"]["link"][0]["#"],
"description" => $arRes["channel"][0]["#"]["description"][0]["#"],
"lastBuildDate" => $arRes["channel"][0]["#"]["lastBuildDate"][0]["#"],
"ttl" => $arRes["channel"][0]["#"]["ttl"][0]["#"],
);
if ($arRes["image"])
{
$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]["#"];
}
if (!empty($arRes["item"]) && is_array($arRes["item"]))
{
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]["#"];
$arResult["item"][$i]["title"] = $arItem["#"]["title"][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;
}