• Модуль: xdimport
  • Путь к файлу: ~/bitrix/modules/xdimport/classes/mysql/lf_scheme.php
  • Класс: CXDILFScheme
  • Вызов: CXDILFScheme::GetList
static function GetList($aSort=array(), $aFilter=array())
{
	global $DB;

	$arFilter = array();
	foreach($aFilter as $key=>$val)
	{
		$val = $DB->ForSql($val);
		if($val == '')
			continue;
		switch(mb_strtoupper($key))
		{
			case "ACTIVE":
				$arFilter[] = "S.ACTIVE='".$val."'";
				break;
			case "AUTO":
				$arFilter[] = "S.AUTO='".$val."'";
				break;
			case "LID":
				$arFilter[] = "S.LID='".$val."'";
				break;
			case "ID":
				$arFilter[] = "S.ID='".$val."'";
				break;
			case "TYPE":
				$arFilter[] = "S.TYPE='".$val."'";
				break;
			case "HASH":
				$arFilter[] = "S.HASH='".$val."'";
				break;
			case "ENABLE_COMMENTS":
				$arFilter[] = "S.ENABLE_COMMENTS='".$val."'";
				break;
		}
	}

	$arOrder = array();
	foreach($aSort as $key=>$val)
	{
		$ord = (mb_strtoupper($val) <> "ASC"?"DESC":"ASC");
		switch(mb_strtoupper($key))
		{
			case "TYPE":
				$arOrder[] = "S.TYPE ".$ord;
				break;
			case "LID":
				$arOrder[] = "S.LID ".$ord;
				break;
			case "ACTIVE":
				$arOrder[] = "S.ACTIVE ".$ord;
				break;
			case "AUTO":
				$arOrder[] = "S.AUTO ".$ord;
				break;
			case "SORT":
				$arOrder[] = "S.SORT ".$ord;
				break;
			case "ID":
				$arOrder[] = "S.ID ".$ord;
				break;
			case "LAST_EXECUTED":
				$arOrder[] = "S.LAST_EXECUTED ".$ord;
				break;
			case "NAME":
				$arOrder[] = "S.NAME ".$ord;
				break;
		}
	}
	if(count($arOrder) == 0)
		$arOrder[] = "S.ID DESC";
	$sOrder = "nORDER BY ".implode(", ",$arOrder);

	if(count($arFilter) == 0)
		$sFilter = "";
	else
		$sFilter = "nWHERE ".implode("nAND ", $arFilter);

	$strSql = "
		SELECT
			S.ID
			,S.TYPE
			,S.NAME
			,S.SORT
			,S.LID
			,S.ACTIVE
			,S.AUTO
			,".$DB->DateToCharFunction("S.LAST_EXECUTED", "FULL")." AS LAST_EXECUTED
			,S.DAYS_OF_MONTH
			,S.DAYS_OF_WEEK
			,S.TIMES_OF_DAY
			,S.HOST
			,S.PORT
			,S.PAGE
			,S.LOGIN
			,S.PASSWORD
			,S.METHOD
			,S.IS_HTML
			,S.PARAMS
			,S.ENTITY_TYPE
			,S.ENTITY_ID
			,S.EVENT_ID
			,S.HASH
			,S.ENABLE_COMMENTS
			,S.URI
		FROM
			b_xdi_lf_scheme S
		".$sFilter.$sOrder;

	return $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); }