major update

This commit is contained in:
2026-03-04 15:56:58 +01:00
parent 16759a2732
commit 8f4dd5840d
478 changed files with 24313 additions and 8201 deletions

View File

@@ -8,9 +8,11 @@ use MintyPHP\Firewall;
use MintyPHP\Http\AccessControl;
use MintyPHP\Http\AssetDetector;
use MintyPHP\Http\LocaleResolver;
use MintyPHP\Http\RequestContext;
use MintyPHP\Http\Request;
use MintyPHP\I18n;
use MintyPHP\Router;
use MintyPHP\Service\Access\UiAccessService;
use MintyPHP\Service\Auth\AuthServicesFactory;
use MintyPHP\Session;
use MintyPHP\Support\Flash;
@@ -25,13 +27,17 @@ require 'config/config.php';
require 'config/router.php';
// Register shortcut functions
require 'lib/Support/helpers.php';
$container = require 'lib/App/registerContainer.php';
setAppContainer($container);
RequestContext::start();
header('X-Request-Id: ' . RequestContext::requestHeaderValue());
// Start the firewall
Firewall::start();
// Start the session
Session::start();
$authServicesFactory = new AuthServicesFactory();
$authServicesFactory = app(AuthServicesFactory::class);
$authService = $authServicesFactory->createAuthService();
$rememberMeService = $authServicesFactory->createRememberMeService();
@@ -58,6 +64,7 @@ $parsedUri = $localeResolver->parseUri($originalUri);
$pathWithoutLocale = $parsedUri['pathWithoutLocale'];
$requestedLocale = $parsedUri['locale'];
$_SERVER['MINTY_LOCALE'] = $requestedLocale;
RequestContext::setPath($pathWithoutLocale);
// Rewrite REQUEST_URI without locale segment for router
if ($parsedUri['hadLocaleInUrl']) {
@@ -76,6 +83,7 @@ I18n::$locale = $localeResolver->resolveLocale(
$isAssetRequest = AssetDetector::isAssetRequest($pathWithoutLocale);
$isApiRequest = str_starts_with($pathWithoutLocale, 'api/');
RequestContext::setChannel($isApiRequest ? 'api' : 'web');
if ($isApiRequest) {
if (!defined('MINTY_API_REQUEST')) {
@@ -177,6 +185,17 @@ if (defined('MINTY_ALLOW_OUTPUT') && MINTY_ALLOW_OUTPUT) {
exit;
}
// Resolve layout capabilities while DB/session are still open.
// Templates render after DB::close(), so authz lookup must be prepared here.
if (Router::getTemplateView()) {
$viewAuth = is_array($viewAuth ?? null) ? $viewAuth : [];
$layoutAuth = $viewAuth['layout'] ?? null;
if (!is_array($layoutAuth)) {
$actorUserId = (int) (($_SESSION['user']['id'] ?? 0));
$viewAuth['layout'] = app(UiAccessService::class)->layoutCapabilities($actorUserId);
}
}
// End the session
Session::end();