52 lines
1.3 KiB
PHP
52 lines
1.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
require __DIR__ . '/helpers.php';
|
|
require __DIR__ . '/Support/Defaults.php';
|
|
require __DIR__ . '/Support/Auth.php';
|
|
require __DIR__ . '/Support/View.php';
|
|
require __DIR__ . '/Domain/UserRepository.php';
|
|
require __DIR__ . '/Domain/SettingsRepository.php';
|
|
require __DIR__ . '/Domain/EntryRepository.php';
|
|
require __DIR__ . '/Domain/LoginThrottle.php';
|
|
require __DIR__ . '/Domain/ScoringService.php';
|
|
require __DIR__ . '/App.php';
|
|
|
|
date_default_timezone_set($_ENV['APP_TIMEZONE'] ?? 'Europe/Berlin');
|
|
|
|
$forwardedProto = strtolower((string) ($_SERVER['HTTP_X_FORWARDED_PROTO'] ?? ''));
|
|
$forwardedSsl = strtolower((string) ($_SERVER['HTTP_X_FORWARDED_SSL'] ?? ''));
|
|
$isSecure = (
|
|
(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
|
|
|| $forwardedProto === 'https'
|
|
|| $forwardedSsl === 'on'
|
|
);
|
|
|
|
ini_set('session.use_only_cookies', '1');
|
|
ini_set('session.use_strict_mode', '1');
|
|
|
|
session_name('mood_session');
|
|
session_set_cookie_params([
|
|
'lifetime' => 0,
|
|
'path' => '/',
|
|
'domain' => '',
|
|
'secure' => $isSecure,
|
|
'httponly' => true,
|
|
'samesite' => 'Lax',
|
|
]);
|
|
|
|
if (session_status() !== PHP_SESSION_ACTIVE) {
|
|
session_start();
|
|
}
|
|
|
|
foreach ([
|
|
storage_path(),
|
|
storage_path('system'),
|
|
storage_path('users'),
|
|
] as $directory) {
|
|
if (!is_dir($directory)) {
|
|
mkdir($directory, 0775, true);
|
|
}
|
|
}
|