1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
updatechannel.php
См. документацию.
1<?php
2
3namespace Bitrix\Calendar\Internals\EventManager\EventSubscriber\EventCategory;
4
5use Bitrix\Calendar\Core\Mappers\Factory;
6use Bitrix\Calendar\EventCategory\Event\AfterEventCategoryUpdate;
7use Bitrix\Calendar\Integration;
8use Bitrix\Calendar\Internals\EventManager\EventSubscriber\EventSubscriberInterface;
9use Bitrix\Calendar\Internals\EventManager\EventSubscriber\EventSubscriberResponseTrait;
10use Bitrix\Main\DI\ServiceLocator;
11use Bitrix\Main\Event;
12use Bitrix\Main\EventResult;
13
15{
16 use EventSubscriberResponseTrait;
17
19 private const FIELDS_FOR_CHANNEL_UPDATE = ['name', 'description'];
20
21 public function __invoke(Event $event): EventResult
22 {
23 $eventCategoryId = $event->getParameter('eventCategoryId');
24 $fields = $event->getParameter('fields');
25
26 if ($fields && !in_array($fields, self::FIELDS_FOR_CHANNEL_UPDATE, true))
27 {
28 return new EventResult(EventResult::UNDEFINED);
29 }
30
32 $mapperFactory = ServiceLocator::getInstance()->get('calendar.service.mappers.factory');
33 $eventCategory = $mapperFactory->getEventCategory()->getById($eventCategoryId);
34
35 ServiceLocator::getInstance()->get(Integration\Im\EventCategoryServiceInterface::class)
36 ->updateChannel($eventCategory);
37
38 return $this->makeSuccessResponse();
39 }
40
41 public function getEventClasses(): array
42 {
43 return [
44 AfterEventCategoryUpdate::class,
45 ];
46 }
47}
Определения 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
$fields
Определения yandex_run.php:501