static function GetList($arOrder = array(), $arFilter = array())
{
global $DB;
$arFields = array(
'ID' => array(
'TABLE_ALIAS' => 'G',
'FIELD_NAME' => 'ID',
'FIELD_TYPE' => 'int', //int, double, file, enum, int, string, date, datetime
'JOIN' => false,
),
'NAME' => array(
'TABLE_ALIAS' => 'G',
'FIELD_NAME' => 'NAME',
'FIELD_TYPE' => 'string', //int, double, file, enum, int, string, date, datetime
'JOIN' => false,
),
'XML_ID' => array(
'TABLE_ALIAS' => 'G',
'FIELD_NAME' => 'XML_ID',
'FIELD_TYPE' => 'string', //int, double, file, enum, int, string, date, datetime
'JOIN' => false,
),
'SORT' => array(
'TABLE_ALIAS' => 'G',
'FIELD_NAME' => 'SORT',
'FIELD_TYPE' => 'int', //int, double, file, enum, int, string, date, datetime
'JOIN' => false,
),
'IS_TEAM_GROUP' => array(
'TABLE_ALIAS' => 'G',
'FIELD_NAME' => 'IS_TEAM_GROUP',
'FIELD_TYPE' => 'string', //int, double, file, enum, int, string, date, datetime
'JOIN' => false,
),
);
$strOrder = '';
if (is_array($arOrder) && count($arOrder) > 0)
{
foreach ($arOrder as $k => $v)
{
if (array_key_exists($k, $arFields))
{
$v = mb_strtoupper($v);
if($v != 'DESC')
{
$v ='ASC';
}
if ($strOrder <> '')
{
$strOrder .= ', ';
}
$strOrder .= $arFields[$k]['TABLE_ALIAS'] . '.' . $arFields[$k]['FIELD_NAME'] . ' ' . $v;
}
}
}
$obQueryWhere = new CSQLWhere;
$obQueryWhere->SetFields($arFields);
$where = $obQueryWhere->GetQuery($arFilter);
$strQuery = 'SELECT G.* FROM b_ticket_ugroups G';
if ($where <> '')
{
$strQuery .= ' WHERE ' . $where;
}
if ($strOrder <> '')
{
$strQuery .= ' ORDER BY ' . $strOrder;
}
return $DB->Query($strQuery, false, "File: ".__FILE__."
Line: ".__LINE__);
}