Требуется разработчик! Поддержка серверов

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

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

<?php 
//    CFormField::GetList()
//    /bitrix/modules/form/classes/general/form_callformfield.php:17

    
function GetList($WEB_FORM_ID$get_fields, &$by, &$order$arFilter=Array(), &$is_filtered)
    {
        
$err_mess = (CAllFormField::err_mess())."<br>Function: GetList<br>Line: ";
        global 
$DB$strError;
        
$WEB_FORM_ID intval($WEB_FORM_ID);
        
$str "";
        if (
strlen($get_fields)>&& $get_fields!="ALL")
        {
            0850
eadce9c5effb156bd18e1dbe0092InitBVar($get_fields);
            
$str "and ADDITIONAL='$get_fields'";
        }
        
$arSqlSearch = Array();
        
$strSqlSearch "";
        if (
is_array($arFilter))
        {
            if(isset(
$arFilter["SID"]) && strlen($arFilter["SID"])>0)
            {
                
$arFilter["VARNAME"] = $arFilter["SID"];
            }
            elseif(isset(
$arFilter["VARNAME"]) && strlen($arFilter["VARNAME"])>0)
            {
                
$arFilter["SID"] = $arFilter["VARNAME"];
            }

            
$filter_keys array_keys($arFilter);
            for (
$i=0$i<count($filter_keys); $i++)
            {
                
$key $filter_keys[$i];
                
$val $arFilter[$filter_keys[$i]];
                if (
strlen($val)<=|| "$val"=="NOT_REF") continue;
                if (
is_array($val) && count($val)<=0) continue;
                
$match_value_set = (in_array($key."_EXACT_MATCH"$filter_keys)) ? true false;
                
$key strtoupper($key);
                switch(
$key)
                {
                    case 
"ID":
                    case 
"SID":
                        
$match = ($arFilter[$key."_EXACT_MATCH"]=="N" && $match_value_set) ? "Y" "N";
                        
$arSqlSearch[] = GetFilterQuery("F.".$key$val$match);
                        break;
                    case 
"TITLE":
                    case 
"COMMENTS":
                        
$match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" "Y";
                        
$arSqlSearch[] = GetFilterQuery("F.".$key$val$match);
                        break;
                    case 
"ACTIVE":
                    case 
"IN_RESULTS_TABLE":
                    case 
"IN_EXCEL_TABLE":
                    case 
"IN_FILTER":
                    case 
"REQUIRED":
                        
$arSqlSearch[] = ($val=="Y") ? "F.".$key."='Y'" "F.".$key."='N'";
                        break;
                }
            }
        }
        if (
$by == "s_id")                        $strSqlOrder "ORDER BY F.ID";
        elseif (
$by == "s_active")                $strSqlOrder "ORDER BY F.ACTIVE";
        elseif (
$by == "s_varname" ||
                
$by == "s_sid")                    $strSqlOrder "ORDER BY F.SID";
        elseif (
$by == "s_c_sort" ||
                
$by == "s_sort")                $strSqlOrder "ORDER BY F.C_SORT";
        elseif (
$by == "s_title")                $strSqlOrder "ORDER BY F.TITLE";
        elseif (
$by == "s_comments")            $strSqlOrder "ORDER BY F.COMMENTS";
        elseif (
$by == "s_required")            $strSqlOrder "ORDER BY F.REQUIRED";
        elseif (
$by == "s_in_results_table")    $strSqlOrder "ORDER BY F.IN_RESULTS_TABLE";
        elseif (
$by == "s_in_excel_table")        $strSqlOrder "ORDER BY F.IN_EXCEL_TABLE";
        elseif (
$by == "s_field_type")            $strSqlOrder "ORDER BY F.FIELD_TYPE";
        else
        {
                
$by "s_sort";
                
$strSqlOrder "ORDER BY F.C_SORT";
        }
        if (
$order!="desc")
        {
            
$strSqlOrder .= " asc ";
            
$order="asc";
        }
        else
        {
            
$strSqlOrder .= " desc ";
            
$order="desc";
        }
        
$strSqlSearch GetFilterSqlSearch($arSqlSearch);
        
$strSql "
            SELECT
                F.*,
                F.SID as VARNAME,
                "
.$DB->DateToCharFunction("F.TIMESTAMP_X")."    TIMESTAMP_X
            FROM
                b_form_field F
            WHERE
            
$strSqlSearch
            
$str
            and FORM_ID='
$WEB_FORM_ID'
            
$strSqlOrder
            "
;
        
//echo "<pre>".$strSql."</pre>";
        
$res $DB->Query($strSqlfalse$err_mess.__LINE__);
        
$is_filtered = (IsFiltered($strSqlSearch));
        return 
$res;
    }

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

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

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

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

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

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

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

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