Fixes index to pass the plugin to only load the internal page

main
Yasen Pramatarov 2026-01-20 11:46:21 +02:00
parent 1dde66a9f1
commit 0165896a0b
1 changed files with 24 additions and 31 deletions

View File

@ -425,47 +425,40 @@ if ($page == 'logout') {
'logger' => $logObject, 'logger' => $logObject,
'time_now' => $timeNow ?? null, 'time_now' => $timeNow ?? null,
]; ];
if (PluginRouteRegistry::match($page)) { // Check if this is a PluginRouteRegistry route
$handled = PluginRouteRegistry::dispatch($page, $routeContext); $pluginRouteMatch = PluginRouteRegistry::match($page);
if ($handled !== false) { $isPluginRoute = $pluginRouteMatch !== null;
ob_end_flush();
exit;
}
}
// page building // page building
if (in_array($page, $allowed_urls)) { if ($isPluginRoute) {
// The page is in allowed URLs // The page is from a PluginRouteRegistry route (a plugin's page)
if (isset($mapped_plugin_controllers[$page]) && file_exists($mapped_plugin_controllers[$page])) { if (defined('PLUGIN_PAGE_DIRECT_OUTPUT') && PLUGIN_PAGE_DIRECT_OUTPUT === true) {
// The page is from a plugin controller // Barebone page controller, we don't output anything extra (no common header/footer etc.)
if (defined('PLUGIN_PAGE_DIRECT_OUTPUT') && PLUGIN_PAGE_DIRECT_OUTPUT === true) { PluginRouteRegistry::dispatch($page, $routeContext);
// Barebone page controller, we don't output anything extra ob_end_flush();
include $mapped_plugin_controllers[$page]; exit;
ob_end_flush();
exit;
} else {
\App\Helpers\Theme::include('page-header');
\App\Helpers\Theme::include('page-menu');
if ($validSession) {
\App\Helpers\Theme::include('page-sidebar');
}
include $mapped_plugin_controllers[$page];
\App\Helpers\Theme::include('page-footer');
}
} else { } else {
// The page is from a core controller
\App\Helpers\Theme::include('page-header'); \App\Helpers\Theme::include('page-header');
\App\Helpers\Theme::include('page-menu'); \App\Helpers\Theme::include('page-menu');
if ($validSession) { if ($validSession) {
\App\Helpers\Theme::include('page-sidebar'); \App\Helpers\Theme::include('page-sidebar');
} }
if (file_exists(APP_PATH . "pages/{$page}.php")) { PluginRouteRegistry::dispatch($page, $routeContext);
include APP_PATH . "pages/{$page}.php";
} else {
include APP_PATH . 'templates/error-notfound.php';
}
\App\Helpers\Theme::include('page-footer'); \App\Helpers\Theme::include('page-footer');
} }
} elseif (in_array($page, $allowed_urls)) {
// The page is from a core controller
\App\Helpers\Theme::include('page-header');
\App\Helpers\Theme::include('page-menu');
if ($validSession) {
\App\Helpers\Theme::include('page-sidebar');
}
if (file_exists(APP_PATH . "pages/{$page}.php")) {
include APP_PATH . "pages/{$page}.php";
} else {
include APP_PATH . 'templates/error-notfound.php';
}
\App\Helpers\Theme::include('page-footer');
} else { } else {
// The page is not in allowed URLs // The page is not in allowed URLs
\App\Helpers\Theme::include('page-header'); \App\Helpers\Theme::include('page-header');