Quelltext des aktuellen Standes
<?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>