Lets plugins add themselves to the public pages

main
Yasen Pramatarov 2025-04-17 10:36:45 +03:00
parent 8dfd54eb9f
commit 61d23cd8c2
1 changed files with 11 additions and 0 deletions

View File

@ -157,6 +157,17 @@ $app_root = $config['folder'];
// List of pages that don't require authentication // List of pages that don't require authentication
$public_pages = ['login', 'help', 'about']; $public_pages = ['login', 'help', 'about'];
// Let plugins filter/extend public_pages
function filter_public_pages($pages) {
if (!empty($GLOBALS['plugin_hooks']['filter_public_pages'])) {
foreach ($GLOBALS['plugin_hooks']['filter_public_pages'] as $callback) {
$pages = call_user_func($callback, $pages);
}
}
return $pages;
}
$public_pages = filter_public_pages($public_pages);
// Check if the requested page requires authentication // Check if the requested page requires authentication
if (!isset($_COOKIE['username']) && !$validSession && !in_array($page, $public_pages)) { if (!isset($_COOKIE['username']) && !$validSession && !in_array($page, $public_pages)) {
require_once '../app/includes/session_middleware.php'; require_once '../app/includes/session_middleware.php';