<?php
//public/index.php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require_once __DIR__ . '/../vendor/autoload.php';

use App\App;
use App\Controllers\MainController;
use App\Controllers\SettingController;
use App\Core\API;

use App\Controllers\AdminController;

if ($_SERVER['REQUEST_URI'] === '/admin/clearCache') {
    $controller = new AdminController();
    $controller->clearCache();
    exit;
}

$uri  = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$host = $_SERVER['HTTP_HOST'] ?? '';
$isAdmin = ($host === 'admin.teraz.biz' || str_starts_with($host, 'admin.'));
$skin = $_GET['skin'] ?? ($isAdmin ? 'admin' : 'default');
$lang = $_COOKIE['selected_language'] ?? 'ko';

define('__SKIN_NAME__', $skin);

App::init();

if (preg_match('#^/api(/.*)?$#', $uri)) {
    require_once __DIR__ . '/router.php';
    API::dispatch();
    exit;
}

$setupMode = $_GET['setup'] ?? '';
if ((!isset($_COOKIE['selected_skin']) && !isset($_GET['skin'])) && $setupMode !== 'done') {
    (new SettingController())->setSkinAndLanguage();
    exit;
}

(new MainController($skin, $lang))->loadPage();
