mirror of
				https://github.com/Icinga/icingaweb2.git
				synced 2025-10-30 19:04:10 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHTML
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHTML
		
	
	
	
	
	
| <?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>
 | ||
|                 <?= $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>
 | ||
|                 <?= $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->markdown($comment->comment))) ?>
 | ||
|             </dd>
 | ||
|         <?php endforeach ?>
 | ||
|         </dl>
 | ||
|     <?php endif ?>
 | ||
|     </td>
 | ||
| </tr>
 |