<?php
use App\Kernel;
use Symfony\Component\Dotenv\Dotenv;
use Symfony\Component\ErrorHandler\Debug;
use Symfony\Component\HttpFoundation\Request;
require dirname(__DIR__).'/vendor/autoload.php';
if (is_readable(__DIR__.'/../0_MAINTENANCE')){
$_ENV['MAINTENANCE']='ENABLED';
}else{
$_ENV['MAINTENANCE']='DISABLED';
}
if (is_readable(__DIR__.'/../config/whitelist')){
$allowedIps = array_merge(file(__DIR__.'/../config/whitelist', FILE_IGNORE_NEW_LINES),['127.0.0.1', '217.128.178.154', 'fe80::1', '::1']);
}else{
$allowedIps = ['127.0.0.1', '217.128.178.154', 'fe80::1', '::1'];
}
if (is_readable(__DIR__.'/../0_MAINTENANCE') &&
(!in_array(@$_SERVER['HTTP_X_FORWARDED_FOR'], $allowedIps)
&& !in_array(@$_SERVER['REMOTE_ADDR'], $allowedIps)
)
) {
header('HTTP/1.0 403 Forbidden');
include "./maintenance.php";
die();
}
(new Dotenv())->bootEnv(dirname(__DIR__).'/.env');
if ($_SERVER['APP_DEBUG']) {
umask(0000);
Debug::enable();
}
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);