= e($module['title']) ?>
= e($module['description'] ?? '') ?>
all(); $error = null; $notice = null; $GLOBALS['layout_header_base_title'] = 'Modulverwaltung'; $GLOBALS['layout_header_title'] = 'Modulverwaltung'; $GLOBALS['layout_header_context'] = 'Module installieren/aktivieren'; $GLOBALS['layout_header_text'] = ''; $GLOBALS['layout_header_actions'] = []; if ($_SERVER['REQUEST_METHOD'] === 'POST') { require_admin(); $name = (string)($_POST['module'] ?? ''); $action = (string)($_POST['action'] ?? ''); if ($name !== '' && ($action === 'enable' || $action === 'disable')) { modules()->setEnabled($name, $action === 'enable'); $notice = $action === 'enable' ? 'Modul aktiviert.' : 'Modul deaktiviert.'; $modules = modules()->all(); } elseif ($name !== '' && $action === 'migrate') { $applied = modules()->applyPendingMigrations($name); $notice = count($applied) . ' Migration(en) angewendet.'; $modules = modules()->all(); } else { $error = 'Ungültige Aktion.'; } } $active = []; $inactive = []; foreach ($modules as $m) { if (!empty($m['enabled'])) { $active[] = $m; } else { $inactive[] = $m; } } ?>
Bereits aktivierte Module mit optionalen Migrationsschritten.
= e($module['description'] ?? '') ?>
Erkannte Module basieren auf Ordnern in modules/.
= e($module['description'] ?? '') ?>