/** * @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'); } } } }