• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/update/livefeedindexcalendar.php
  • Класс: BitrixCalendarUpdateLivefeedIndexCalendar
  • Вызов: LivefeedIndexCalendar::run
static function run()
{
	$params = Option::get("calendar", "livefeedindexcalendar", false);
	$params = ($params !== "" ? @unserialize($params, ['allowed_classes' => false]) : array());

	$found = false;

	if (
		is_array($params)
		&& intval($params["lastId"]) >= 0
	)
	{
		$res = LogTable::getList(array(
			'order' => array('ID' => 'ASC'),
			'filter' => array(
				'>ID' => $params["lastId"],
				'@EVENT_ID' => IntegrationSocialnetworkLog::getEventIdList(),
				'!SOURCE_ID' => false
			),
			'select' => array('ID', 'EVENT_ID', 'SOURCE_ID'),
			'offset' => 0,
			'limit' => 100
		));

		while ($record = $res->fetch())
		{
			LogIndex::setIndex(array(
				'itemType' => LogIndexTable::ITEM_TYPE_LOG,
				'itemId' => $record['ID'],
				'fields' => $record
			));

			$params["lastId"] = $record['ID'];
			$params["number"]++;
			$found = true;
		}
	}

	if (!$found)
	{
		$params["finished"] = true;
	}

	Option::set("calendar", "livefeedindexcalendar", serialize($params));
}