major update
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user