- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/language.php
- Класс: CAllLanguage
- Вызов: CAllLanguage::GetList
static function GetList($by = "sort", $order = "asc", $arFilter=array())
{
global $DB;
$arSqlSearch = array();
if (is_array($arFilter))
{
foreach ($arFilter as $key => $val)
{
if ((string)$val <> '')
{
switch(strtoupper($key))
{
case "ACTIVE":
if($val == "Y" || $val == "N")
{
$arSqlSearch[] = "L.ACTIVE='".$DB->ForSql($val)."'";
}
break;
case "NAME":
$arSqlSearch[] = "UPPER(L.NAME) LIKE UPPER('".$DB->ForSql($val)."')";
break;
case "ID":
case "LID":
$arSqlSearch[] = "L.LID='".$DB->ForSql($val)."'";
break;
case "CODE":
$arSqlSearch[] = "L.CODE='".$DB->ForSql($val)."'";
break;
}
}
}
}
$strSqlSearch = "";
foreach($arSqlSearch as $condition)
{
$strSqlSearch .= " AND (".$condition.") ";
}
$strSql =
"SELECT L.*, L.LID as ID, L.LID as LANGUAGE_ID, ".
" C.FORMAT_DATE, C.FORMAT_DATETIME, C.FORMAT_NAME, C.WEEK_START, C.CHARSET, C.DIRECTION ".
"FROM b_language L, b_culture C ".
"WHERE C.ID = L.CULTURE_ID ".
$strSqlSearch;
if($by == "lid" || $by=="id") $strSqlOrder = " ORDER BY L.LID ";
elseif($by == "active") $strSqlOrder = " ORDER BY L.ACTIVE ";
elseif($by == "name") $strSqlOrder = " ORDER BY L.NAME ";
elseif($by == "code") $strSqlOrder = " ORDER BY L.CODE ";
elseif($by == "def") $strSqlOrder = " ORDER BY L.DEF ";
else
{
$strSqlOrder = " ORDER BY L.SORT ";
}
if($order == "desc")
{
$strSqlOrder .= " desc ";
}
$strSql .= $strSqlOrder;
$res = $DB->Query($strSql);
return $res;
}