<?php
require_once 'config/config.php';
require_once 'app/core/Database.php';
require_once 'app/core/Controller.php';

// Simple Router
$url = isset($_GET['url']) ? $_GET['url'] : '/';
$url = rtrim($url, '/');

// Handle 404 or Home
if ($url == '' || $url == '/') {
    require_once 'app/controllers/HomeController.php';
    $controller = new HomeController();
    $controller->index();
    exit();
}

// Basic Routing Logic
// Example: /video/slug -> VideoController->show('slug')
$parts = explode('/', $url);
$controllerName = ucfirst($parts[0]) . 'Controller';
$method = isset($parts[1]) ? $parts[1] : 'index';
$params = array_slice($parts, 2);

// Check if controller exists
$controllerFile = "app/controllers/$controllerName.php";
if (file_exists($controllerFile)) {
    require_once $controllerFile;
    $controller = new $controllerName();
    if (method_exists($controller, $method)) {
        call_user_func_array([$controller, $method], $params);
    } else {
        echo "404 - Method not found";
    }
} else {
    echo "404 - Page not found";
}
?>
