1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
OpenEventService.php
См. документацию.
1<?php
2
3namespace Bitrix\Calendar\OpenEvents\Service;
4
5use Bitrix\Calendar\Event\Service\OpenEventPullService;
6use Bitrix\Calendar\Internals\Counter\CounterService;
7use Bitrix\Calendar\Internals\Counter\Event\EventDictionary;
8use Bitrix\Calendar\Core\Event\Event;
9use Bitrix\Calendar\Core\Mappers\Factory;
10use Bitrix\Calendar\Integration\Im\OpenEventService as ImIntegration;
11use Bitrix\Main\DI\ServiceLocator;
12
14{
15 private static ?self $instance;
16
17 public static function getInstance(): self
18 {
19 self::$instance ??= new self();
20
21 return self::$instance;
22 }
23
24 public function onOpenEventEdited(int $eventId): void
25 {
26 $event = $this->getEventById($eventId);
27
28 ImIntegration::getInstance()->updateCalendarEventMessage($event);
29 OpenEventPullService::getInstance()->updateCalendarEvent($event);
30 }
31
35 public function setEventsWatched(int $userId, array $eventIds): void
36 {
37 $eventsByCategory = [];
38
39 foreach ($eventIds as $eventId)
40 {
41 $categoryId = $this->getEventById($eventId)->getEventOption()->getCategoryId();
42 $eventsByCategory[$categoryId][] = $eventId;
43 }
44
45 CounterService::addEvent(EventDictionary::OPEN_EVENT_SEEN, [
46 'categories' => $eventsByCategory,
47 'user_id' => $userId,
48 ]);
49 }
50
51 private function getEventById(int $eventId): Event
52 {
54 $mapperFactory = ServiceLocator::getInstance()->get('calendar.service.mappers.factory');
55
56 return $mapperFactory->getEvent()->getById($eventId);
57 }
58
59 private function __construct()
60 {
61 }
62}
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
Определения check_mail.php:18
setEventsWatched(int $userId, array $eventIds)
Определения OpenEventService.php:35
Определения event.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$event
Определения prolog_after.php:141