48 lines
1.4 KiB
PHTML
48 lines
1.4 KiB
PHTML
<?php
|
|
/** @var App\Customization $customization */
|
|
|
|
/** @var Psr\Http\Message\RequestInterface $request */
|
|
$localeObj = $request->getAttribute(App\Http\ServerRequest::ATTR_LOCALE);
|
|
if (!($localeObj instanceof App\Enums\SupportedLocales)) {
|
|
$localeObj = App\Enums\SupportedLocales::default();
|
|
}
|
|
|
|
$locale = $localeObj->getLocaleWithoutEncoding();
|
|
$localeShort = substr($locale, 0, 2);
|
|
$localeWithDashes = str_replace('_', '-', $locale);
|
|
|
|
// User profile-specific 24-hour display setting.
|
|
$userObj = $request->getAttribute(App\Http\ServerRequest::ATTR_USER);
|
|
$show24Hours = ($userObj instanceof App\Entity\User)
|
|
? $userObj->getShow24HourTime()
|
|
: null;
|
|
|
|
$timeConfig = new \stdClass();
|
|
if (null !== $show24Hours) {
|
|
$timeConfig->hour12 = !$show24Hours;
|
|
}
|
|
|
|
// CSRF token
|
|
$csrf = null;
|
|
|
|
if (($include_csrf ?? false) === true) {
|
|
$csrf = $request->getAttribute(App\Http\ServerRequest::ATTR_SESSION_CSRF);
|
|
if ($csrf instanceof App\Session\Csrf) {
|
|
$csrf = $csrf->generate(App\Middleware\Auth\ApiAuth::API_CSRF_NAMESPACE);
|
|
}
|
|
}
|
|
|
|
$app = [
|
|
'locale' => $locale,
|
|
'locale_short' => $localeShort,
|
|
'locale_with_dashes' => $localeWithDashes,
|
|
'time_config' => $timeConfig,
|
|
'api_csrf' => $csrf,
|
|
'enable_advanced_features' => $customization->enableAdvancedFeatures(),
|
|
];
|
|
?>
|
|
|
|
<script type="text/javascript">
|
|
var App = <?=json_encode($app, JSON_THROW_ON_ERROR) ?>;
|
|
</script>
|