- Модуль: timeman
- Путь к файлу: ~/bitrix/modules/timeman/classes/general/timeman_report.php
- Класс: CAllTimeManReport
- Вызов: CAllTimeManReport::GetList
static function GetList($arOrder = array(), $arFilter = array())
{
global $DB;
$arFields = array(
"ID" => array("FIELD" => "R.ID", "TYPE" => "int"),
"TIMESTAMP_X" => array("FIELD" => "R.TIMESTAMP_X", "TYPE" => "datetime"),
"ENTRY_ID" => array("FIELD" => "R.ENTRY_ID", "TYPE" => "int"),
"USER_ID" => array("FIELD" => "R.USER_ID", "TYPE" => "int"),
"ACTIVE" => array("FIELD" => "R.ACTIVE", "TYPE" => "string"),
"REPORT_TYPE" => array("FIELD" => "R.REPORT_TYPE", "TYPE" => "string"),
"REPORT" => array("FIELD" => "R.REPORT", "TYPE" => "string"),
);
$strSql = '
SELECT R.*, '.$DB->DateToCharFunction("R.TIMESTAMP_X", "FULL").' AS TIMESTAMP_X
FROM b_timeman_reports R
WHERE 1=1';
foreach ($arFilter as $fld => $val)
{
$fld = ToUpper($fld);
if ($arFields[$fld])
{
if ($arFields[$fld]['TYPE'] == 'int')
$val = intval($val);
else
$val = $DB->ForSQL($val);
$strSql .= ' AND ('.$arFields[$fld]['FIELD'].'=''.$val.'')';
}
}
$strOrder = '';
foreach ($arOrder as $fld => $dir)
{
$fld = ToUpper($fld);
if ($arFields[$fld])
{
$strOrder .= ($strOrder == '' ? '' : ', ')
.$arFields[$fld]['FIELD'].' '.(ToUpper($dir) == 'DESC' ? 'DESC' : 'ASC');
}
}
if ($strOrder <> '')
{
$strSql .= ' ORDER BY '.$strOrder;
}
return ($DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__));
}