OpenNIT

Quelltext des aktuellen Standes

Fassung 1.1.1

settings-tabs.php

1 KB
<?php
/**
 * Gemeinsame Tab-Navigation für die Einstellungs-Seiten.
 * Aufruf: <?= $this->partial('settings-tabs', ['active' => 'email']) ?>
 *
 * Die Login-Verfahren (Microsoft 365, Keycloak, Active Directory) liegen unter
 * dem Sammel-Tab „Anmeldung"; die jeweilige Unterseite wählt man dort über eine
 * Sub-Navigation. Daher werden deren aktive Keys auf 'login' abgebildet.
 */
$tabs = [
    ''          => ['/admin/settings',           'fa-cog',          'Allgemein'],
    'login'     => ['/admin/settings/m365',      'fa-key',          'Anmeldung'],
    'security'  => ['/admin/settings/security',  'fa-user-shield',  'Sicherheit'],
    'email'     => ['/admin/settings/email',     'fa-envelope',     'E-Mail'],
    'pwa'       => ['/admin/settings/pwa',       'fa-mobile-alt',   'PWA & Push'],
    'signature' => ['/admin/settings/signature', 'fa-signature',    'Signatur-Tablet'],
];

$active = $active ?? '';
// Unterseiten der „Anmeldung" auf den Sammel-Tab abbilden.
$activeTab = in_array($active, ['login', 'm365', 'keycloak', 'ldap-auth'], true) ? 'login' : $active;
?>
<nav class="settings-tabs">
<?php foreach ($tabs as $key => [$href, $icon, $label]): ?>
    <a href="<?= $href ?>" class="settings-tab<?= $activeTab === $key ? ' active' : '' ?>">
        <i class="fas <?= $icon ?> settings-tab-icon"></i>
        <?= $this->te($label) ?>
    </a>
<?php endforeach; ?>
</nav>