- Модуль: xdimport
- Путь к файлу: ~/bitrix/modules/xdimport/classes/general/lf_scheme_rss_atom.php
- Класс: CXDILFSchemeRSSAtom
- Вызов: CXDILFSchemeRSSAtom::FormatArray
static function FormatArray(&$arRes, $objXML)
{
$entries = $objXML->GetTree()->children[0]->elementsByName('entry');
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["subtitle"][0]["#"]))
$arRes["subtitle"][0]["#"] = $arRes["description"][0]["#"]["cdata-section"][0]["#"];
$arResult = array(
"title" => $arRes["title"][0]["#"],
"link" => $arRes["link"][0]["#"],
"description" => $arRes["subtitle"][0]["#"],
"updated" => $arRes["updated"][0]["#"],
"ttl" => 0,
);
if ($arRes["logo"])
{
$arResult["image"] = array(
'url' => $arRes["logo"][0]["#"]
);
}
foreach($arRes["entry"] 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]["#"];
$description = '';
if (
isset($arItem["#"]["content"])
&& is_array($arItem["#"]["content"])
)
{
$type = (
isset($arItem["#"]["content"][0]["@"])
&& is_array($arItem["#"]["content"][0]["@"])
&& isset($arItem["#"]["content"][0]["@"]["type"])
? $arItem["#"]["content"][0]["@"]["type"]
: false
);
if ($type == "xhtml")
{
$description = $entries[$i]->elementsByName('content')[0]->children[0]->__toString();
}
else
{
$description = $arItem["#"]["content"][0]["#"];
}
}
elseif (
isset($arItem["#"]["summary"])
&& is_array($arItem["#"]["summary"])
)
{
$description = $arItem["#"]["summary"][0]["#"];
}
if (is_array($description))
{
$description = $description["cdata-section"][0]["#"];
}
$arResult["item"][$i]["description"] = $description;
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]["#"];
if (
empty($arItem["#"]["link"][0]["#"])
&& !empty($arItem["#"]["link"][0]["@"])
&& is_array($arItem["#"]["link"][0]["@"])
&& !empty($arItem["#"]["link"][0]["@"]["href"])
)
{
$arItem["#"]["link"][0]["#"] = $arItem["#"]["link"][0]["@"]["href"];
}
$arResult["item"][$i]["link"] = $arItem["#"]["link"][0]["#"];
$arResult["item"][$i]["category"] = $arItem["#"]["category"][0]["#"];
$arResult["item"][$i]["pubDate"] = $arItem["#"]["published"][0]["#"];
$arRes["item"][$i] = $arItem;
}
return $arResult;
}