• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/ratings.php
  • Класс: CAllRatings
  • Вызов: CAllRatings::GetWeightList
static function GetWeightList($arSort=array(), $arFilter=Array())
{
	global $DB;

	$arSqlSearch = Array();
	$strSqlSearch = "";
	$err_mess = (CRatings::err_mess())."
Function: GetWeightList
Line: "; if (is_array($arFilter)) { foreach ($arFilter as $key => $val) { if ((string)$val == '' || $val === "NOT_REF") continue; switch(strtoupper($key)) { case "ID": $arSqlSearch[] = GetFilterQuery("RW.ID", $val, "N"); break; case "RATING_FROM": $arSqlSearch[] = GetFilterQuery("RW.RATING_FROM", $val, "N"); break; case "RATING_TO": $arSqlSearch[] = GetFilterQuery("RW.RATING_TO", $val, "N"); break; case "WEIGHT": $arSqlSearch[] = GetFilterQuery("RW.WEIGHT", $val, "N"); break; case "COUNT": $arSqlSearch[] = GetFilterQuery("RW.COUNT", $val, "N"); break; case "MAX": if(in_array($val, Array('Y', 'N'))) { $arSqlSearch[] = "R.MAX = '".$val."'"; } break; } } } $sOrder = ""; foreach($arSort as $key=>$val) { $ord = (mb_strtoupper($val) <> "ASC"? "DESC":"ASC"); switch(mb_strtoupper($key)) { case "ID": $sOrder .= ", RW.ID ".$ord; break; case "RATING_FROM": $sOrder .= ", RW.RATING_FROM ".$ord; break; case "RATING_TO": $sOrder .= ", RW.RATING_TO ".$ord; break; case "WEIGHT": $sOrder .= ", RW.WEIGHT ".$ord; break; case "COUNT": $sOrder .= ", RW.COUNT ".$ord; break; } } if ($sOrder == '') $sOrder = "RW.ID DESC"; $strSqlOrder = " ORDER BY ".TrimEx($sOrder,","); $strSqlSearch = GetFilterSqlSearch($arSqlSearch); $strSql = " SELECT RW.ID, RW.RATING_FROM, RW.RATING_TO, RW.WEIGHT, RW.COUNT FROM b_rating_weight RW WHERE ".$strSqlSearch." ".$strSqlOrder; return $DB->Query($strSql, false, $err_mess.__LINE__); }