- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/tasklog.php
- Класс: CTaskLog
- Вызов: CTaskLog::GetList
static function GetList($arOrder, $arFilter)
{
global $DB;
$arSqlSearch = CTaskLog::GetFilter($arFilter);
$strSql = "
SELECT
TL.*,
" . $DB->DateToCharFunction("TL.CREATED_DATE", "FULL") . " AS CREATED_DATE,
U.NAME AS USER_NAME,
U.LAST_NAME AS USER_LAST_NAME,
U.SECOND_NAME AS USER_SECOND_NAME,
U.LOGIN AS USER_LOGIN
FROM
b_tasks_log TL
INNER JOIN
b_user U
ON
U.ID = TL.USER_ID
" . (sizeof($arSqlSearch) ? "WHERE " . implode(" AND ", $arSqlSearch) : "") . "
";
if (!is_array($arOrder) || sizeof($arOrder) == 0)
$arOrder = array("CREATED_DATE" => "ASC");
foreach ($arOrder as $by => $order) {
$by = mb_strtolower($by);
$order = mb_strtolower($order);
if ($order != "asc")
$order = "desc";
if ($by == "user" || $by == "user_id")
$arSqlOrder[] = " TL.USER_ID " . $order . " ";
elseif ($by == "field")
$arSqlOrder[] = " TL.FIELD " . $order . " ";
elseif ($by == "task_id")
$arSqlOrder[] = " TL.TASK_ID " . $order . " ";
elseif ($by == "rand")
$arSqlOrder[] = CTasksTools::getRandFunction();
else
$arSqlOrder[] = " TL.CREATED_DATE " . $order . " ";
}
$strSqlOrder = "";
DelDuplicateSort($arSqlOrder);
for ($i = 0, $arSqlOrderCnt = count($arSqlOrder); $i < $arSqlOrderCnt; $i++) {
if ($i == 0)
$strSqlOrder = " ORDER BY ";
else
$strSqlOrder .= ",";
$strSqlOrder .= $arSqlOrder[$i];
}
$strSql .= $strSqlOrder;
return $DB->Query($strSql, false, "File: " . __FILE__ . "
Line: " . __LINE__);
}