• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/task.php
  • Класс: CAllTask
  • Вызов: CAllTask::GetList
static function GetList($arOrder = array('MODULE_ID'=>'asc','LETTER'=>'asc'), $arFilter = array())
{
	global $DB, $CACHE_MANAGER;

	if(CACHED_b_task !== false)
	{
		$context = MainContext::getCurrent();
		$cacheId = "b_task".md5(serialize($arOrder).".".serialize($arFilter).".".$context->getLanguage());
		if($CACHE_MANAGER->Read(CACHED_b_task, $cacheId, "b_task"))
		{
			$arResult = $CACHE_MANAGER->Get($cacheId);
			$res = new CDBResult;
			$res->InitFromArray($arResult);
			return $res;
		}
	}

	static $arFields = array(
		"ID" => array("FIELD_NAME" => "T.ID", "FIELD_TYPE" => "int"),
		"NAME" => array("FIELD_NAME" => "T.NAME", "FIELD_TYPE" => "string"),
		"LETTER" => array("FIELD_NAME" => "T.LETTER", "FIELD_TYPE" => "string"),
		"MODULE_ID" => array("FIELD_NAME" => "T.MODULE_ID", "FIELD_TYPE" => "string"),
		"SYS" => array("FIELD_NAME" => "T.SYS", "FIELD_TYPE" => "string"),
		"BINDING" => array("FIELD_NAME" => "T.BINDING", "FIELD_TYPE" => "string")
	);

	$err_mess = (static::err_mess())."
Function: GetList
Line: "; $arSqlSearch = array(); if(is_array($arFilter)) { foreach($arFilter as $n => $val) { $n = strtoupper($n); if((string)$val == '' || strval($val) == "NOT_REF") continue; if(isset($arFields[$n])) { $arSqlSearch[] = GetFilterQuery($arFields[$n]["FIELD_NAME"], $val, ($n == 'NAME'? "Y" : "N")); } } } $strOrderBy = ''; foreach($arOrder as $by=>$order) if(isset($arFields[strtoupper($by)])) $strOrderBy .= $arFields[strtoupper($by)]["FIELD_NAME"].' '.(strtolower($order) == 'desc'?'desc':'asc').','; if($strOrderBy <> '') $strOrderBy = "ORDER BY ".rtrim($strOrderBy, ","); $strSqlSearch = GetFilterSqlSearch($arSqlSearch); $strSql = " SELECT T.ID, T.NAME, T.DESCRIPTION, T.MODULE_ID, T.LETTER, T.SYS, T.BINDING FROM b_task T WHERE ".$strSqlSearch." ".$strOrderBy; $res = $DB->Query($strSql, false, $err_mess.__LINE__); $arResult = array(); while($arRes = $res->Fetch()) { $arRes['TITLE'] = static::GetLangTitle($arRes['NAME'], $arRes['MODULE_ID']); $arRes['DESC'] = static::GetLangDescription($arRes['NAME'], $arRes['DESCRIPTION'], $arRes['MODULE_ID']); $arResult[] = $arRes; } $res->InitFromArray($arResult); if(CACHED_b_task !== false) { /** @noinspection PhpUndefinedVariableInspection */ $CACHE_MANAGER->Set($cacheId, $arResult); } return $res; }