<td class="state-col state-<?= $stateName; ?><?= $downtime->is_in_effect ? ' handled' : ''; ?>">
  <?php if ($downtime->start <= time() && ! $downtime->is_in_effect): ?>
      <div class="state-label"><?= $this->translate('ENDS', 'Downtime status'); ?></div>
      <div class="state-meta"><?= $this->timeUntil($downtime->is_flexible ? $downtime->scheduled_end : $downtime->end, $this->compact, true) ?></div>
  <?php else: ?>
      <div class="state-label"><?= $downtime->is_in_effect ? $this->translate('EXPIRES', 'Downtime status') : $this->translate('STARTS', 'Downtime status'); ?></div>
      <div class="state-meta"><?= $this->timeUntil($downtime->is_in_effect ? $downtime->end : $downtime->start, $this->compact, true) ?></div>
  <?php endif; ?>
</td>
<td>
  <div class="comment-author">
    <?php if ($isService) {
        echo '<span class="service-on">';
        echo sprintf(
            $this->translate('%s on %s', 'service on host'),
            $this->qlink(
                $downtime->service_display_name,
                'monitoring/service/show',
                [
                    'host' => $downtime->host_name,
                    'service' => $downtime->service_description
                ],
                [
                    'title' => sprintf(
                        $this->translate('Show detailed information for service %s on host %s'),
                        $downtime->service_display_name,
                        $downtime->host_display_name
                    )
                ]
            ),
            $this->qlink(
                $downtime->host_display_name,
                'monitoring/host/show',
                ['host' => $downtime->host_name],
                [
                    'title' => sprintf(
                        $this->translate('Show detailed information for host %s'),
                        $downtime->host_display_name
                    )
                ]
            )
        );
        echo '</span>';
    } else {
        echo $this->qlink(
            $downtime->host_display_name,
            'monitoring/host/show',
            array('host' => $downtime->host_name, 'downtime_id' => $downtime->id),
            array(
                'title' => sprintf(
                    $this->translate('Show detailed information for this downtime scheduled for host %s'),
                    $downtime->host_display_name
                )
            )
        );
    } ?>
    <span class="comment-time">
        <?= $this->escape(sprintf(
            $downtime->is_flexible
                ? $this->translate('Flexible downtime by %s')
                : $this->translate('Fixed downtime by %s'),
            $downtime->author_name
        )) ?>
    </span>
  <?php if (! $downtime->is_in_effect && $downtime->start >= time()): ?>
    <span><?= sprintf($this->translate('expires %s'), $this->timeUntil($downtime->is_flexible ? $downtime->scheduled_end : $downtime->end, false, true)) ?></span>
  <?php endif ?>
    <span class="comment-icons">
      <?php if ($downtime->is_flexible): ?>
          <?= $this->icon('magic', $this->translate('This downtime is flexible')); ?>
      <?php endif ?>

      <?php if ($downtime->is_in_effect): ?>
          <?= $this->icon('plug', $this->translate('This downtime is in effect')); ?>
      <?php endif ?>

      <?php if (isset($delDowntimeForm)) {
          // Form is unset if the current user lacks the respective permission
          $uniqId = uniqid();
          $buttonId = 'delete-downtime-' . $uniqId;
          $textId = 'downtime-' . $uniqId;
          $deleteButton = clone $delDowntimeForm;
          /** @var \Icinga\Module\Monitoring\Forms\Command\Object\DeleteDowntimeCommandForm $deleteButton */
          $deleteButton->setAttrib('class', $deleteButton->getAttrib('class') . ' remove-action');
          $deleteButton->populate(
              array(
                  'downtime_id'         => $downtime->id,
                  'downtime_is_service' => isset($downtime->service_description),
                  'downtime_name'       => $downtime->name
              )
          );
          $deleteButton->getElement('btn_submit')
              ->setAttrib('aria-label', $this->translate('Delete downtime'))
              ->setAttrib('id', $buttonId)
              ->setAttrib('aria-describedby', $buttonId . ' ' . $textId);
          echo $deleteButton;
      } ?>
    </span>
  </div>
  <?= $this->nl2br($this->markdown($downtime->comment, isset($textId) ? ['id' => $textId] : null)) ?>
</td>
