87 lines
3.5 KiB
PHTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
$addLink = false;
if ($this->hasPermission('monitoring/command/comment/add')) {
/** @var \Icinga\Module\Monitoring\Object\MonitoredObject $object */
if ($object->getType() === $object::TYPE_HOST) {
$addLink = $this->qlink(
$this->translate('Add comment'),
'monitoring/host/add-comment',
array('host' => $object->getName()),
array(
'class' => 'action-link',
'data-base-target' => '_self',
'icon' => 'comment-empty',
'title' => $this->translate('Add a new comment to this host')
)
);
} else {
$addLink = $this->qlink(
$this->translate('Add comment'),
'monitoring/service/add-comment',
array('host' => $object->getHost()->getName(), 'service' => $object->getName()),
array(
'class' => 'action-link',
'data-base-target' => '_self',
'icon' => 'comment-empty',
'title' => $this->translate('Add a new comment to this service')
)
);
}
}
if (empty($object->comments) && ! $addLink) {
return;
}
?>
<tr>
<th><?php
echo $this->translate('Comments');
if (! empty($object->comments) && $addLink) {
echo '<br>' . $addLink;
}
?></th>
<td data-base-target="_self">
<?php if (empty($object->comments)):
echo $addLink;
else: ?>
<dl class="comment-list">
<?php foreach ($object->comments as $comment): ?>
<dt>
<a data-base-target="_next" href="<?= $this->href('monitoring/comment/show', array('comment_id' => $comment->id)) ?>">
<?= $this->escape($comment->author) ?>
<span class="comment-time">
<?= $this->translate('commented') ?>
<?= $this->timeAgo($comment->timestamp) ?>
<?php if ($comment->expiration): ?>
<span aria-hidden="true">ǀ</span>
<?= sprintf(
$this->translate('Expires %s'),
$this->timeUntil($comment->expiration)
) ?>
<?php endif ?>
</span>
</a>
<?= $comment->persistent ? $this->icon('attach', 'This comment is persistent.') : '' ?>
<?php if (isset($delCommentForm)) {
// Form is unset if the current user lacks the respective permission
$deleteButton = clone($delCommentForm);
/** @var \Icinga\Module\Monitoring\Forms\Command\Object\DeleteCommentCommandForm $deleteButton */
$deleteButton->setAttrib('class', $deleteButton->getAttrib('class') . ' remove-action');
$deleteButton->populate(
array(
'comment_id' => $comment->id,
'comment_is_service' => isset($comment->service_description),
'comment_name' => $comment->name
)
);
echo $deleteButton;
} ?>
</dt>
<dd>
<?= $this->nl2br($this->createTicketLinks($this->markdownLine($comment->comment, [ 'class' => 'caption']))) ?>
</dd>
<?php endforeach ?>
</dl>
<?php endif ?>
</td>
</tr>