Fixes public pages that are also authenticated pages.

main
Yasen Pramatarov 2025-12-15 17:58:42 +02:00
parent 7031acd46d
commit b239b73689
1 changed files with 7 additions and 12 deletions

View File

@ -122,18 +122,10 @@ $pipeline->add(function() {
return true; return true;
}); });
// For public pages, we don't need to validate the session // Always detect authenticated session so templates shared
// The Router will handle authentication for protected pages // between public and private pages behave consistently.
$validSession = false; $validSession = Session::isValidSession(true);
$userId = null; $userId = $validSession ? Session::getUserId() : null;
// Only check session for non-public pages
if (!in_array($page, $public_pages)) {
$validSession = Session::isValidSession(true);
if ($validSession) {
$userId = Session::getUserId();
}
}
// Initialize feedback message system // Initialize feedback message system
require_once '../app/classes/feedback.php'; require_once '../app/classes/feedback.php';
@ -162,6 +154,9 @@ $allowed_urls = filter_allowed_urls($allowed_urls);
require_once __DIR__ . '/../app/core/Router.php'; require_once __DIR__ . '/../app/core/Router.php';
use App\Core\Router; use App\Core\Router;
$currentUser = Router::checkAuth($config, $app_root, $public_pages, $page); $currentUser = Router::checkAuth($config, $app_root, $public_pages, $page);
if ($currentUser === null && $validSession) {
$currentUser = Session::getUsername();
}
// Connect to DB via DatabaseConnector // Connect to DB via DatabaseConnector
require_once __DIR__ . '/../app/core/DatabaseConnector.php'; require_once __DIR__ . '/../app/core/DatabaseConnector.php';