• Модуль: 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;
}