<?php
$base = '/public';
$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri = rawurldecode($uri);

$uri = preg_replace('#^' . preg_quote($base, '#') . '#', '', $uri);
if ($uri === '' || $uri === '/') $uri = '/index.php';

$public_dir = __DIR__ . '/public';
$file = $public_dir . $uri;

if (preg_match('/\.(css|js|png|jpg|jpeg|ico|svg|woff2?)$/', $uri)) {
    return false;
}

if (file_exists($file) && !is_dir($file)) {
    require $file;
    exit;
}

if (preg_match('#^/admin/(.+\.php)$#', $uri, $m)) {
    $admin_file = __DIR__ . '/admin/' . $m[1];
    if (file_exists($admin_file)) {
        require $admin_file;
        exit;
    }
}

header('Location: ' . $base . '/login.php');
exit;
