function GetLoadedHelpUpdates($updates_dir, &$strError) { $arResult = array(); $strError_tmp = ""; CUpdateSystem::AddMessage2Log("exec CUpdateSystem::GetLoadedHelpUpdates"); $updates_dir_full = $_SERVER["DOCUMENT_ROOT"]."/bitrix/updates/".$updates_dir; if (!file_exists($updates_dir_full) || !is_dir($updates_dir_full)) { $strError_tmp .= "[UGLHU01] ".str_replace("#FILE#", $updates_dir_full, GetMessage("SUPP_CU_NO_TMP_CAT")).".<br>"; } if (strlen($strError_tmp)<=0) { if (!is_readable($updates_dir_full)) $strError_tmp .= "[UGLHU02] ".str_replace("#FILE#", $updates_dir_full, GetMessage("SUPP_CU_RD_TMP_CAT")).".<br>"; } if (strlen($strError_tmp)<=0) { if (!file_exists($updates_dir_full."/update_info.xml") || !is_file($updates_dir_full."/update_info.xml")) { $strError_tmp .= "[UGLHU03] ".str_replace("#FILE#", $updates_dir_full."/update_info.xml", GetMessage("SUPP_RV_ER_DESCR_FILE")).".<br>"; } } if (strlen($strError_tmp)<=0) { if (!is_readable($updates_dir_full."/update_info.xml")) $strError_tmp .= "[UGLHU04] ".str_replace("#FILE#", $updates_dir_full."/update_info.xml", GetMessage("SUPP_RV_READ_DESCR_FILE")).".<br>"; } if (strlen($strError_tmp)<=0) { $content = file_get_contents($updates_dir_full."/update_info.xml"); } //echo "!1!".htmlspecialchars($content)."!2!"; if (strlen($strError_tmp)<=0) { $arRes = Array(); CUpdateSystem::ParseServerData($content, $arRes, $strError_tmp); } //echo "!3!".htmlspecialchars($content)."!4!"; //echo "<pre>";print_r($arRes);echo "</pre>"; if (strlen($strError_tmp)<=0) { if (isset($arRes["DATA"]["#"]["HELPS"]) && is_array($arRes["DATA"]["#"]["HELPS"]) && count($arRes["DATA"]["#"]["HELPS"])>0) { $arResult["HELPS"] = $arRes["DATA"]["#"]["HELPS"][0]; } if (isset($arRes["DATA"]["#"]["ERROR"]) && is_array($arRes["DATA"]["#"]["ERROR"]) && count($arRes["DATA"]["#"]["ERROR"])>0) { $arResult["ERROR"] = $arRes["DATA"]["#"]["ERROR"]; } if (isset($arRes["DATA"]["#"]["CLIENT"]) && is_array($arRes["DATA"]["#"]["CLIENT"]) && count($arRes["DATA"]["#"]["CLIENT"])>0) { $arResult["CLIENT"] = $arRes["DATA"]["#"]["CLIENT"][0]; } if (isset($arRes["DATA"]["#"]["SYSTEM"]) && is_array($arRes["DATA"]["#"]["SYSTEM"]) && count($arRes["DATA"]["#"]["SYSTEM"])>0) { $arResult["SYSTEM"] = $arRes["DATA"]["#"]["SYSTEM"][0]; } } if (strlen($strError_tmp)<=0) { if ((!isset($arResult["CLIENT"]) || !is_array($arResult["CLIENT"])) && (!isset($arResult["ERROR"]) || !is_array($arResult["ERROR"]))) { $strError_tmp .= "[UGSHU01] ".GetMessage("SUPP_GAUT_SYSERR").".<br>"; } } if (strlen($strError_tmp)>0) { CUpdateSystem::AddMessage2Log($strError_tmp, "CUGLHU"); $strError .= $strError_tmp; return False; } else return $arResult; }