示例#1
0
 /**
  * @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');
             }
         }
     }
 }