1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
UpdateFeatureHandler.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\Socialnetwork\Control\Handler\Update;
6
7use Bitrix\Socialnetwork\Control\Command\UpdateCommand;
8use Bitrix\Socialnetwork\Control\Handler\HandlerResult;
9use Bitrix\Socialnetwork\Item\Workgroup;
10use CSocNetFeatures;
11
13{
14 public function update(UpdateCommand $command, Workgroup $entityBefore, Workgroup $entityAfter): HandlerResult
15 {
16 $handlerResult = new HandlerResult();
17
18 $features = $command->getFeatures()?->getValue() ?? [];
19
20 $activeSetFeatures = [];
21
22 foreach ($features as $featureName => $isActive)
23 {
24 $featureId = CSocNetFeatures::setFeature(
26 $command->getId(),
27 $featureName,
28 $isActive,
29 false,
30 ['isCollab' => true]
31 );
32
33 if (!$featureId)
34 {
35 $handlerResult->addApplicationError(['ERROR_NO_FEATURE_ID']);
36 }
37
38 if ($isActive)
39 {
40 $activeSetFeatures[$featureName] = $featureId;
41 }
42 }
43
44 if (!empty($features))
45 {
46 $handlerResult->setGroupChanged();
47 }
48
49 return $handlerResult;
50 }
51}
update(UpdateCommand $command, Workgroup $entityBefore, Workgroup $entityAfter)
Определения UpdateFeatureHandler.php:14
const SONET_ENTITY_GROUP
Определения include.php:117