3namespace Bitrix\Calendar\Internals\Counter\Processor;
5use Bitrix\Calendar\Integration\Pull\PushCommand;
6use Bitrix\Calendar\Integration\Pull\PushService;
7use Bitrix\Calendar\Internals\Counter;
8use Bitrix\Calendar\Internals\Counter\CounterDictionary;
9use Bitrix\Calendar\Internals\Counter\Event\Event;
10use Bitrix\Calendar\Internals\Counter\Event\EventCollection;
17 foreach ($events as
$event)
20 $affectedUsers =
$event->getData()[
'user_ids'] ?? [];
21 $this->recountTotal($affectedUsers);
25 private function recountTotal(
array $userIds): void
45 $this->sendUserCountersPush(
$userId);
74 private function isSameValueCached(
int $value,
int $userId,
string $code): bool
84 foreach ($cache as $item)
87 $item[
'CODE'] ===
$code
88 && $item[
'SITE_ID'] ===
'**'
89 && (
int)$item[
'CNT'] === $value
108 private function sendUserCountersPush(
int $userId): void
110 PushService::addEvent(
$userId, [
111 'module_id' => PushService::MODULE_ID,
112 'command' => PushCommand::UpdateUserCounters->value,
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
const COUNTER_OPEN_EVENTS
const COUNTER_SYNC_ERRORS
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code