From d1dae46faef698a0ce3be90169599b6bfbef6b39 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Fri, 5 Sep 2014 18:20:35 +0200 Subject: [PATCH] show/history: link notification contacts, show state --- .../views/scripts/show/history.phtml | 50 +++++++++++++------ 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/modules/monitoring/application/views/scripts/show/history.phtml b/modules/monitoring/application/views/scripts/show/history.phtml index f2cfacb23..e2c13aa8b 100644 --- a/modules/monitoring/application/views/scripts/show/history.phtml +++ b/modules/monitoring/application/views/scripts/show/history.phtml @@ -11,6 +11,16 @@ +qlink($contact, 'monitoring/show/contact', array('contact' => $contact)); + } + return '[' . implode(', ', $links) . ']'; +} +?> + @@ -21,51 +31,61 @@ case 'notify': $icon = 'notification'; $title = $this->translate('Notification'); - $msg = $event->output; + $stateClass = ( + $isService + ? strtolower($this->util()->getServiceStateName($event->state)) + : strtolower($this->util()->getHostStateName($event->state)) + ); + + $msg = preg_replace_callback( + '/^\[([^\]]+)\]/', + function($match) { return contactsLink($match, $this); }, + $this->escape($event->output) + ); break; case 'comment': $icon = 'comment'; $title = $this->translate('Comment'); - $msg = $event->output; + $msg = $this->escape($event->output); break; case 'comment_deleted': $icon = 'remove'; $title = $this->translate('Comment deleted'); - $msg = $event->output; + $msg = $this->escape($event->output); break; case 'ack': $icon = 'acknowledgement'; $title = $this->translate('Acknowledge'); - $msg = $event->output; + $msg = $this->escape($event->output); break; case 'ack_deleted': $icon = 'remove'; $title = $this->translate('Ack removed'); - $msg = $event->output; + $msg = $this->escape($event->output); break; case 'dt_comment': $icon = 'in_downtime'; $title = $this->translate('In Downtime'); - $msg = $event->output; + $msg = $this->escape($event->output); break; case 'dt_comment_deleted': $icon = 'remove'; $title = $this->translate('Downtime removed'); - $msg = $event->output; + $msg = $this->escape($event->output); break; case 'flapping': $icon = 'flapping'; $title = $this->translate('Flapping'); - $msg = $event->output; + $msg = $this->escape($event->output); break; case 'flapping_deleted': $icon = 'remove'; $title = $this->translate('Flapping stopped'); - $msg = $event->output; + $msg = $this->escape($event->output); break; case 'hard_state': $icon = $isService ? 'service' : 'host'; - $msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $event->output; + $msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $this->escape($event->output); $stateClass = ( $isService ? strtolower($this->util()->getServiceStateName($event->state)) @@ -75,7 +95,7 @@ break; case 'soft_state': $icon = 'softstate'; - $msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $event->output; + $msg = '[ ' . $event->attempt . '/' . $event->max_attempts . ' ] ' . $this->escape($event->output); $stateClass = ( $isService ? strtolower($this->util()->getServiceStateName($event->state)) @@ -86,12 +106,12 @@ case 'dt_start': $icon = 'downtime_start'; $title = $this->translate('Downtime Start'); - $msg = $event->output; + $msg = $this->escape($event->output); break; case 'dt_end': $icon = 'downtime_end'; $title = $this->translate('Downtime End'); - $msg = $event->output; + $msg = $this->escape($event->output); break; } ?> @@ -106,8 +126,8 @@ $output = $this->tickets ? preg_replace_callback( $this->tickets->getPattern(), array($this->tickets, 'createLink'), - $this->escape($msg) -) : $this->escape($msg); + $msg +) : $msg; ?>