1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
calendarprovider.php
См. документацию.
1<?php
2
3namespace Bitrix\Socialnetwork\Integration\Calendar\RecentActivity;
4
5use Bitrix\Calendar\Internals\EventTable;
6use Bitrix\Main\Loader;
7use Bitrix\Main\Localization\Loc;
8use Bitrix\Main\Text\Emoji;
9use Bitrix\Socialnetwork\Space\List\RecentActivity\Collector\AbstractProvider;
10use Bitrix\Socialnetwork\Space\List\RecentActivity\Collector\Trait\EntityLoadTrait;
11use Bitrix\Socialnetwork\Space\List\RecentActivity\Dictionary;
12
14{
15 use EntityLoadTrait;
16
17 public function isAvailable(): bool
18 {
19 return Loader::includeModule('calendar');
20 }
21
22 public function getTypeId(): string
23 {
24 return Dictionary::ENTITY_TYPE['calendar'];
25 }
26
27 protected function fill(): void
28 {
29 $eventIds = $this->getEntityIdsFromRecentActivityItems();
30 $events = [];
31 if (!empty($eventIds))
32 {
33 $events = EventTable::query()
34 ->setSelect(['ID', 'NAME'])
35 ->whereIn('ID', $eventIds)
36 ->fetchAll()
37 ;
38 }
39
40 foreach ($events as $event)
41 {
42 $this->addEntity((int)$event['ID'], $event);
43 }
44
45 foreach ($this->recentActivityDataItems as $item)
46 {
47 $event = $this->getEntity($this->getEntityIdFromRecentActivityItem($item));
48
49 if (empty($event))
50 {
51 continue;
52 }
53
54 $message = Loc::getMessage(
55 'SONET_CALENDAR_RECENT_ACTIVITY_DESCRIPTION',
56 ['#CONTENT#' => Emoji::decode($event['NAME'])],
57 );
58 $item->setDescription($message);
59 }
60 }
61}
$message
Определения payment.php:8
$event
Определения prolog_after.php:141