/** * @param $arOrder * @param $arFilter * @return bool|CDBResult * * @var CDatabase $DB */ public static function GetList($arOrder, $arFilter) { global $DB; $arSqlSearch = CTaskFiles::GetFilter($arFilter); $strSql = "\n\t\t\tSELECT\n\t\t\t\tTF.*\n\t\t\tFROM\n\t\t\t\tb_tasks_file TF\n\t\t\t" . (sizeof($arSqlSearch) ? "WHERE " . implode(" AND ", $arSqlSearch) : "") . "\n\t\t"; if (!is_array($arOrder)) { $arOrder = array(); } foreach ($arOrder as $by => $order) { $by = strtolower($by); $order = strtolower($order); if ($order != "asc") { $order = "desc"; } if ($by == "task") { $arSqlOrder[] = " TF " . $order . " "; } elseif ($by == "file") { $arSqlOrder[] = " TF.FILE_ID " . $order . " "; } elseif ($by == "rand") { $arSqlOrder[] = CTasksTools::getRandFunction(); } else { $arSqlOrder[] = " TF.FILE_ID " . $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__ . "<br>Line: " . __LINE__); }