3namespace Bitrix\Calendar\Internals\Counter\Processor;
5use Bitrix\Calendar\Core\Event\Event as CalendarEvent;
6use Bitrix\Calendar\Internals\Counter\Event\Event;
7use Bitrix\Calendar\Internals\Counter\Event\EventCollection;
8use Bitrix\Calendar\Internals\Counter\Event\EventDictionary;
12 private const SUPPORTED_EVENTS = [
13 EventDictionary::OPEN_EVENT_CREATED,
14 EventDictionary::OPEN_EVENT_DELETED,
15 EventDictionary::OPEN_EVENT_SEEN,
23 $eventType =
$event->getType();
24 if (!in_array($eventType, self::SUPPORTED_EVENTS,
true))
31 case EventDictionary::OPEN_EVENT_CREATED:
32 $this->handleEventCreated(
$event);
34 case EventDictionary::OPEN_EVENT_DELETED:
35 $this->handleEventDeleted(
$event);
37 case EventDictionary::OPEN_EVENT_SEEN:
38 $this->handleEventSeen(
$event);
70 private function handleEventCreated(
Event $event): void
72 $eventId = (int)(
$event->getData()[
'event_id'] ??
null);
77 private function handleEventDeleted(
Event $event): void
79 $eventId = (int)(
$event->getData()[
'event_id'] ??
null);
80 $categoryId = (int)(
$event->getData()[
'category_id'] ??
null);
82 (
new Handler\OpenEventDeleted())($eventId, $categoryId);
85 private function handleEventSeen(
Event $event): void
87 $categories =
$event->getData()[
'categories'] ?? [];
90 (
new Handler\OpenEventSeen())($categories,
$userId);
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
upCounter(array $userIds, CalendarEvent $event)
dropCounter(array $userIds, int $eventId, int $categoryId)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)