- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/attempt.php
- Класс: CAllTestAttempt
- Вызов: CAllTestAttempt::GetFilter
static function GetFilter($arFilter)
{
if (!is_array($arFilter))
$arFilter = Array();
$arSqlSearch = Array();
foreach ($arFilter as $key => $val)
{
$res = CLearnHelper::MkOperationFilter($key);
$key = $res["FIELD"];
$cOperationType = $res["OPERATION"];
$key = mb_strtoupper($key);
switch ($key)
{
case "ID":
case "TEST_ID":
case "STUDENT_ID":
case "SCORE":
case "MAX_SCORE":
case "QUESTIONS":
$arSqlSearch[] = CLearnHelper::FilterCreate("A.".$key, $val, "number", $bFullJoin, $cOperationType);
break;
case "SPEED":
$arSqlSearch[] = CLearnHelper::FilterCreate(self::getSpeedFieldSql(), $val, "number", $bFullJoin, $cOperationType);
break;
case "STATUS":
case "COMPLETED":
$arSqlSearch[] = CLearnHelper::FilterCreate("A.".$key, $val, "string_equal", $bFullJoin, $cOperationType);
break;
case "DATE_START":
case "DATE_END":
$arSqlSearch[] = CLearnHelper::FilterCreate("A.".$key, $val, "date", $bFullJoin, $cOperationType);
break;
case "USER":
$arSqlSearch[] = GetFilterQuery("U.ID, U.LOGIN, U.NAME, U.LAST_NAME",$val);
break;
case "USER_LOGIN":
$arSqlSearch[] = CLearnHelper::FilterCreate("U.LOGIN", $val, "string_equal", $bFullJoin, $cOperationType);
break;
case "USER_NAME":
$arSqlSearch[] = CLearnHelper::FilterCreate("U.NAME", $val, "string_equal", $bFullJoin, $cOperationType);
break;
case "USER_LAST_NAME":
$arSqlSearch[] = CLearnHelper::FilterCreate("U.LAST_NAME", $val, "string_equal", $bFullJoin, $cOperationType);
break;
}
}
return $arSqlSearch;
}