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

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

	$strSqlSearch = "";
	for ($i = 0, $length = count($arSqlSearch); $i < $length; $i++)
	{
		if ($arSqlSearch[$i] <> '')
		{
			$strSqlSearch .= " AND ".$arSqlSearch[$i]." ";
		}
	}

	$strSql =
	"SELECT S.* ".
	//$DB->Concat("'('",'U.LOGIN',"') '",'U.NAME',"' '", 'U.LAST_NAME')." as USER_NAME ".
	"FROM b_learn_student S ".
	"WHERE 1=1 ".
	$strSqlSearch;

	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 == "user_id")						$arSqlOrder[] = " S.USER_ID ".$order." ";
		elseif ($by == "public_profile")		$arSqlOrder[] = " S.PUBLIC_PROFILE ".$order." ";
		else
		{
			$arSqlOrder[] = " S.USER_ID ".$order." ";
			$by = "user_id";
		}
	}

	$strSqlOrder = "";
	DelDuplicateSort($arSqlOrder);

	if (!empty($arSqlOrder) && is_array($arSqlOrder))
	{
		for ($i = 0, $length = count($arSqlOrder); $i < $length; $i++)
		{
			if ($i == 0)
			{
				$strSqlOrder = " ORDER BY ";
			}
			else
			{
				$strSqlOrder .= ",";
			}

			$strSqlOrder .= $arSqlOrder[$i];
		}
	}

	$strSql .= $strSqlOrder;

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