- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/hot_keys.php
- Класс: CHotKeysCode
- Вызов: CHotKeysCode::GetList
public function GetList($aSort = array(), $arFilter = array(), $showEmptyName = true)
{
global $DB;
$arSqlSearch = array();
if (is_array($arFilter))
{
foreach ($arFilter as $key => $val)
{
if ((string)$val == '' || $val == "NOT_REF")
continue;
$key = mb_strtoupper($key);
switch($key)
{
case "ID":
$arSqlSearch[] = "C.ID=".intval($val);
break;
case "CLASS_NAME":
case "CODE":
case "NAME":
case "COMMENTS":
case "TITLE_OBJ":
case "URL":
case "IS_CUSTOM":
$arSqlSearch[] = GetFilterQuery("C.".$key, $val);
break;
}
}
}
if(!$showEmptyName)
$arSqlSearch[] = "C.NAME IS NOT NULL AND C.NAME<>'-=AUTONAME=-'";
$sOrder = "";
foreach($aSort as $key => $val)
{
$ord = (mb_strtoupper($val) <> "ASC"? "DESC":"ASC");
switch(mb_strtoupper($key))
{
case "ID":
$sOrder .= ", C.ID ".$ord;
break;
case "CLASS_NAME":
$sOrder .= ", C.CLASS_NAME ".$ord;
break;
case "CODE":
$sOrder .= ", C.CODE ".$ord;
break;
case "NAME":
$sOrder .= ", C.NAME ".$ord;
break;
case "COMMENTS":
$sOrder .= ", C.COMMENTS ".$ord;
break;
case "TITLE_OBJ":
$sOrder .= ", C.TITLE_OBJ ".$ord;
break;
case "URL":
$sOrder .= ", C.URL ".$ord;
break;
case "IS_CUSTOM":
$sOrder .= ", C.IS_CUSTOM ".$ord;
break;
}
}
if ($sOrder == '')
$sOrder = "NAME ASC";
$strSqlOrder = " ORDER BY ".TrimEx($sOrder, ",");
$strSqlSearch = GetFilterSqlSearch($arSqlSearch);
$strSql = "
SELECT
C.*
FROM
b_hot_keys_code C
WHERE
".$strSqlSearch."
".$strSqlOrder;
$res = $DB->Query($strSql, false, $this->ErrOrig()." Line: ".__LINE__);
return $res;
}