• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/update_client_partner.php
  • Класс: CUpdateClientPartner
  • Вызов: CUpdateClientPartner::__CollectRequestData
static function __CollectRequestData(&$strError, $lang = false, $stableVersionsOnly = "Y", $arRequestedModules = array(), $arAdditionalData = array(), $bStrongList = false)
{
	$strResult = "";
	$strError_tmp = "";

	if ($lang === false)
		$lang = LANGUAGE_ID;

	$stableVersionsOnly = (($stableVersionsOnly == "N") ? "N" : "Y");

	CUpdateClientPartner::AddMessage2Log("exec CUpdateClientPartner::__CollectRequestData");

	CUpdateClientPartner::__CheckDirPath($_SERVER["DOCUMENT_ROOT"]."/bitrix/updates/", true);

	$arClientModules = CUpdateClientPartner::GetCurrentModules($strError_tmp);

	if ($strError_tmp == '')
	{
		$license = BitrixMainApplication::getInstance()->getLicense();

		$dbv = $GLOBALS["DB"]->GetVersion();

		$strResult = "utf=".urlencode(defined('BX_UTF') ? "Y" : "N").
			"&lang=".urlencode($lang).
			"&stable=".urlencode($stableVersionsOnly).
			"&CANGZIP=".urlencode((CUpdateClientPartner::__IsGzipInstalled()) ? "Y" : "N").
			"&SUPD_DBS=".urlencode($GLOBALS["DB"]->type).
			"&XE=".urlencode((isset($GLOBALS["DB"]->XE) && $GLOBALS["DB"]->XE) ? "Y" : "N").
			"&CLIENT_SITE=".urlencode($_SERVER["SERVER_NAME"]).
			"&LICENSE_KEY=".urlencode($license->getHashLicenseKey()).
			"&SUPD_STS=".urlencode(CUpdateClientPartner::__GetFooPath()).
			"&SUPD_URS=".urlencode($license->getActiveUsersCount()).
			"&TYPENC=".($license->isDemo() ? "D" : ($license->isEncoded() ? "E" : ($license->isTimeBound() ? "T" : "F"))).
			"&CLIENT_PHPVER=".urlencode(phpversion()).
			"&NGINX=".urlencode(COption::GetOptionString("main", "update_use_nginx", "Y")).
			"&dbv=".urlencode($dbv != false ? $dbv : "");

		$strResultTmp = "";
		if (!empty($arClientModules))
		{
			foreach ($arClientModules as $key => $value)
			{
				if ($strResultTmp <> '')
					$strResultTmp .= ";";
				$strResultTmp .= $key.",".$value["VERSION"].",".$value["IS_DEMO"];
			}
		}
		if ($strResultTmp <> '')
			$strResult .= "&instm=".urlencode($strResultTmp);

		$strResultTmp = "";
		if (!empty($arRequestedModules))
		{
			for ($i = 0, $cnt = count($arRequestedModules); $i < $cnt; $i++)
			{
				if ($strResultTmp <> '')
					$strResultTmp .= ",";
				$strResultTmp .= $arRequestedModules[$i];
			}
		}
		if ($strResultTmp <> '')
			$strResult .= "&reqm=".urlencode($strResultTmp);

		if ($bStrongList)
			$strResult .= "&lim=Y";

		$strResultTmp = "";
		if (!empty($arAdditionalData))
		{
			foreach ($arAdditionalData as $key => $value)
			{
				if ($strResultTmp <> '')
					$strResultTmp .= "&";
				$strResultTmp .= $key."=".urlencode($value);
			}
		}
		if ($strResultTmp <> '')
			$strResult .= "&".$strResultTmp;

		if (CModule::IncludeModule("cluster") && class_exists("CCluster"))
			$strResult .= "&SUPD_SRS=".urlencode(CCluster::getServersCount());
		else
			$strResult .= "&SUPD_SRS=".urlencode("RU");

		if (method_exists("CHTMLPagesCache", "IsOn") && method_exists("CHTMLPagesCache", "IsCompositeEnabled") && CHTMLPagesCache::IsOn() && CHTMLPagesCache::IsCompositeEnabled())
			$strResult .= "&SUPD_CMP=".urlencode("Y");
		else
			$strResult .= "&SUPD_CMP=".urlencode("N");

		return $strResult;
	}

	CUpdateClientPartner::AddMessage2Log($strError_tmp, "NCRD01");
	$strError .= $strError_tmp;
	return false;
}