From 3c1cc30fe9676bb2b48f4164d80243ffe69f1095 Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Thu, 4 Jun 2026 22:07:25 +0200 Subject: [PATCH] nexus basic --- partials/landingpages/dashboard.php | 98 ++++- partials/landingpages/index.php | 297 ++++++------- partials/landingpages/integrations.php | 21 +- partials/landingpages/users/settings.php | 41 +- partials/landingpages/users/settings_apps.php | 125 ++++++ .../users/settings_search_engines.php | 142 +++++++ .../landingpages/users/settings_widgets.php | 130 ++++++ public/assets/css/app.css | 14 + public/index.php | 8 +- src/App/BaseSchema.php | 144 +++++++ src/App/NexusDashboardService.php | 399 +++++++++++++++++- 11 files changed, 1222 insertions(+), 197 deletions(-) create mode 100644 partials/landingpages/users/settings_apps.php create mode 100644 partials/landingpages/users/settings_search_engines.php create mode 100644 partials/landingpages/users/settings_widgets.php diff --git a/partials/landingpages/dashboard.php b/partials/landingpages/dashboard.php index 0a295a1..8f9dcdf 100644 --- a/partials/landingpages/dashboard.php +++ b/partials/landingpages/dashboard.php @@ -23,6 +23,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $config = []; if ($itemType === 'page_module') { $config['page_module_id'] = (int) ($_POST['page_module_id'] ?? 0); + } elseif ($itemType === 'app') { + $config['app_id'] = (int) ($_POST['app_id'] ?? 0); + } elseif ($itemType === 'widget_template') { + $config['widget_template_id'] = (int) ($_POST['widget_template_id'] ?? 0); + } elseif ($itemType === 'bookmark_group') { + $config['bookmarks'] = trim((string) ($_POST['bookmarks'] ?? '')); } else { $config['url'] = trim((string) ($_POST['target_url'] ?? '')); } @@ -61,10 +67,20 @@ if ($currentDashboard === null) { $currentDashboardId = (int) ($currentDashboard['id'] ?? 0); $dashboardItems = $service->listItems($currentDashboardId); $ownPageModules = $service->listPageModulesForOwner($ownerKey); +$availableApps = $service->listApps($ownerKey, true); +$availableWidgetTemplates = $service->listWidgetTemplates($ownerKey, true); $pageModuleMap = []; foreach ($ownPageModules as $pageModule) { $pageModuleMap[(int) ($pageModule['id'] ?? 0)] = $pageModule; } +$appMap = []; +foreach ($availableApps as $appEntry) { + $appMap[(int) ($appEntry['id'] ?? 0)] = $appEntry; +} +$widgetTemplateMap = []; +foreach ($availableWidgetTemplates as $template) { + $widgetTemplateMap[(int) ($template['id'] ?? 0)] = $template; +} $GLOBALS['layout_header_base_title'] = 'Nexus'; $GLOBALS['layout_header_title'] = 'Nexus'; @@ -115,7 +131,7 @@ $GLOBALS['layout_header_text'] = 'Persönliche Arbeitsfläche mit frei platzierb

Element hinzufügen

-

V1 unterstützt direkte Links, iFrames und gespeicherte Seitenmodule.

+

Verfügbar sind direkte Links, iFrames, persönliche Linklisten, globale Apps, Seitenmodule und wiederverwendbare Widgets.

@@ -129,7 +145,10 @@ $GLOBALS['layout_header_text'] = 'Persönliche Arbeitsfläche mit frei platzierb @@ -142,6 +161,19 @@ $GLOBALS['layout_header_text'] = 'Persönliche Arbeitsfläche mit frei platzierb Ziel-URL + + +