- Модуль: 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);
}