- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/operation.php
- Класс: CAllOperation
- Вызов: CAllOperation::GetList
static function GetList($arOrder = array('MODULE_ID'=>'asc'),$arFilter=array())
{
global $DB;
static $arFields = array(
"ID" => array("FIELD_NAME" => "O.ID", "FIELD_TYPE" => "int"),
"NAME" => array("FIELD_NAME" => "O.NAME", "FIELD_TYPE" => "string"),
"MODULE_ID" => array("FIELD_NAME" => "O.MODULE_ID", "FIELD_TYPE" => "string"),
"BINDING" => array("FIELD_NAME" => "O.BINDING", "FIELD_TYPE" => "string")
);
$err_mess = (static::err_mess())."
Function: GetList
Line: ";
$arSqlSearch = array();
if(is_array($arFilter))
{
foreach($arFilter as $n => $val)
{
$n = strtoupper($n);
if((string)$val == '' || strval($val)=="NOT_REF")
continue;
if ($n == 'ID' || $n == 'MODULE_ID' || $n == 'BINDING')
$arSqlSearch[] = GetFilterQuery($arFields[$n]["FIELD_NAME"], $val, 'N');
elseif(isset($arFields[$n]))
$arSqlSearch[] = GetFilterQuery($arFields[$n]["FIELD_NAME"], $val);
}
}
$strOrderBy = '';
foreach($arOrder as $by=>$order)
if(isset($arFields[strtoupper($by)]))
$strOrderBy .= $arFields[strtoupper($by)]["FIELD_NAME"].' '.(strtolower($order) == 'desc'?'desc':'asc').',';
if($strOrderBy <> '')
$strOrderBy = "ORDER BY ".rtrim($strOrderBy, ",");
$strSqlSearch = GetFilterSqlSearch($arSqlSearch);
$strSql = "
SELECT *
FROM
b_operation O
WHERE
".$strSqlSearch."
".$strOrderBy;
$res = $DB->Query($strSql, false, $err_mess.__LINE__);
return $res;
}