Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/ilovecveti.ru/bitrix/modules/calendar/lib/core/queue/rule/ |
Upload File : |
<?php namespace Bitrix\Calendar\Core\Queue\Rule; use Bitrix\Calendar\Core\Queue\Exception\InvalidRuleException; use Bitrix\Calendar\Core\Queue\Interfaces\RouteRule; use Bitrix\Calendar\Core\Queue\Rule\Rules\EventAttendeesUpdateRule; use Bitrix\Calendar\Core\Queue\Rule\Rules\EventDelayedSyncRule; use Bitrix\Calendar\Core\Queue\Rule\Rules\EventWithEntityAttendeesFindRule; use Bitrix\Calendar\Core\Queue\Rule\Rules\PushDelayedRule; use Bitrix\Calendar\Core\Base\SingletonTrait; use Bitrix\Calendar\Core\Queue\Rule\Rules\SendingEmailNotificationRule; class Registry { use SingletonTrait; private array $rules = []; protected function __construct() { $this->registerRule(new EventDelayedSyncRule()); $this->registerRule(new PushDelayedRule()); $this->registerRule(new EventAttendeesUpdateRule()); $this->registerRule(new EventWithEntityAttendeesFindRule()); $this->registerRule(new SendingEmailNotificationRule()); } /** * @param RouteRule $rule * * @return $this */ public function registerRule(RouteRule $rule): self { $this->rules[] = $rule; return $this; } /** * @param string $className * * @return $this * * @throws InvalidRuleException */ public function registerRuleClass(string $className): self { if (class_exists($className)) { $rule = new $className(); if ($rule instanceof RouteRule) { $this->registerRule($rule); } else { throw InvalidRuleException::classIsNotRule(); } } else { throw InvalidRuleException::classIsInvalid(404); } return $this; } /** * @return RouteRule[] */ public function getRules(): array { return $this->rules; } }