• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_event.php
  • Класс: CCalendarEvent
  • Вызов: CCalendarEvent::formatSearchIndexContent
static function formatSearchIndexContent($entry = [])
{
	$content = '';
	if (!empty($entry))
	{
		$content = static::prepareToken(
			Emoji::encode($entry['NAME'])
			. ' '
			. Emoji::encode($entry['DESCRIPTION'])
		);

		if ($entry['IS_MEETING'])
		{
			$attendeesWereHandled = false;
			if (!empty($entry['ATTENDEE_LIST']) && is_array($entry['ATTENDEE_LIST']))
			{
				foreach($entry['ATTENDEE_LIST'] as $attendee)
				{
					if (isset(self::$userIndex[$attendee['id']]))
					{
						$content .= ' '.static::prepareToken(self::$userIndex[$attendee['id']]['DISPLAY_NAME']);
					}
				}
				$attendeesWereHandled = true;
			}

			if (!empty($entry['ATTENDEES_CODES']))
			{
				if ($attendeesWereHandled)
				{
					$attendeesCodes = [];
					foreach($entry['ATTENDEES_CODES'] as $code)
					{
						if (mb_substr($code, 0, 1) !== 'U')
						{
							$attendeesCodes[] = $code;
						}
					}
				}
				else
				{
					$attendeesCodes = $entry['ATTENDEES_CODES'];
				}
				$content .= ' '.static::prepareToken(join(' ', BitrixSocialnetworkItemLogIndex::getEntitiesName($attendeesCodes)));
			}
		}
		else
		{
			$content .= ' '.static::prepareToken(CCalendar::GetUserName($entry['CREATED_BY']));
		}

		try
		{
			if (
				!empty($entry['UF_WEBDAV_CAL_EVENT'])
				&& BitrixMainConfigOption::get('disk', 'successfully_converted', false)
			)
			{
				$fileNameList = self::getDiskUFFileNameList($entry['UF_WEBDAV_CAL_EVENT']);
				if (!empty($fileNameList))
				{
					$content .= ' '.static::prepareToken(join(' ', $fileNameList));
				}
			}
		}
		catch (RuntimeException $e)
		{
		}

		try
		{
			if (!empty($entry['UF_CRM_CAL_EVENT']) && Loader::includeModule('crm'))
			{
				$uf = $entry['UF_CRM_CAL_EVENT'];

				foreach ($uf as $item)
				{
					$crmElement = explode('_', $item);
					$type = $crmElement[ 0 ];

					$typeId = CCrmOwnerType::ResolveID(CCrmOwnerTypeAbbr::ResolveName($type));
					$title = CCrmOwnerType::GetCaption($typeId, $crmElement[ 1 ]);

					$index[] = $title;
					$content .= ' '.static::prepareToken($title);
				}
			}
		}
		catch (RuntimeException $e)
		{
		}
	}

	return $content;
}