- Модуль: subscribe
- Путь к файлу: ~/bitrix/modules/subscribe/classes/general/rubric.php
- Класс: CRubric
- Вызов: CRubric::GetList
static function GetList($aSort=array(), $aFilter=array())
{
global $DB;
$arFilter = array();
foreach($aFilter as $key=>$val)
{
if($val == '')
continue;
$key = mb_strtoupper($key);
switch($key)
{
case "ID":
case "ACTIVE":
case "VISIBLE":
case "LID":
case "AUTO":
case "CODE":
$arFilter[] = "R.".$key." = '".$DB->ForSql($val)."'";
break;
case "NAME":
$arFilter[] = "R.NAME like '%".$DB->ForSql($val)."%'";
break;
}
}
$arOrder = array();
foreach($aSort as $key=>$val)
{
$ord = (mb_strtoupper($val) <> "ASC"? "DESC": "ASC");
$key = mb_strtoupper($key);
switch($key)
{
case "ID":
case "NAME":
case "SORT":
case "LAST_EXECUTED":
case "VISIBLE":
case "LID":
case "AUTO":
case "CODE":
$arOrder[] = "R.".$key." ".$ord;
break;
case "ACT":
$arOrder[] = "R.ACTIVE ".$ord;
break;
}
}
if(count($arOrder) == 0)
$arOrder[] = "R.ID DESC";
$sOrder = "nORDER BY ".implode(", ",$arOrder);
if(count($arFilter) == 0)
$sFilter = "";
else
$sFilter = "nWHERE ".implode("nAND ", $arFilter);
$strSql = "
SELECT
R.ID
,R.NAME
,R.CODE
,R.SORT
,R.LID
,R.ACTIVE
,R.DESCRIPTION
,R.AUTO
,R.VISIBLE
,".$DB->DateToCharFunction("R.LAST_EXECUTED", "FULL")." AS LAST_EXECUTED
,R.FROM_FIELD
,R.DAYS_OF_MONTH
,R.DAYS_OF_WEEK
,R.TIMES_OF_DAY
,R.TEMPLATE
FROM
b_list_rubric R
".$sFilter.$sOrder;
return $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
}