Поддержка серверов

CUpdateSystem::GetAvailableUpdateTypes: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=176697

<?php 
//    /bitrix/modules/main/classes/general/update_class.phpCUpdateSystem::GetAvailableUpdateTypes()
//    736:

    
public static function GetAvailableUpdateTypes(&$strError$lang false$stableVersionsOnly "Y")
    {
        
$arResult = array();
        
$strError_tmp "";

        
CUpdateSystem::AddMessage2Log("exec CUpdateSystem::GetAvailableUpdateTypes");

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

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

        
CUpdateSystem::CheckDirPath($_SERVER["DOCUMENT_ROOT"]."/bitrix/updates/"true);

        
$arClientModules CUpdateSystem::GetModules($strError_tmp);
        
$arClientLanguages CUpdateSystem::GetLanguages($strError_tmp);
        
$arClientHelps CUpdateSystem::GetHelps($strError_tmp);

        if (
strlen($strError_tmp)<=0)
        {
            
$GLOBALS["DB"]->GetVersion();

            
$strVars "LICENSE_KEY=".urlencode(md5(CUpdateSystem::GetLicenseKey())).
                
"&lang=".urlencode($lang).
                
"&UTYPES=".urlencode("MLH").
                
"&SUPD_VER=".urlencode(UPDATE_SYSTEM_VERSION).
                
"&ALL_MODULES=".urlencode("Y").
                
"&TYPENC=".((defined("DEMO") && DEMO=="Y") ? "D" : ((defined("ENCODE") && ENCODE=="Y") ? "E" "F" )).
                
"&COUNT_ONLY=".urlencode("Y").
                
"&SUPD_STS=".urlencode(CUpdateSystem::GetFooPath("GetList")).
                
"&SUPD_DBS=".urlencode($GLOBALS["DB"]->type).
                
"&XE=".urlencode(($GLOBALS["DB"]->XE) ? "Y" "N").
                
"&CLIENT_SITE=".urlencode($_SERVER["SERVER_NAME"]).
                
"&CANGZIP=".urlencode((CUpdateSystem::IsGzipInstalled()) ? "Y" "N").
                
"&CLIENT_PHPVER=".urlencode(phpversion()).
                
"&stable=".urlencode($stableVersionsOnly).
                
"&".CUpdateSystem::ModulesArray2Query($arClientModules"bitm_").
                
"&".CUpdateSystem::ModulesArray2Query($arClientLanguages"bitl_").
                
"&".CUpdateSystem::ModulesArray2Query($arClientHelps"bith_");

            
CUpdateSystem::AddMessage2Log(preg_replace("/LICENSE_KEY=[^&]*/i""LICENSE_KEY=X"$strVars));

            
$stime CUpdateSystem::getmicrotime();
            
$content CUpdateSystem::getHTTPPage("bit_sysserver.php"$strVars$strError_tmp);
            
CUpdateSystem::AddMessage2Log("TIME GetAvailableUpdateTypes.getHTTPPage ".Round(CUpdateSystem::getmicrotime()-$stime3)." sec");
        }

        if (
strlen($strError_tmp)<=0)
        {
            
$arRes = Array();
            
CUpdateSystem::ParseServerData($content$arRes$strError_tmp);
        }

        if (
strlen($strError_tmp)<=0)
        {
            if (isset(
$arRes["DATA"]["#"]["UPDATE_SYSTEM"])
                && 
is_array($arRes["DATA"]["#"]["UPDATE_SYSTEM"])
                && 
count($arRes["DATA"]["#"]["UPDATE_SYSTEM"])>0)
            {
                
$arResult["UPDATE_SYSTEM"] = $arRes["DATA"]["#"]["UPDATE_SYSTEM"][0];
            }

            if (isset(
$arRes["DATA"]["#"]["MODULES"])
                && 
is_array($arRes["DATA"]["#"]["MODULES"])
                && 
count($arRes["DATA"]["#"]["MODULES"])>0)
            {
                
$arResult["MODULES"] = $arRes["DATA"]["#"]["MODULES"][0];
            }

            if (isset(
$arRes["DATA"]["#"]["LANGS"])
                && 
is_array($arRes["DATA"]["#"]["LANGS"])
                && 
count($arRes["DATA"]["#"]["LANGS"])>0)
            {
                
$arResult["LANGS"] = $arRes["DATA"]["#"]["LANGS"][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 .= "[UGAUT01] ".GetMessage("SUPP_GAUT_SYSERR").".<br>";
            }
        }

        if (
strlen($strError_tmp)>0)
        {
            
CUpdateSystem::AddMessage2Log($strError_tmp"CUGAUT");
            
$strError .= $strError_tmp;
            return 
False;
        }
        else
            return 
$arResult;
    }

Блог разработчика

9 Августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 Июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 Июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение