OpenNIT

Quelltext des aktuellen Standes

Fassung 1.1.1

profile-notifications-form.php

2 KB
<?php
/**
 * Auswahl der eigenen E-Mail-Benachrichtigungen.
 *
 * Wird von der eigenen Seite und vom Dialog in der Kopfleiste eingebunden;
 * beide zeigen dasselbe Formular.
 *
 * @var array<string,string> $events      Ereignis-Schlüssel => Beschriftung.
 * @var array<string,bool>   $gewaehlt    Bereits gewählte Ereignisse.
 * @var bool                 $mail_bereit Ist ein Postausgang eingerichtet?
 * @var string               $rueckweg    Wohin nach dem Speichern.
 */
$events      = $events ?? [];
$gewaehlt    = $gewaehlt ?? [];
$mail_bereit = $mail_bereit ?? true;
$rueckweg    = $rueckweg ?? '/profile/notifications';
?>
<?php if (!$mail_bereit): ?>
<div class="alert alert-warning">
    <?= $this->te('Für Tickets ist noch kein Postausgang eingerichtet. Die Auswahl lässt sich speichern, versendet aber erst etwas, sobald die Administration den Mailversand hinterlegt hat.') ?>
</div>
<?php endif; ?>

<form method="POST" action="/profile/notifications">
    <input type="hidden" name="_csrf" value="<?= $this->csrf() ?>">
    <input type="hidden" name="return" value="<?= $this->e($rueckweg) ?>">

    <div class="form-group">
        <label><?= $this->te('E-Mail zusätzlich erhalten') ?></label>
        <?php foreach ($events as $key => $label): ?>
        <label style="display:flex;gap:.5rem;align-items:flex-start;font-weight:normal;cursor:pointer;margin:0 0 .5rem;">
            <input type="checkbox" name="mail_<?= $this->e($key) ?>" value="1"
                   <?= !empty($gewaehlt[$key]) ? 'checked' : '' ?>>
            <span><?= $this->e($label) ?></span>
        </label>
        <?php endforeach; ?>
    </div>

    <p class="text-muted" style="font-size:.8rem;line-height:1.6;margin:.75rem 0 0;">
        <?= $this->te('Ob diese Ereignisse überhaupt ausgelöst werden, legt die Administration für alle gemeinsam fest. Hier entscheiden Sie nur, ob Sie sie zusätzlich per E-Mail bekommen – ohne Haken bleibt es bei Glocke und Web-Push.') ?>
    </p>

    <div class="modal-footer" style="padding-left:0;padding-right:0;">
        <button type="button" class="btn btn-default" data-modal-close><?= $this->te('Abbrechen') ?></button>
        <button type="submit" class="btn btn-primary"><?= $this->te('Speichern') ?></button>
    </div>
</form>