48 lines
1.6 KiB
PHP
48 lines
1.6 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
require_once __DIR__ . '/http/Response.php';
|
|
require_once __DIR__ . '/http/Router.php';
|
|
require_once __DIR__ . '/views/View.php';
|
|
require_once __DIR__ . '/services/Database.php';
|
|
require_once __DIR__ . '/services/Auth.php';
|
|
require_once __DIR__ . '/services/Csrf.php';
|
|
require_once __DIR__ . '/services/Settings.php';
|
|
require_once __DIR__ . '/services/Audit.php';
|
|
require_once __DIR__ . '/services/ApiLayer.php';
|
|
require_once __DIR__ . '/services/Permissions.php';
|
|
require_once __DIR__ . '/services/Shortcodes.php';
|
|
require_once __DIR__ . '/services/Nav.php';
|
|
require_once __DIR__ . '/services/Mailer.php';
|
|
require_once __DIR__ . '/services/RateLimiter.php';
|
|
require_once __DIR__ . '/services/Plugins.php';
|
|
require_once __DIR__ . '/services/Updater.php';
|
|
|
|
Core\Services\Auth::init();
|
|
Core\Services\Settings::init(__DIR__ . '/../storage/settings.php');
|
|
Core\Services\Plugins::init(__DIR__ . '/../plugins');
|
|
Core\Services\Audit::ensureTable();
|
|
|
|
if (!function_exists('csrf_token')) {
|
|
function csrf_token(): string
|
|
{
|
|
return \Core\Services\Csrf::token();
|
|
}
|
|
}
|
|
|
|
if (!function_exists('csrf_input')) {
|
|
function csrf_input(): string
|
|
{
|
|
$token = htmlspecialchars(\Core\Services\Csrf::token(), ENT_QUOTES, 'UTF-8');
|
|
return '<input type="hidden" name="csrf_token" value="' . $token . '">';
|
|
}
|
|
}
|
|
|
|
if (!function_exists('csrf_meta')) {
|
|
function csrf_meta(): string
|
|
{
|
|
$token = htmlspecialchars(\Core\Services\Csrf::token(), ENT_QUOTES, 'UTF-8');
|
|
return '<meta name="csrf-token" content="' . $token . '">';
|
|
}
|
|
}
|