diff --git a/modules/monitoring/application/views/helpers/MonitoringProperties.php b/modules/monitoring/application/views/helpers/MonitoringProperties.php deleted file mode 100644 index efbc80749..000000000 --- a/modules/monitoring/application/views/helpers/MonitoringProperties.php +++ /dev/null @@ -1,284 +0,0 @@ - 'Current Attempt', - 'buildCheckType' => 'Check Type', - 'buildLatency' => 'Check Latency / Duration', - 'buildLastStateChange' => 'Last State Change', - 'buildLastNotification' => 'Last Notification', - 'buildFlapping' => 'Is This %s Flapping?', - 'buildScheduledDowntime' => 'In Scheduled Downtime?', - 'status_update_time' => 'Last Update' - ); - - private static $notificationReasons = array( - 0 => 'NORMAL', - 1 => 'ACKNOWLEDGEMENT', - 2 => 'FLAPPING START', - 3 => 'FLAPPING STOP', - 4 => 'FLAPPING DISABLED', - 5 => 'DOWNTIME START', - 6 => 'DOWNTIME END', - 7 => 'DOWNTIME CANCELLED', - 8 => 'CUSTOM', - 9 => 'STALKING' - ); - - /** - * Return the object type - * @param stdClass $object - * @return mixed - */ - private function getObjectType($object) - { - $keys = array_keys(get_object_vars($object)); - $keyParts = explode('_', array_shift($keys), 2); - return array_shift($keyParts); - } - - /** - * Drop all object specific attribute prefixes - * @param stdClass $object - * @param $type - * @return object - */ - private function dropObjectType($object, $type) - { - $vars = get_object_vars($object); - $out = array(); - foreach ($vars as $name => $value) { - $name = str_replace($type. '_', '', $name); - $out[$name] = $value; - } - return (object)$out; - } - - /** - * Get string for attempt - * @param stdClass $object - * @return string - */ - private function buildAttempt($object) - { - return sprintf( - '%s/%s (%s state)', - $object->current_check_attempt, - $object->max_check_attempts, - ($object->state_type === '1') ? 'HARD' : 'SOFT' - ); - } - - /** - * Generic fomatter for float values - * @param $value - * @return string - */ - private function floatFormatter($value) - { - return sprintf('%.4F', $value); - } - - /** - * Get the string for check type - * @param stdClass $object - * @return string - */ - private function buildCheckType($object) - { - if ($object->passive_checks_enabled === '1' && $object->active_checks_enabled === '0') { - return self::CHECK_PASSIVE; - } elseif ($object->passive_checks_enabled === '0' && $object->active_checks_enabled === '0') { - return self::CHECK_DISABLED; - } - - return self::CHECK_ACTIVE; - } - - /** - * Get string for latency - * @param stdClass $object - * @return string - */ - private function buildLatency($object) - { - $val = ''; - if ($this->buildCheckType($object) === self::CHECK_PASSIVE) { - $val .= self::VALUE_NA; - } else { - $val .= $this->floatFormatter( - (isset($object->check_latency)) ? $object->check_latency : 0 - ); - } - - $val .= ' / '. $this->floatFormatter( - isset($object->check_execution_time) ? $object->check_execution_time : 0 - ). ' seconds'; - - return $val; - } - - /** - * Get string for next check - * @param stdClass $object - * @return string - */ - private function buildNextCheck($object) - { - if ($this->buildCheckType($object) === self::CHECK_PASSIVE) { - return self::VALUE_NA; - } else { - return $object->next_check; - } - } - - /** - * Get date for last state change - * @param stdClass $object - * @return string - */ - private function buildLastStateChange($object) - { - return strftime('%Y-%m-%d %H:%M:%S', $object->last_state_change); - } - - /** - * Get string for "last notification" - * @param stdClass $object - * @return string - */ - private function buildLastNotification($object) - { - $val = ''; - - if ($object->last_notification === '0000-00-00 00:00:00') { - $val .= self::VALUE_NA; - } else { - $val .= $object->last_notification; - } - - $val .= sprintf(' (notification %d)', $object->current_notification_number); - - return $val; - } - - /** - * Get string for "is flapping" - * @param stdClass $object - * @return string - */ - private function buildFlapping($object) - { - $val = ''; - - if ($object->is_flapping === '0') { - $val .= self::VALUE_NO; - } else { - $val .= self::VALUE_YES; - } - - $val .= sprintf(' (%.2F%% state change)', $object->percent_state_change); - - return $val; - } - - /** - * Get string for scheduled downtime - * @param stdClass $object - * @return string - */ - private function buildScheduledDowntime($object) - { - if ($object->in_downtime === '1') { - return self::VALUE_YES; - } - - return self::VALUE_NO; - } - - /** - * Get an array which represent monitoring properties - * - * @param stdClass $object - * @return array - */ - public function monitoringProperties($object) - { - $type = $this->getObjectType($object); - //$object = $this->dropObjectType($object, $type); - - $out = array(); - foreach (self::$keys as $property => $label) { - $label = sprintf($label, ucfirst($type)); - if (is_callable(array(&$this, $property))) { - $out[$label] = $this->$property($object); - } elseif (isset($object->{$property})) { - $out[$label] = $object->{$property}; - } - } - - return $out; - } - - public function getNotificationType($notification) - { - $reason = intval($notification->notification_reason); - if (!isset(self::$notificationReasons[$reason])) { - return 'N/A'; - } - $type = self::$notificationReasons[$reason]; - if ($reason === 8) { - if (intval($notification->notification_type) === 0) { - $type .= '(UP)'; - } else { - $type .= '(OK)'; - } - } - return $type; - } -} diff --git a/modules/monitoring/test/php/application/views/helpers/MonitoringPropertiesTest.php b/modules/monitoring/test/php/application/views/helpers/MonitoringPropertiesTest.php deleted file mode 100644 index 5a476aaef..000000000 --- a/modules/monitoring/test/php/application/views/helpers/MonitoringPropertiesTest.php +++ /dev/null @@ -1,104 +0,0 @@ -current_check_attempt = '5'; - - $propertyHelper = new Zend_View_Helper_MonitoringProperties(); - $items = $propertyHelper->monitoringProperties($host); - - $this->assertEquals('5/10 (HARD state)', $items['Current Attempt']); - } - - public function testOutput2() - { - $host = new HostStruct4Properties(); - $host->current_check_attempt = '5'; - $host->active_checks_enabled = '1'; - $host->passive_checks_enabled = '0'; - $host->is_flapping = '1'; - - $propertyHelper = new Zend_View_Helper_MonitoringProperties(); - $items = $propertyHelper->monitoringProperties($host); - - $test = array( - 'Current Attempt' => "5/10 (HARD state)", - 'Check Type' => "ACTIVE", - 'Check Latency / Duration' => "0.1204 / 0.0000 seconds", - 'Last State Change' => "2013-07-04 11:24:43", - 'Last Notification' => "N/A (notification 0)", - 'Is This Host Flapping?' => "YES (12.37% state change)", - 'In Scheduled Downtime?' => "YES" - ); - - $this->assertEquals($test, $items); - } -}