/** * @param CentreonMain\Events\PostSave $event */ public static function execute(PostSaveEvent $event) { $parameters = $event->getParameters(); $extraParameters = $event->getExtraParameters(); if (isset($extraParameters['centreon-configuration'])) { if ($event->getObjectName() === 'aclresource') { if (isset($extraParameters['centreon-configuration']['aclresource_hosts'])) { $hostIds = array_filter(array_map('trim', explode(',', $extraParameters['centreon-configuration']['aclresource_hosts']))); HostRepository::updateHostAcl($event->getAction(), $event->getObjectId(), $hostIds); } if (isset($extraParameters['centreon-configuration']['aclresource_host_tags'])) { $hostTagIds = array_filter(array_map('trim', explode(',', $extraParameters['centreon-configuration']['aclresource_host_tags']))); HostTagRepository::updateHostTagAcl($event->getAction(), $event->getObjectId(), $hostTagIds); } if (isset($extraParameters['centreon-configuration']['aclresource_services'])) { $serviceIds = array_filter(array_map('trim', explode(',', $extraParameters['centreon-configuration']['aclresource_services']))); ServiceRepository::updateServiceAcl($event->getAction(), $event->getObjectId(), $serviceIds); } if (isset($extraParameters['centreon-configuration']['aclresource_service_tags'])) { $serviceTagIds = array_filter(array_map('trim', explode(',', $extraParameters['centreon-configuration']['aclresource_service_tags']))); ServiceTagRepository::updateServiceTagAcl($event->getAction(), $event->getObjectId(), $serviceTagIds); } if (isset($extraParameters['centreon-configuration']['aclresource_all_hosts'])) { $allHosts = $extraParameters['centreon-configuration']['aclresource_all_hosts']; HostRepository::updateAllHostsAcl($event->getAction(), $event->getObjectId(), $allHosts); } else { HostRepository::updateAllHostsAcl($event->getAction(), $event->getObjectId(), '0'); } } } }
/** * Get service tags for a specific acl resource * * @method get * @route /aclresource/[i:id]/service/tag */ public function serviceTagsForAclResourceAction() { $di = Di::getDefault(); $router = $di->get('router'); $requestParam = $this->getParams('named'); $finalServiceTagList = ServiceTagRepository::getServiceTagsByAclResourceId($requestParam['id']); $router->response()->json($finalServiceTagList); }