$this->getFeatureStatus('active_checks_enabled', $prefix, $summary), ToggleObjectFeatureCommand::FEATURE_PASSIVE_CHECKS => $this->getFeatureStatus('passive_checks_enabled', $prefix, $summary), ToggleObjectFeatureCommand::FEATURE_NOTIFICATIONS => $this->getFeatureStatus('notifications_enabled', $prefix, $summary), ToggleObjectFeatureCommand::FEATURE_EVENT_HANDLER => $this->getFeatureStatus('event_handler_enabled', $prefix, $summary), ToggleObjectFeatureCommand::FEATURE_FLAP_DETECTION => $this->getFeatureStatus('flapping_enabled', $prefix, $summary) ]; parent::__construct($featureStatus, ArrayObject::ARRAY_AS_PROPS); } protected function getFeatureStatus(string $feature, string $prefix, $summary): int { $key = "{$prefix}_{$feature}"; $value = (int) $summary->$key; if ($value === 0) { return 0; } $totalKey = "{$prefix}_total"; $total = (int) $summary->$totalKey; if ($value === $total) { return 1; } return 2; } }