<?php

/** @var \Icinga\Module\Monitoring\Object\MonitoredObject $object */

if (in_array((int) $object->state, array(0, 99))) {
    // Ignore this markup if the object is in a non-problem state or pending
    return;
}

if ($object->acknowledged):
$acknowledgement = $object->acknowledgement;
/** @var \Icinga\Module\Monitoring\Object\Acknowledgement $acknowledgement */
?>
<tr>
    <th><?= $this->translate('Acknowledged') ?></th>
    <td data-base-target="_self">
        <?php if ($acknowledgement): ?>
        <dl class="comment-list">
            <dt>
                <?= $this->escape($acknowledgement->getAuthor()) ?>
                <span class="comment-time">
                    <?= $this->translate('acknowledged') ?>
                    <?= $this->timeAgo($acknowledgement->getEntryTime()) ?>
                <?php if ($acknowledgement->expires()): ?>
                    <span aria-hidden="true">&#448;</span>
                    <?= sprintf(
                        $this->translate('Expires %s'),
                        $this->timeUntil($acknowledgement->getExpirationTime())
                    ) ?>
                <?php endif ?>
                </span>
                <?php if ($acknowledgement->getSticky()): ?>
                    <?= $this->icon('pin', sprintf(
                        $this->translate(
                            'Acknowledgement remains until the %1$s recovers even if the %1$s changes state'
                        ),
                        $object->getType(true)
                    )) ?>
                <?php endif ?>
                <?php if (isset($removeAckForm)) {
                    // Form is unset if the current user lacks the respective permission
                    $removeAckForm->setAttrib('class', $removeAckForm->getAttrib('class') . ' remove-action');
                    echo $removeAckForm;
                } ?>
            </dt>
            <dd>
                <?= $this->nl2br($this->createTicketLinks($this->markdown($acknowledgement->getComment()))) ?>
            </dd>
        </dl>
        <?php elseif (isset($removeAckForm)): ?>
            <?= $removeAckForm ?>
        <?php endif ?>
    </td>
</tr>
<?php else: ?>
<tr>
    <th><?= $this->translate('Not acknowledged') ?></th>
    <td>
    <?php if ($this->hasPermission('monitoring/command/acknowledge-problem')) {
        if ($object->getType() === $object::TYPE_HOST) {
            $ackLink = $this->href(
                'monitoring/host/acknowledge-problem',
                array('host' => $object->getName()),
                null,
                array('class' => 'action-link')
            );
        } else {
            $ackLink = $this->href(
                'monitoring/service/acknowledge-problem',
                array('host' => $object->getHost()->getName(), 'service' => $object->getName()),
                null,
                array('class' => 'action-link')
            );
        }
    ?>
        <?= $this->qlink(
            $this->translate('Acknowledge'),
            $ackLink,
            null,
            array(
                'class'             => 'action-link',
                'data-base-target'  => '_self',
                'icon'              => 'edit',
                'title'             => $this->translate(
                    'Acknowledge this problem, suppress all future notifications for it and tag it as being handled'
                )
            )
        ) ?>
    <?php } else {
        echo '&#45;';
    } // endif ?>
    </td>
</tr>
<?php endif ?>
