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