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

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

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

<?php 
//    /bitrix/modules/main/classes/general/rating_rule.phpCRatingRule::GetList()
//    31:

    
public static function GetList($aSort=array(), $arFilter=Array())
    {
        global 
$DB;

        
$arSqlSearch = Array();
        
$strSqlSearch "";
        
$err_mess = (CRatingRule::err_mess())."<br>Function: GetList<br>Line: ";

        if (
is_array($arFilter))
        {
            
$filter_keys array_keys($arFilter);
            for (
$i=0$i<count($filter_keys); $i++)
            {
                
$val $arFilter[$filter_keys[$i]];
                if (
strlen($val)<=|| $val=="NOT_REF") continue;
                switch(
strtoupper($filter_keys[$i]))
                {
                    case 
"ID":
                        
$arSqlSearch[] = GetFilterQuery("PR.ID",$val,"N");
                    break;
                    case 
"ACTIVE":
                        if (
in_array($val, Array('Y','N')))
                            
$arSqlSearch[] = "PR.ACTIVE = '".$val."'";
                    break;
                    case 
"NAME":
                        
$arSqlSearch[] = GetFilterQuery("PR.NAME"$val);
                    break;
                    case 
"ENTITY_ID":
                        
$arSqlSearch[] = GetFilterQuery("PR.ENTITY_ID"$val);
                    break;
                }
            }
        }

        
$sOrder "";
        foreach(
$aSort as $key=>$val)
        {
            
$ord = (strtoupper($val) <> "ASC""DESC":"ASC");
            switch (
strtoupper($key))
            {
                case 
"ID":        $sOrder .= ", PR.ID ".$ord; break;
                case 
"NAME":    $sOrder .= ", PR.NAME ".$ord; break;
                case 
"CREATED":    $sOrder .= ", PR.CREATED ".$ord; break;
                case 
"LAST_MODIFIED":    $sOrder .= ", PR.LAST_MODIFIED ".$ord; break;
                case 
"LAST_APPLIED":    $sOrder .= ", PR.LAST_APPLIED ".$ord; break;
                case 
"ACTIVE":    $sOrder .= ", PR.ACTIVE ".$ord; break;
                case 
"CALCULATION_METHOD":    $sOrder .= ", PR.CALCULATION_METHOD ".$ord; break;
                case 
"ENTITY_TYPE_ID":    $sOrder .= ", PR.ENTITY_TYPE_ID ".$ord; break;
            }
        }

        if (
strlen($sOrder)<=0)
            
$sOrder "PR.ID DESC";

        
$strSqlOrder " ORDER BY ".TrimEx($sOrder,",");

        
$strSqlSearch GetFilterSqlSearch($arSqlSearch);
        
$strSql "
            SELECT
                PR.ID, PR.NAME, PR.ACTIVE, PR.ENTITY_TYPE_ID,
                "
.$DB->DateToCharFunction("PR.CREATED")." CREATED,
                "
.$DB->DateToCharFunction("PR.LAST_APPLIED")." LAST_APPLIED,
                "
.$DB->DateToCharFunction("PR.LAST_MODIFIED")." LAST_MODIFIED
            FROM
                b_rating_rule PR
            WHERE
            "
.$strSqlSearch."
            "
.$strSqlOrder;
        
$res $DB->Query($strSqlfalse$err_mess.__LINE__);

        return 
$res;
    }

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

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

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

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

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

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

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

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