128 lines
4.2 KiB
PHTML
128 lines
4.2 KiB
PHTML
<div class="controls">
|
|
<?= $this->render('show/components/header.phtml'); ?>
|
|
<h1><?= $this->translate('This Object\'s Event History'); ?></h1>
|
|
<?= $this->widget('limiter', array('url' => $url, 'max' => $history->count())); ?>
|
|
<?= $this->paginationControl($history, null, null, array('preserve' => $this->preserve)); ?>
|
|
</div>
|
|
|
|
<div class="content">
|
|
<?php if (empty($history)): ?>
|
|
<?= $this->translate('No history available for this object'); ?>
|
|
</div>
|
|
<?php return; endif ?>
|
|
|
|
<table data-base-target="_next" class="action objecthistory">
|
|
<tbody>
|
|
<?php foreach ($history as $event): ?>
|
|
<?php
|
|
$stateClass = 'invalid';
|
|
$isService = isset($event->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;
|
|
}
|
|
?>
|
|
<tr class="state <?= $stateClass; ?>">
|
|
<td class="state">
|
|
<strong><?= $this->escape($title); ?></strong>
|
|
<br>
|
|
<?= date('d.m. H:i', $event->timestamp); ?>
|
|
</td>
|
|
<td><?php
|
|
|
|
$output = $this->tickets ? preg_replace_callback(
|
|
$this->tickets->getPattern(),
|
|
array($this->tickets, 'createLink'),
|
|
$this->escape($msg)
|
|
) : $this->escape($msg);
|
|
|
|
?>
|
|
<?php if ($isService): ?>
|
|
<?= $this->escape($event->service_description) . ' ' . $this->translate('on') . ' ' . $this->escape($event->host_name); ?>
|
|
<?php else: ?>
|
|
<?= $this->escape($event->host_name); ?>
|
|
<?php endif ?>
|
|
<br>
|
|
<div>
|
|
<?= $this->icon($icon . '.png', $title); ?> <?= empty($msg) ? '' : $msg; ?>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<? endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|