コード例 #1
0
 public function renderToggleInstanceFeature(ToggleInstanceFeatureCommand $command)
 {
     switch ($command->getFeature()) {
         case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_HOST_CHECKS:
         case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_SERVICE_CHECKS:
         case ToggleInstanceFeatureCommand::FEATURE_HOST_OBSESSING:
         case ToggleInstanceFeatureCommand::FEATURE_SERVICE_OBSESSING:
         case ToggleInstanceFeatureCommand::FEATURE_PASSIVE_HOST_CHECKS:
         case ToggleInstanceFeatureCommand::FEATURE_PASSIVE_SERVICE_CHECKS:
             if ($command->getEnabled() === true) {
                 $commandPrefix = 'START';
             } else {
                 $commandPrefix = 'STOP';
             }
             break;
         case ToggleInstanceFeatureCommand::FEATURE_EVENT_HANDLERS:
         case ToggleInstanceFeatureCommand::FEATURE_FLAP_DETECTION:
         case ToggleInstanceFeatureCommand::FEATURE_NOTIFICATIONS:
         case ToggleInstanceFeatureCommand::FEATURE_PERFORMANCE_DATA:
             if ($command->getEnabled() === true) {
                 $commandPrefix = 'ENABLE';
             } else {
                 $commandPrefix = 'DISABLE';
             }
             break;
         default:
             throw new InvalidArgumentException($command->getFeature());
     }
     switch ($command->getFeature()) {
         case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_HOST_CHECKS:
             $commandString = sprintf('%s_%s', $commandPrefix, 'EXECUTING_HOST_CHECKS');
             break;
         case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_SERVICE_CHECKS:
             $commandString = sprintf('%s_%s', $commandPrefix, 'EXECUTING_SVC_CHECKS');
             break;
         case ToggleInstanceFeatureCommand::FEATURE_EVENT_HANDLERS:
             $commandString = sprintf('%s_%s', $commandPrefix, 'EVENT_HANDLERS');
             break;
         case ToggleInstanceFeatureCommand::FEATURE_FLAP_DETECTION:
             $commandString = sprintf('%s_%s', $commandPrefix, 'FLAP_DETECTION');
             break;
         case ToggleInstanceFeatureCommand::FEATURE_NOTIFICATIONS:
             $commandString = sprintf('%s_%s', $commandPrefix, 'NOTIFICATIONS');
             break;
         case ToggleInstanceFeatureCommand::FEATURE_HOST_OBSESSING:
             $commandString = sprintf('%s_%s', $commandPrefix, 'OBSESSING_OVER_HOST_CHECKS');
             break;
         case ToggleInstanceFeatureCommand::FEATURE_SERVICE_OBSESSING:
             $commandString = sprintf('%s_%s', $commandPrefix, 'OBSESSING_OVER_SVC_CHECKS');
             break;
         case ToggleInstanceFeatureCommand::FEATURE_PASSIVE_HOST_CHECKS:
             $commandString = sprintf('%s_%s', $commandPrefix, 'ACCEPTING_PASSIVE_HOST_CHECKS');
             break;
         case ToggleInstanceFeatureCommand::FEATURE_PASSIVE_SERVICE_CHECKS:
             $commandString = sprintf('%s_%s', $commandPrefix, 'ACCEPTING_PASSIVE_SVC_CHECKS');
             break;
         case ToggleInstanceFeatureCommand::FEATURE_PERFORMANCE_DATA:
             $commandString = sprintf('%s_%s', $commandPrefix, 'PERFORMANCE_DATA');
             break;
         default:
             throw new InvalidArgumentException($command->getFeature());
     }
     return $commandString;
 }
コード例 #2
0
 /**
  * (non-PHPDoc)
  * @see \Icinga\Web\Form::onSuccess() For the method documentation.
  */
 public function onSuccess()
 {
     $this->assertPermission('monitoring/command/feature/instance');
     $notifications = array(ToggleInstanceFeatureCommand::FEATURE_ACTIVE_HOST_CHECKS => array($this->translate('Enabling active host checks..'), $this->translate('Disabling active host checks..')), ToggleInstanceFeatureCommand::FEATURE_ACTIVE_SERVICE_CHECKS => array($this->translate('Enabling active service checks..'), $this->translate('Disabling active service checks..')), ToggleInstanceFeatureCommand::FEATURE_EVENT_HANDLERS => array($this->translate('Enabling event handlers..'), $this->translate('Disabling event handlers..')), ToggleInstanceFeatureCommand::FEATURE_FLAP_DETECTION => array($this->translate('Enabling flap detection..'), $this->translate('Disabling flap detection..')), ToggleInstanceFeatureCommand::FEATURE_NOTIFICATIONS => array($this->translate('Enabling notifications..'), $this->translate('Disabling notifications..')), ToggleInstanceFeatureCommand::FEATURE_HOST_OBSESSING => array($this->translate('Enabling obsessing over hosts..'), $this->translate('Disabling obsessing over hosts..')), ToggleInstanceFeatureCommand::FEATURE_SERVICE_OBSESSING => array($this->translate('Enabling obsessing over services..'), $this->translate('Disabling obsessing over services..')), ToggleInstanceFeatureCommand::FEATURE_PASSIVE_HOST_CHECKS => array($this->translate('Enabling passive host checks..'), $this->translate('Disabling passive host checks..')), ToggleInstanceFeatureCommand::FEATURE_PASSIVE_SERVICE_CHECKS => array($this->translate('Enabling passive service checks..'), $this->translate('Disabling passive service checks..')), ToggleInstanceFeatureCommand::FEATURE_PERFORMANCE_DATA => array($this->translate('Enabling performance data..'), $this->translate('Disabling performance data..')));
     foreach ($this->getValues() as $feature => $enabled) {
         if ((bool) $this->status->{$feature} !== (bool) $enabled) {
             $toggleFeature = new ToggleInstanceFeatureCommand();
             $toggleFeature->setFeature($feature)->setEnabled($enabled);
             $this->getTransport($this->request)->send($toggleFeature);
             Notification::success($notifications[$feature][$enabled ? 0 : 1]);
         }
     }
     return true;
 }
コード例 #3
0
 public function renderToggleInstanceFeature(ToggleInstanceFeatureCommand $command)
 {
     $endpoint = 'objects/icingaapplications/' . $this->getApp();
     if ($command->getEnabled() === true) {
         $enabled = true;
     } else {
         $enabled = false;
     }
     switch ($command->getFeature()) {
         case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_HOST_CHECKS:
             $attr = 'enable_host_checks';
             break;
         case ToggleInstanceFeatureCommand::FEATURE_ACTIVE_SERVICE_CHECKS:
             $attr = 'enable_service_checks';
             break;
         case ToggleInstanceFeatureCommand::FEATURE_EVENT_HANDLERS:
             $attr = 'enable_event_handlers';
             break;
         case ToggleInstanceFeatureCommand::FEATURE_FLAP_DETECTION:
             $attr = 'enable_flapping';
             break;
         case ToggleInstanceFeatureCommand::FEATURE_NOTIFICATIONS:
             $attr = 'enable_notifications';
             break;
         case ToggleInstanceFeatureCommand::FEATURE_PERFORMANCE_DATA:
             $attr = 'enable_perfdata';
             break;
         default:
             throw new InvalidArgumentException($command->getFeature());
     }
     $data = array('attrs' => array($attr => $enabled));
     return IcingaApiCommand::create($endpoint, $data);
 }