- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/update_client_partner.php
- Класс: CUpdateClientPartner
- Вызов: CUpdateClientPartner::SearchModulesEx
static function SearchModulesEx($arOrder, $arFilter, $searchPage, $lang, &$strError)
{
$strError_tmp = "";
$arResult = array();
CUpdateClientPartner::AddMessage2Log("exec CUpdateClientPartner::SearchModulesEx");
$arOrderKeys = array_keys($arOrder);
$strQuery = CUpdateClientPartner::__CollectRequestData(
$strError_tmp,
$lang,
'Y',
array(),
array(
"search_module_id" => $arFilter["ID"] ?? '',
"search_module" => $arFilter["NAME"] ?? '',
"search_category" => (isset($arFilter["CATEGORY"]) && is_array($arFilter["CATEGORY"]) ? implode(",", $arFilter["CATEGORY"]) : $arFilter["CATEGORY"] ?? ''),
"search_type" => (isset($arFilter["TYPE"]) && is_array($arFilter["TYPE"]) ? implode(",", $arFilter["TYPE"]) : $arFilter["TYPE"] ?? ''),
"search_order" => $arOrder[$arOrderKeys[0]] ?? '',
"search_order_by" => $arOrderKeys[0] ?? '',
"search_page" => $searchPage
)
);
if ($strQuery === false || $strQuery == '' || $strError_tmp <> '')
{
$strError .= $strError_tmp;
CUpdateClientPartner::AddMessage2Log("Empty query list", "GUL01");
return false;
}
CUpdateClientPartner::AddMessage2Log(preg_replace("/LICENSE_KEY=[^&]*/i", "LICENSE_KEY=X", $strQuery));
$stime = microtime(true);
$content = CUpdateClientPartner::__GetHTTPPage("SEARCH", $strQuery, $strError_tmp);
CUpdateClientPartner::AddMessage2Log("TIME SearchModulesEx(request) ".Round(microtime(true) - $stime, 3)." sec");
$arResult = Array();
if ($strError_tmp == '')
CUpdateClientPartner::__ParseServerData($content, $arResult, $strError_tmp);
if ($strError_tmp == '')
{
if (!isset($arResult["DATA"]) || !is_array($arResult["DATA"]))
$strError_tmp .= "[UGAUT01] ".GetMessage("SUPP_GAUT_SYSERR").". ";
}
if ($strError_tmp == '')
{
$arResult = $arResult["DATA"]["#"];
if (!is_array($arResult["CLIENT"]) && (!isset($arResult["ERROR"]) || !is_array($arResult["ERROR"])))
$strError_tmp .= "[UGAUT01] ".GetMessage("SUPP_GAUT_SYSERR").". ";
}
if (isset($arResult["ERROR"]))
{
for ($i = 0, $cnt = count($arResult["ERROR"]); $i < $cnt; $i++)
$strError_tmp .= "[".$arResult["ERROR"][$i]["@"]["TYPE"]."] ".$arResult["ERROR"][$i]["#"];
}
if ($strError_tmp <> '')
{
CUpdateClientPartner::AddMessage2Log($strError_tmp, "GUL02");
$strError .= $strError_tmp;
return false;
}
else
return $arResult;
}