21 $features = $command->getFeatures()->getValue();
23 $activeSetFeatures = [];
25 foreach ($features as $featureName => $isActive)
27 $featureId = CSocNetFeatures::setFeature(
38 $handlerResult->addApplicationError([
'ERROR_NO_FEATURE_ID']);
43 $activeSetFeatures[$featureName] = $featureId;
47 if (!empty($features))
49 $handlerResult->setGroupChanged();
52 $permissions = $command->getPermissions()->getValue()?? [];
53 if (empty($permissions))
55 return $handlerResult;
58 foreach ($activeSetFeatures as $featureName => $featureId)
60 $operations = $permissions[$featureName] ?? [];
61 if (empty($operations))
66 foreach ($operations as $operationName => $operationValue)
68 $operationId = CSocNetFeaturesPerms::SetPerm(
76 $handlerResult->addApplicationError();
81 return $handlerResult;