icingaweb2/modules/monitoring/application/views/helpers/MonitoringState.php

106 lines
3.0 KiB
PHP

<?php
// {{{ICINGA_LICENSE_HEADER}}}
// {{{ICINGA_LICENSE_HEADER}}}
/**
* @deprecated Crap.
*/
class Zend_View_Helper_MonitoringState extends Zend_View_Helper_Abstract
{
private $servicestates = array('ok', 'warning', 'critical', 'unknown', 99 => 'pending', null => 'pending');
private $hoststates = array('up', 'down', 'unreachable', 99 => 'pending', null => 'pending');
/**
* @deprecated The host or service object must know it's possible states.
*/
public function monitoringState($object, $type = 'service')
{
if ($type === 'service') {
return $this->servicestates[$object->service_state];
} elseif ($type === 'host') {
return $this->hoststates[$object->host_state];
}
}
public function monitoringStateById($id, $type = 'service')
{
if ($type === 'service') {
return $this->servicestates[$id];
} elseif ($type === 'host') {
return $this->hoststates[$id];
}
}
/**
* @deprecated Monitoring colors are clustered.
*/
public function getServiceStateColors()
{
return array('#44bb77', '#FFCC66', '#FF5566', '#E066FF', '#77AAFF');
}
/**
* @deprecated Monitoring colors are clustered.
*/
public function getHostStateColors()
{
return array('#44bb77', '#FF5566', '#E066FF', '#77AAFF');
}
/**
* @deprecated The service object must know about it's possible states.
*/
public function getServiceStateNames()
{
return array_values($this->servicestates);
}
/**
* @deprecated The host object must know about it's possible states.
*/
public function getHostStateNames()
{
return array_values($this->hoststates);
}
/**
* @deprecated Not used anywhere.
*/
public function getStateFlags($object, $type = 'service')
{
$state_classes = array();
if ($type === 'host') {
$state_classes[] = $this->monitoringState($object, "host");
if ($object->host_acknowledged || $object->host_in_downtime) {
$state_classes[] = 'handled';
}
if ($object->host_last_state_change > (time() - 600)) {
$state_classes[] = 'new';
}
} else {
$state_classes[] = $this->monitoringState($object, "service");
if ($object->service_acknowledged || $object->service_in_downtime) {
$state_classes[] = 'handled';
}
if ($object->service_last_state_change > (time() - 600)) {
$state_classes[] = 'new';
}
}
return $state_classes;
}
/**
* @deprecated Not translated.
*/
public function getStateTitle($object, $type)
{
return sprintf(
'%s %s %s',
$this->view->translate(strtoupper($this->monitoringState($object, $type))),
$this->view->translate('since'),
date('Y-m-d H:i:s', $object->{$type.'_last_state_change'})
);
}
}