Exemplo n.º 1
0
 /**
  * @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__);
 }