2namespace Bitrix\Im\Model;
4use Bitrix\Im\V2\Common\IndexTableTrait;
5use Bitrix\Im\V2\Link\Calendar\CalendarCollection;
6use Bitrix\Im\V2\Link\Calendar\CalendarItem;
7use Bitrix\Main\Localization\Loc;
8use Bitrix\Main\ORM\Data\DataManager;
9use Bitrix\Main\ORM\Fields\IntegerField;
10use Bitrix\Main\ORM\Fields\TextField;
11use Bitrix\Main\Search\Content;
45 static private array $toIndexIds = [];
54 return 'b_im_link_calendar_index';
83 return LinkCalendarTable::class;
90 array_push(static::$toIndexIds, ...$ids);
93 static::defaultIndexInBackground();
98 $toIndexIds = array_merge(static::$toIndexIds, $ids);
99 $toIndexIds = array_unique($toIndexIds);
100 if (empty($toIndexIds))
106 ->whereIn(
'ID', $toIndexIds)
110 $links->fillEntities();
112 foreach ($links as $link)
115 'ID' => $link->getId(),
116 'SEARCH_CONTENT' => static::generateSearchIndex($link),
119 static::multiplyInsertWithoutDuplicate($inserts);
122 private static function generateSearchIndex(
CalendarItem $link): string
124 return Content::prepareStringToken($link->
getTitle());
static index(array $ids=[])
static indexInBackground(array $ids)
static getBaseDataClass()
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)