diff --git a/modules/monitoring/application/views/scripts/show/history.phtml b/modules/monitoring/application/views/scripts/show/history.phtml
index 57832ae94..f2cfacb23 100644
--- a/modules/monitoring/application/views/scripts/show/history.phtml
+++ b/modules/monitoring/application/views/scripts/show/history.phtml
@@ -1,149 +1,127 @@
-service_description;
- $params = array(
- 'host' => $object->host_name,
- 'service' => $object->service_description
- );
-} else {
- $title = $object->host_name;
- $params = array('host' => $object->host_name);
-}
-
-// TODO: Remove this once we have better helpers
-$states = array(
- 'service' => array(
- 'ok',
- 'warning',
- 'critical',
- 'unknown',
- 99 => 'pending',
- ),
- 'host' => array(
- 'up',
- 'down',
- 'unreachable',
- 99 => 'pending',
- )
-);
-
-
-?>
-= $this->render('show/components/header.phtml') ?>
-
= $this->translate("This object's event history") ?>
-= $this->widget('limiter', array('url' => $this->url, 'max' => $this->history->count())) ?>
-= $this->paginationControl($this->history, null, null, array('preserve' => $this->preserve)); ?>
+
+ = $this->render('show/components/header.phtml'); ?>
+
= $this->translate('This Object\'s Event History'); ?>
+ = $this->widget('limiter', array('url' => $url, 'max' => $history->count())); ?>
+ = $this->paginationControl($history, null, null, array('preserve' => $this->preserve)); ?>
-history->count() === 0): ?>
-= $this->translate('No History Available For This Object') ?>
+
+ = $this->translate('No history available for this object'); ?>
-
-
-
-history as $event):
-if (array_key_exists($event->state, $states[$event->object_type])) {
- $state_class = $states[$event->object_type][$event->state];
-} else {
- $state_class = 'invalid';
-}
-$extraTitle = false;
-switch ($event->type) {
- case 'notify':
- $icon = 'notification';
- $title = $this->translate('Notification');
- $state = $this->translate('ACK');
- break;
- case 'comment':
- $icon = 'comment';
- $title = $this->translate('Comment');
- break;
- case 'comment_deleted':
- $icon = 'remove';
- $title = $this->translate('Comment deleted');
- break;
- case 'ack':
- $icon = 'acknowledgement';
- $title = $this->translate('Acknowledge');
- break;
- case 'ack_deleted':
- $icon = 'remove';
- $title = $this->translate('Ack removed');
- break;
- case 'dt_comment':
- $icon = 'in_downtime';
- $title = $this->translate('In Downtime');
- break;
- case 'dt_comment_deleted':
- $icon = 'remove';
- $title = $this->translate('Downtime removed');
- break;
- case 'flapping':
- $icon = 'flapping';
- $title = $this->translate('Flapping');
- break;
- case 'flapping_deleted':
- $icon = 'remove';
- $title = $this->translate('Flapping stopped');
- break;
- case 'hard_state':
- $icon = 'submit';
- $title = strtoupper($state_class);
- break;
- case 'soft_state':
- $icon = 'softstate';
- $title = strtoupper($state_class);
- $extraTitle = $this->translate('Soft State');
- $state_class .= ' handled';
- break;
- case 'dt_start':
- $icon = 'downtime_start';
- $title = $this->translate('Downtime Start');
- break;
- case 'dt_end':
- $icon = 'downtime_end';
- $title = $this->translate('Downtime End');
- break;
-}
-
-
-
-?>
-
- = $this->escape($title) ?> = $this->prefixedTimeSince($event->timestamp) ?>= $extraTitle === false ? '' : ' ' . $this->escape($extraTitle) ?> |
-
-
+ |
+
+ service_description);
+ switch ($event->type) {
+ case 'notify':
+ $icon = 'notification';
+ $title = $this->translate('Notification');
+ $msg = $event->output;
+ break;
+ case 'comment':
+ $icon = 'comment';
+ $title = $this->translate('Comment');
+ $msg = $event->output;
+ break;
+ case 'comment_deleted':
+ $icon = 'remove';
+ $title = $this->translate('Comment deleted');
+ $msg = $event->output;
+ break;
+ case 'ack':
+ $icon = 'acknowledgement';
+ $title = $this->translate('Acknowledge');
+ $msg = $event->output;
+ break;
+ case 'ack_deleted':
+ $icon = 'remove';
+ $title = $this->translate('Ack removed');
+ $msg = $event->output;
+ break;
+ case 'dt_comment':
+ $icon = 'in_downtime';
+ $title = $this->translate('In Downtime');
+ $msg = $event->output;
+ break;
+ case 'dt_comment_deleted':
+ $icon = 'remove';
+ $title = $this->translate('Downtime removed');
+ $msg = $event->output;
+ break;
+ case 'flapping':
+ $icon = 'flapping';
+ $title = $this->translate('Flapping');
+ $msg = $event->output;
+ break;
+ case 'flapping_deleted':
+ $icon = 'remove';
+ $title = $this->translate('Flapping stopped');
+ $msg = $event->output;
+ break;
+ case 'hard_state':
+ $icon = $isService ? 'service' : 'host';
+ $msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $event->output;
+ $stateClass = (
+ $isService
+ ? strtolower($this->util()->getServiceStateName($event->state))
+ : strtolower($this->util()->getHostStateName($event->state))
+ );
+ $title = strtoupper($stateClass); // TODO: Should be translatable!
+ break;
+ case 'soft_state':
+ $icon = 'softstate';
+ $msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $event->output;
+ $stateClass = (
+ $isService
+ ? strtolower($this->util()->getServiceStateName($event->state))
+ : strtolower($this->util()->getHostStateName($event->state))
+ );
+ $title = strtoupper($stateClass); // TODO: Should be translatable!
+ break;
+ case 'dt_start':
+ $icon = 'downtime_start';
+ $title = $this->translate('Downtime Start');
+ $msg = $event->output;
+ break;
+ case 'dt_end':
+ $icon = 'downtime_end';
+ $title = $this->translate('Downtime End');
+ $msg = $event->output;
+ break;
+ }
+ ?>
+
+
+ = $this->escape($title); ?>
+
+ = date('d.m. H:i', $event->timestamp); ?>
+ |
+ tickets ? preg_replace_callback(
$this->tickets->getPattern(),
array($this->tickets, 'createLink'),
- $this->escape($event->output)
-) : $this->escape($event->output);
-
-echo $this->icon($icon . '.png', $title) . ' ';
-
-if ($object instanceof Host): ?>
- = $this->escape($event->service_description) ?>
-
-
- = $this->escape($event->service_description) ?> on = $this->escape($event->host_name) ?>
-attempt !== null) {
- printf('[ %d/%d ] ', $event->attempt, $event->max_attempts);
-}
-echo $output;
+ $this->escape($msg)
+) : $this->escape($msg);
?>
- |
-
+
+ = $this->escape($event->service_description) . ' ' . $this->translate('on') . ' ' . $this->escape($event->host_name); ?>
+
+ = $this->escape($event->host_name); ?>
+
+
+
+ = $this->icon($icon . '.png', $title); ?> = empty($msg) ? '' : $msg; ?>
+
+
+
endforeach; ?>
-
-
+
+