• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskfiles.php
  • Класс: CTaskFiles
  • Вызов: CTaskFiles::GetList
static function GetList($arOrder, $arFilter)
{
	global $DB;

	$arSqlSearch = CTaskFiles::GetFilter($arFilter);

	$strSql = "
		SELECT
			TF.*
		FROM
			b_tasks_file TF
		".(sizeof($arSqlSearch) ? "WHERE ".implode(" AND ", $arSqlSearch) : "")."
	";

	if (!is_array($arOrder))
		$arOrder = Array();

	$arSqlOrder = [];
	foreach ($arOrder as $by => $order)
	{
		$by = mb_strtolower($by);
		$order = mb_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__."
Line: ".__LINE__); }