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

	if (!is_array($arFilter))
		$arFilter = Array();

	$oPermParser = new CLearnParsePermissionsFromFilter ($arFilter);

	$arSqlSearch = array_filter(CTest::GetFilter($arFilter));

	$strSqlSearch = "";

	if ( ! empty($arSqlSearch) )
		$strSqlSearch .= ' AND ' . implode(' AND ', $arSqlSearch) . ' ';

	$strSql = 
		"SELECT COUNT(*) as CNT 
		FROM b_learn_test LT 
		INNER JOIN b_learn_course C 
			ON LT.COURSE_ID = C.ID
		WHERE 1=1";

	if ($oPermParser->IsNeedCheckPerm())
		$strSql .= " AND C.LINKED_LESSON_ID IN (" . $oPermParser->SQLForAccessibleLessons() . ") ";

	$strSql .= $strSqlSearch;

	$res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); if ($ar = $res->Fetch()) return intval($ar["CNT"]); else return 0; }