Quelltext des aktuellen Standes
<?php $this->layout('layouts/portal', [
'page_title' => 'Meine Nachrichten',
'ssp_active' => 'notifications',
]);
$du = ($portal_address ?? 'du') !== 'sie';
$liste = $notifications ?? [];
$arten = $types ?? [];
$offen = 0;
foreach ($liste as $n) {
if (empty($n['is_read'])) {
$offen++;
}
}
?>
<div class="ssp-hello">
<h1><?= $this->te('Meine Nachrichten') ?></h1>
<p><?= $du
? $this->te('Was zu deinen Tickets, Anträgen, Leihgeräten und Bestellungen passiert ist.')
: $this->te('Was zu Ihren Tickets, Anträgen, Leihgeräten und Bestellungen passiert ist.') ?></p>
</div>
<?php if ($offen > 0): ?>
<form method="post" action="/portal/nachrichten/gelesen" style="margin-bottom:1rem;">
<input type="hidden" name="_csrf" value="<?= $this->e($this->csrf()) ?>">
<button type="submit" class="btn btn-sm btn-default">
<i class="fas fa-check-double" aria-hidden="true"></i>
<?= $this->t('Alle als gelesen markieren ({anzahl})', ['anzahl' => (int)$offen]) ?>
</button>
</form>
<?php endif; ?>
<?php if (empty($liste)): ?>
<div class="ssp-empty">
<i class="fas fa-bell" aria-hidden="true"></i>
<p><?= $du
? $this->te('Hier ist noch nichts für dich eingegangen. Sobald sich an einem deiner Vorgänge etwas tut, steht es hier.')
: $this->te('Hier ist noch nichts für Sie eingegangen. Sobald sich an einem Ihrer Vorgänge etwas tut, steht es hier.') ?></p>
</div>
<?php else: ?>
<div class="ssp-list">
<?php foreach ($liste as $n):
$art = $arten[(string)$n['type']] ?? ['icon' => 'fa-info-circle', 'tone' => 'info', 'label' => 'Hinweis'];
$gelesen = !empty($n['is_read']);
$ziel = trim((string)($n['link'] ?? '')) !== '' || !$gelesen
? '/portal/nachrichten/' . (int)$n['id']
: '';
?>
<div class="ssp-msg<?= $gelesen ? '' : ' ssp-msg--unread' ?>">
<?php if ($ziel !== ''): ?>
<a class="ssp-msg-body" href="<?= $this->e($ziel) ?>">
<?php else: ?>
<div class="ssp-msg-body">
<?php endif; ?>
<span class="ssp-ticket-icon ssp-msg-icon ssp-msg-icon--<?= $this->e((string)$art['tone']) ?>">
<i class="fas <?= $this->e((string)$art['icon']) ?>" aria-hidden="true"></i>
</span>
<span class="ssp-ticket-main">
<span class="ssp-ticket-subject"><?= $this->e((string)$n['title']) ?></span>
<?php if (trim((string)($n['message'] ?? '')) !== ''): ?>
<span class="ssp-msg-text"><?= $this->e((string)$n['message']) ?></span>
<?php endif; ?>
<span class="ssp-ticket-meta">
<?= $this->e((string)$art['label']) ?>
· <?= $this->te('{zeitpunkt} Uhr', ['zeitpunkt' => date('d.m.Y H:i', strtotime((string)$n['created_at']))]) ?>
<?php if (!$gelesen): ?><span class="ssp-nav-badge"><?= $this->te('neu') ?></span><?php endif; ?>
</span>
</span>
<?php if ($ziel !== ''): ?></a><?php else: ?></div><?php endif; ?>
<form method="post" action="/portal/nachrichten/<?= (int)$n['id'] ?>/loeschen" class="ssp-msg-del">
<input type="hidden" name="_csrf" value="<?= $this->e($this->csrf()) ?>">
<button type="submit" class="btn btn-sm btn-default" aria-label="<?= $this->te('Nachricht entfernen') ?>"
title="<?= $this->te('Nachricht entfernen') ?>"><i class="fas fa-times" aria-hidden="true"></i></button>
</form>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>