From c360663603b697f08ef206d8593697d143f987a4 Mon Sep 17 00:00:00 2001
From: Lars Gebhardt-Kusche
Date: Wed, 4 Mar 2026 01:58:26 +0100
Subject: [PATCH] Rebuild
---
config/prod/settings.php | 13 ++
config/staging/settings.php | 13 ++
modules/kea/module.json | 7 +
partials/structure/layout_end.php | 11 +-
partials/structure/layout_start.php | 82 ++++++++--
public/assets/css/app.css | 231 +++++++++++++++++++++-------
public/assets/js/app.js | 14 +-
public/index.php | 30 +++-
public/page/404.php | 11 ++
public/page/auth_callback.php | 49 ++++++
public/page/auth_login.php | 19 +++
public/page/auth_logout.php | 23 +++
public/page/debug.php | 90 +++++++++++
public/page/modules.php | 20 +--
public/page/modules_install.php | 78 ++++++++++
public/page/modules_setup.php | 2 +
public/page/settings.php | 47 ++++++
public/page/users.php | 128 +++++++++++++++
src/App/BaseSchema.php | 45 ++++++
src/App/Config.php | 24 +++
src/App/ModuleManager.php | 1 +
src/App/OidcClient.php | 153 ++++++++++++++++++
src/App/functions.php | 105 +++++++++++++
23 files changed, 1115 insertions(+), 81 deletions(-)
create mode 100644 public/page/404.php
create mode 100644 public/page/auth_callback.php
create mode 100644 public/page/auth_login.php
create mode 100644 public/page/auth_logout.php
create mode 100644 public/page/debug.php
create mode 100644 public/page/modules_install.php
create mode 100644 public/page/settings.php
create mode 100644 public/page/users.php
create mode 100644 src/App/OidcClient.php
diff --git a/config/prod/settings.php b/config/prod/settings.php
index 352725a..b418d17 100755
--- a/config/prod/settings.php
+++ b/config/prod/settings.php
@@ -10,3 +10,16 @@
define('APP_BASE_DB_ENABLED', true);
define('APP_BASIC_AUTH', false);
define('APP_SEARCH_DEBUG', false);
+ define('APP_AUTH_ENABLED', true);
+ define('APP_OIDC_ISSUER', 'https://auth.kusche.berlin/realms/KuscheBerlin');
+ define('APP_OIDC_AUTH_ENDPOINT', 'https://auth.kusche.berlin/realms/KuscheBerlin/protocol/openid-connect/auth');
+ define('APP_OIDC_TOKEN_ENDPOINT', 'https://auth.kusche.berlin/realms/KuscheBerlin/protocol/openid-connect/token');
+ define('APP_OIDC_USERINFO_ENDPOINT', 'https://auth.kusche.berlin/realms/KuscheBerlin/protocol/openid-connect/userinfo');
+ define('APP_OIDC_LOGOUT_ENDPOINT', 'https://auth.kusche.berlin/realms/KuscheBerlin/protocol/openid-connect/logout');
+ define('APP_OIDC_CLIENT_ID', 'nexus');
+ define('APP_OIDC_CLIENT_SECRET', 'c0swC5wjBV4yimJHf2p3R9OjHOr7rhHs');
+ define('APP_OIDC_REDIRECT_URI', 'https://nexus.int.kusche.berlin/auth/callback');
+ define('APP_OIDC_GROUP_CLAIM', 'groups');
+ define('APP_OIDC_ADMIN_GROUP', 'admin');
+ define('APP_OIDC_USER_GROUP', 'family');
+ define('APP_DEBUG_TOOL', false);
diff --git a/config/staging/settings.php b/config/staging/settings.php
index e8f955c..459de1f 100755
--- a/config/staging/settings.php
+++ b/config/staging/settings.php
@@ -10,3 +10,16 @@
define('APP_BASE_DB_ENABLED', true);
define('APP_BASIC_AUTH', true);
define('APP_SEARCH_DEBUG', true);
+ define('APP_AUTH_ENABLED', true);
+ define('APP_OIDC_ISSUER', 'https://auth.kusche.berlin/realms/KuscheBerlin');
+ define('APP_OIDC_AUTH_ENDPOINT', 'https://auth.kusche.berlin/realms/KuscheBerlin/protocol/openid-connect/auth');
+ define('APP_OIDC_TOKEN_ENDPOINT', 'https://auth.kusche.berlin/realms/KuscheBerlin/protocol/openid-connect/token');
+ define('APP_OIDC_USERINFO_ENDPOINT', 'https://auth.kusche.berlin/realms/KuscheBerlin/protocol/openid-connect/userinfo');
+ define('APP_OIDC_LOGOUT_ENDPOINT', 'https://auth.kusche.berlin/realms/KuscheBerlin/protocol/openid-connect/logout');
+ define('APP_OIDC_CLIENT_ID', 'nexus');
+ define('APP_OIDC_CLIENT_SECRET', 'c0swC5wjBV4yimJHf2p3R9OjHOr7rhHs');
+ define('APP_OIDC_REDIRECT_URI', 'https://staging.nexus.int.kusche.berlin/auth/callback');
+ define('APP_OIDC_GROUP_CLAIM', 'groups');
+ define('APP_OIDC_ADMIN_GROUP', 'admin');
+ define('APP_OIDC_USER_GROUP', 'family');
+ define('APP_DEBUG_TOOL', true);
diff --git a/modules/kea/module.json b/modules/kea/module.json
index 01e0fa2..6849df7 100644
--- a/modules/kea/module.json
+++ b/modules/kea/module.json
@@ -2,8 +2,13 @@
"title": "KEA DHCP",
"version": "1.0.0",
"description": "Verwaltung von KEA DHCP Hosts und Reservierungen.",
+ "menu": [
+ { "label": "Hosts", "href": "/module/kea" },
+ { "label": "Setup", "href": "/modules/setup/kea" }
+ ],
"setup": {
"fields": [
+ { "name": "db.driver", "label": "DB Driver", "type": "text", "required": true },
{ "name": "db.host", "label": "DB Host", "type": "text", "required": true },
{ "name": "db.port", "label": "DB Port", "type": "number", "required": true },
{ "name": "db.dbname", "label": "DB Name", "type": "text", "required": true },
@@ -11,6 +16,8 @@
{ "name": "db.user", "label": "DB User", "type": "text", "required": true },
{ "name": "db.password", "label": "DB Passwort", "type": "password", "required": true },
{ "name": "kea_db_version", "label": "KEA DB Version", "type": "text", "required": false },
+ { "name": "kea_init_script", "label": "KEA Init Script", "type": "text", "required": false },
+ { "name": "kea_init_cmd", "label": "KEA Init Command", "type": "text", "required": false },
{ "name": "kea_auto_init", "label": "KEA Auto-Init", "type": "checkbox", "required": false }
]
},
diff --git a/partials/structure/layout_end.php b/partials/structure/layout_end.php
index 3f9df47..e28e1c4 100755
--- a/partials/structure/layout_end.php
+++ b/partials/structure/layout_end.php
@@ -1,8 +1,9 @@
-
-
+
+
+
+
-
-