• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/classes/general/course.php
  • Класс: CCourse
  • Вызов: CCourse::GetList
static function GetList($arOrder = array(), $arFields = array(), $arNavParams = array())
{
	// Lists only lesson-courses
	$arFields = array_merge (array('>LINKED_LESSON_ID' => 0), $arFields);

	foreach ($arOrder as $key => $value)
	{
		if (mb_strtoupper($key) === 'ID')
		{
			$arOrder['COURSE_ID'] = $arOrder[$key];
			unset ($arOrder[$key]);
		}
	}

	// We must replace '...ID' => '...COURSE_ID', where '...' is some operation (such as '!', '<=', etc.)
	foreach ($arFields as $key => $value)
	{
		// If key ends with 'ID'
		if ((mb_strlen($key) >= 2) && (mb_strtoupper(mb_substr($key, -2)) === 'ID'))
		{
			// And prefix before 'ID' doesn't contains letters
			if ( ! preg_match ("/[a-zA-Z_]+/", mb_substr($key, 0, -2)) )
			{
				$prefix = '';
				if (mb_strlen($key) > 2)
					$prefix = mb_substr($key, 0, -2);

				$arFields[$prefix . 'COURSE_ID'] = $arFields[$key];
				unset ($arFields[$key]);
			}
		}
	}

	$arFields['#REPLACE_COURSE_ID_TO_ID'] = true;

	$res = CLearnLesson::GetList($arOrder, $arFields, array(), $arNavParams);
	return ($res);
}