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

CClusterWebnode::GetList: метод Битрикс

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

<?php 
//    /bitrix/modules/cluster/classes/general/webnode.phpCClusterWebnode::GetList()
//    96:

    
public static function GetList($arOrder=false$arFilter=false$arSelect=false)
    {
        global 
$DB;

        if(!
is_array($arSelect))
            
$arSelect = array();
        if(
count($arSelect) < 1)
            
$arSelect = array(
                
"ID",
                
"NAME",
                
"DESCRIPTION",
                
"HOST",
                
"PORT",
                
"STATUS_URL",
            );

        if(!
is_array($arOrder))
            
$arOrder = array();

        
$arQueryOrder = array();
        foreach(
$arOrder as $strColumn => $strDirection)
        {
            
$strColumn strtoupper($strColumn);
            
$strDirection strtoupper($strDirection)=="ASC""ASC""DESC";
            switch(
$strColumn)
            {
                case 
"ID":
                case 
"NAME":
                    
$arSelect[] = $strColumn;
                    
$arQueryOrder[$strColumn] = $strColumn." ".$strDirection;
                    break;
            }
        }

        
$arQuerySelect = array();
        foreach(
$arSelect as $strColumn)
        {
            
$strColumn strtoupper($strColumn);
            switch(
$strColumn)
            {
                case 
"ID":
                case 
"NAME":
                case 
"DESCRIPTION":
                case 
"HOST":
                case 
"PORT":
                case 
"STATUS_URL":
                    
$arQuerySelect[$strColumn] = "w.".$strColumn;
                    break;
            }
        }
        if(
count($arQuerySelect) < 1)
            
$arQuerySelect = array("ID"=>"w.ID");

        
$obQueryWhere = new CSQLWhere;
        
$arFields = array(
            
"ID" => array(
                
"TABLE_ALIAS" => "w",
                
"FIELD_NAME" => "w.ID",
                
"FIELD_TYPE" => "int",
                
"JOIN" => false,
            ),
            
"GROUP_ID" => array(
                
"TABLE_ALIAS" => "w",
                
"FIELD_NAME" => "w.GROUP_ID",
                
"FIELD_TYPE" => "int",
                
"JOIN" => false,
            ),
            
"NAME" => array(
                
"TABLE_ALIAS" => "w",
                
"FIELD_NAME" => "w.NAME",
                
"FIELD_TYPE" => "string",
                
"JOIN" => false,
            ),
            
"HOST" => array(
                
"TABLE_ALIAS" => "w",
                
"FIELD_NAME" => "w.HOST",
                
"FIELD_TYPE" => "string",
                
"JOIN" => false,
            ),
            
"PORT" => array(
                
"TABLE_ALIAS" => "w",
                
"FIELD_NAME" => "w.PORT",
                
"FIELD_TYPE" => "int",
                
"JOIN" => false,
            ),
        );
        
$obQueryWhere->SetFields($arFields);

        if(!
is_array($arFilter))
            
$arFilter = array();
        
$strQueryWhere $obQueryWhere->GetQuery($arFilter);

        
$bDistinct $obQueryWhere->bDistinctReqired;

        
$strSql "
            SELECT "
.($bDistinct"DISTINCT""")."
            "
.implode(", "$arQuerySelect)."
            FROM
                b_cluster_webnode w
            "
.$obQueryWhere->GetJoins()."
        "
;

        if(
$strQueryWhere)
        {
            
$strSql .= "
                WHERE
                "
.$strQueryWhere."
            "
;
        }

        if(
count($arQueryOrder) > 0)
        {
            
$strSql .= "
                ORDER BY
                "
.implode(", "$arQueryOrder)."
            "
;
        }

        return 
$DB->Query($strSqlfalse'', array('fixed_connection'=>true));
    }

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

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

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

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

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

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

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

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