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

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

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

//    CRatingRule::GetList()
//    /bitrix/modules/main/classes/general/rating_rule.php: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)<=0 || $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($strSql, false, $err_mess.__LINE__);

        return $res;
    }
';

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

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

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

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

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

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

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

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