- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/lib/integration/search.php
- Класс: BitrixLearningIntegrationSearch
- Вызов: Search::getIndexItems
static function getIndexItems($lessonId)
{
$dbResult = CLearnLesson::getList([], ["=LESSON_ID" => $lessonId, "ACTIVE" => "Y"]);
if (!$lesson = $dbResult->fetch())
{
return [];
}
$permissions = CLearnAccess::getSymbolsAccessibleToLesson($lessonId, CLearnAccess::OP_LESSON_READ);
$isCourseEntity = intval($lesson["LINKED_LESSON_ID"]) > 0;
$lessonCourses = $isCourseEntity ? [$lesson["COURSE_ID"]] : static::getLessonCourseId($lessonId);
$result = [];
foreach ($lessonCourses as $courseId)
{
if ($lesson["DETAIL_TEXT_TYPE"] !== "text")
{
$detailText = CSearch::killTags($lesson["DETAIL_TEXT"]);
}
else
{
$detailText = strip_tags($lesson["DETAIL_TEXT"]);
}
$entityType = $isCourseEntity ? "C" : ($lesson["IS_CHILDS"] ? "H" : "L");
$result[] = [
"ID" => "U_".$courseId."_".$lesson["LESSON_ID"],
"ITEM_ID" => "U_".$courseId."_".$lesson["LESSON_ID"],
"PARAM1" => "L".$lesson["LESSON_ID"],
"PARAM2" => "C".$courseId,
"LAST_MODIFIED" => $lesson["TIMESTAMP_X"],
"TITLE" => $lesson["NAME"],
"BODY" => $detailText <> '' ? $detailText : $lesson["NAME"],
"SITE_ID" => static::getCoursePaths($lesson["LESSON_ID"], $entityType, $courseId),
"PERMISSIONS" => $permissions
];
}
return $result;
}