From 5f37562796fad3691b8280b03475703dae57feb2 Mon Sep 17 00:00:00 2001 From: fs Date: Fri, 20 Mar 2026 00:22:23 +0100 Subject: [PATCH] fix: resolve module drift in imports, guards, and request context --- .../addressbook/web/js/pages/address-book-index.js | 12 ++++++------ .../Providers/BookmarksLayoutProvider.php | 14 ++++++++++---- .../bookmarks/pages/bookmarks/delete-data().php | 4 +++- .../pages/bookmarks/group-delete-data().php | 4 +++- .../pages/bookmarks/group-save-data().php | 4 +++- .../bookmarks/pages/bookmarks/reorder-data().php | 4 +++- modules/bookmarks/pages/bookmarks/save-data().php | 4 +++- .../bookmarks/pages/bookmarks/update-data().php | 4 +++- 8 files changed, 34 insertions(+), 16 deletions(-) diff --git a/modules/addressbook/web/js/pages/address-book-index.js b/modules/addressbook/web/js/pages/address-book-index.js index df339b9..076a61a 100644 --- a/modules/addressbook/web/js/pages/address-book-index.js +++ b/modules/addressbook/web/js/pages/address-book-index.js @@ -1,9 +1,9 @@ -import { initMultiSelect } from '/js/components/app-multiselect-init.js'; -import { initMultiSelectCascade } from '/js/components/app-multiselect-cascade.js'; -import { initStandardListPage } from '/js/core/app-grid-factory.js'; -import { readPageConfig } from '/js/core/app-page-config.js'; -import { warnOnce } from '/js/core/app-dom.js'; -import { getAppBase, escapeHtml, buildBadgeList, gridFilterMultiCsv, gridFilterText } from '/js/pages/app-list-utils.js'; +import { initMultiSelect } from '../../../../js/components/app-multiselect-init.js'; +import { initMultiSelectCascade } from '../../../../js/components/app-multiselect-cascade.js'; +import { initStandardListPage } from '../../../../js/core/app-grid-factory.js'; +import { readPageConfig } from '../../../../js/core/app-page-config.js'; +import { warnOnce } from '../../../../js/core/app-dom.js'; +import { getAppBase, escapeHtml, buildBadgeList, gridFilterMultiCsv, gridFilterText } from '../../../../js/pages/app-list-utils.js'; const config = readPageConfig('address-book-index'); if (config) { diff --git a/modules/bookmarks/lib/Module/Bookmarks/Providers/BookmarksLayoutProvider.php b/modules/bookmarks/lib/Module/Bookmarks/Providers/BookmarksLayoutProvider.php index e41819a..0a3f8c9 100644 --- a/modules/bookmarks/lib/Module/Bookmarks/Providers/BookmarksLayoutProvider.php +++ b/modules/bookmarks/lib/Module/Bookmarks/Providers/BookmarksLayoutProvider.php @@ -4,6 +4,7 @@ namespace MintyPHP\Module\Bookmarks\Providers; use MintyPHP\App\AppContainer; use MintyPHP\App\Module\Contracts\LayoutContextProvider; +use MintyPHP\Http\Request; use MintyPHP\Module\Bookmarks\Support\BookmarkUrlNormalizer; final class BookmarksLayoutProvider implements LayoutContextProvider @@ -14,10 +15,15 @@ final class BookmarksLayoutProvider implements LayoutContextProvider ? $session['module.bookmarks.grouped'] : ['groups' => [], 'ungrouped' => []]; - $currentPath = BookmarkUrlNormalizer::canonicalizeRequestUri( - (string) ($_SERVER['REQUEST_URI'] ?? ''), - localeBase() - ); + $requestUri = '/' . ltrim(Request::pathWithQuery(), '/'); + $localePath = (string) (parse_url(localeBase(), PHP_URL_PATH) ?? '/'); + $localePath = Request::stripBasePath($localePath); + $localeBasePath = '/' . trim($localePath, '/'); + if ($localeBasePath !== '/') { + $localeBasePath .= '/'; + } + + $currentPath = BookmarkUrlNormalizer::canonicalizeRequestUri($requestUri, $localeBasePath); return [ 'bookmarks.nav' => [ diff --git a/modules/bookmarks/pages/bookmarks/delete-data().php b/modules/bookmarks/pages/bookmarks/delete-data().php index 3305354..c3f661b 100644 --- a/modules/bookmarks/pages/bookmarks/delete-data().php +++ b/modules/bookmarks/pages/bookmarks/delete-data().php @@ -1,12 +1,14 @@ method() !== 'POST') { http_response_code(405); diff --git a/modules/bookmarks/pages/bookmarks/group-delete-data().php b/modules/bookmarks/pages/bookmarks/group-delete-data().php index 11e2889..1d19cec 100644 --- a/modules/bookmarks/pages/bookmarks/group-delete-data().php +++ b/modules/bookmarks/pages/bookmarks/group-delete-data().php @@ -1,12 +1,14 @@ method() !== 'POST') { http_response_code(405); diff --git a/modules/bookmarks/pages/bookmarks/group-save-data().php b/modules/bookmarks/pages/bookmarks/group-save-data().php index 2cdc7bc..7d61634 100644 --- a/modules/bookmarks/pages/bookmarks/group-save-data().php +++ b/modules/bookmarks/pages/bookmarks/group-save-data().php @@ -1,12 +1,14 @@ method() !== 'POST') { http_response_code(405); diff --git a/modules/bookmarks/pages/bookmarks/reorder-data().php b/modules/bookmarks/pages/bookmarks/reorder-data().php index e3c5b76..19c65f3 100644 --- a/modules/bookmarks/pages/bookmarks/reorder-data().php +++ b/modules/bookmarks/pages/bookmarks/reorder-data().php @@ -1,12 +1,14 @@ method() !== 'POST') { http_response_code(405); diff --git a/modules/bookmarks/pages/bookmarks/save-data().php b/modules/bookmarks/pages/bookmarks/save-data().php index 3369362..9174aca 100644 --- a/modules/bookmarks/pages/bookmarks/save-data().php +++ b/modules/bookmarks/pages/bookmarks/save-data().php @@ -1,12 +1,14 @@ method() !== 'POST') { http_response_code(405); diff --git a/modules/bookmarks/pages/bookmarks/update-data().php b/modules/bookmarks/pages/bookmarks/update-data().php index f900396..667113b 100644 --- a/modules/bookmarks/pages/bookmarks/update-data().php +++ b/modules/bookmarks/pages/bookmarks/update-data().php @@ -1,12 +1,14 @@ method() !== 'POST') { http_response_code(405);