runVersionCheck(); date_default_timezone_set(@date_default_timezone_get()); require_once __DIR__ . '/Core/FileSystem.php'; define('AM_BASE_DIR', FileSystem::normalizeSlashes(dirname(dirname(dirname(__DIR__))))); require_once __DIR__ . '/Autoload.php'; Autoload::init(); Config::overrides(); Config::defaults(); Debug::errorReporting(); define('AM_REQUEST', Request::page()); $this->runPermissionCheck(); $this->startSession(); $output = $this->render(AM_REQUEST); if (AM_DEBUG_ENABLED) { $output = str_replace('', Debug::consoleLog() . '', $output); } exit($output); } /** * Get the generated output for the current request. * * @param string $request * @return string the rendered output */ private function render(string $request): string { $Router = new Router(); Routes::init($Router); $callable = $Router->get($request); return $callable(); } /** * Run a basic permission check on the cache directory. */ private function runPermissionCheck(): void { if (!is_writable(AM_BASE_DIR . AM_DIR_CACHE)) { exit('

Permission denied!

The "' . AM_DIR_CACHE . '" directory must be writable by the web server!

'); } } /** * Run a basic PHP version check. */ private function runVersionCheck(): void { if (version_compare(PHP_VERSION, $this->requiredVersion, '<')) { exit("

PHP out of date!

Please update your PHP version to $this->requiredVersion or newer!

"); } } /** * Initialize a PHP session. */ private function startSession(): void { session_name('Automad-' . md5(AM_BASE_DIR)); session_set_cookie_params(0, '/', '', false, true); session_start(); } } __halt_compiler();----SIGNATURE:----pXEfrZgnJnovEKP65pOTqR/55wk/M4jzi2CN9JodXPSM/ViR64fCbwIOrOXQgbHIHLR2p+KTDZzR9aEBYoPK7zFV5dZbUFq617I071gDHFYw+LKsGJbw9F2WImekh//c2Bb9LfzgyxZnqy7tXo4zmYTX4s353kRKowPCOWZ/JTV3VTeL22KL7ATiIqaV4G9LlaST/JfE0L2dKm+m32C0DwtPlSdp0UXu76EweMa/y0+FpyQ16B0NpWH3o335KkH5zJA79l0XWCLRdKwcLhpnHlwXcf5hoSm3JmDyDELLlI9O0nzZNQ+8mOd9UhwUyFv9sMj/tu/sFP98i++hyshaWvWoNARhmEyxM+RDDCANIDCk+eAKZ4KL+llW4qNyLO+9qRcwvIYuIEuSEbrdLaF21INwkPp4bE6lupYfSMs/pK/Q7dJFy7eepAndgpoy0Xjo07hZ1YqEwtqlpdMxl40A7koyYl1Lhh5qyh5jCfZ6DRghbKB6u/yXTyxIxR16E34q7yKTH4C+RGr+/cM1y72WQeUtfP3KI3NZjd7gI5luCGzsdcptBACaoBwHZlzfehOcjCkpExFPbSoPlR0hSauCEVctL83iq0QMYx6gDEH6Awpw1h3dEVV3xHObyYubd2EgTasa8GA6QSf1Yge33PIaRVWfNsObRcF4e1m+HAV+4qc=----ATTACHMENT:----NzIzNjczMzc2OTQ4NDQ0MiA5Nzg3NDU2MDc4MjA0NTg1IDEyMDU0NTE0NDUxNDIwOTM=