51 lines
1.5 KiB
PHP
51 lines
1.5 KiB
PHP
<?php
|
|
|
|
ini_set('display_errors', 1);
|
|
ini_set('display_startup_errors', 1);
|
|
error_reporting(E_ALL);
|
|
|
|
// File: public/index.php
|
|
// Version: v1.2
|
|
// Purpose: Application entry point with Arsha one-pager routing
|
|
// Project: Wizdom Networks Website
|
|
|
|
require_once __DIR__ . '/../vendor/autoload.php';
|
|
|
|
use Dotenv\Dotenv;
|
|
use WizdomNetworks\WizeWeb\Core\Router;
|
|
use WizdomNetworks\WizeWeb\Utils\Logger;
|
|
use WizdomNetworks\WizeWeb\Utils\ErrorHandler;
|
|
use WizdomNetworks\WizeWeb\Controllers\LandingController;
|
|
use WizdomNetworks\WizeWeb\Controllers\ContactController; // <-- Missing
|
|
|
|
$dotenv = Dotenv::createImmutable(__DIR__ . '/../');
|
|
$dotenv->load();
|
|
|
|
Logger::info("Bootstrapping application");
|
|
|
|
$router = new Router();
|
|
|
|
// Arsha landing routes
|
|
$router->add('', LandingController::class, 'index');
|
|
$router->add('/', LandingController::class, 'index');
|
|
$router->add('index.php', LandingController::class, 'index');
|
|
|
|
// Contact form submission
|
|
$router->add('/contact', ContactController::class, 'submit', 'POST');
|
|
|
|
// Optional: fallback for /contact without leading slash (rare case)
|
|
// $router->add('contact', ContactController::class, 'submit', 'POST');
|
|
|
|
// Debug block — safe to leave commented
|
|
/*
|
|
echo "<pre>";
|
|
echo "REQUEST_URI: " . $_SERVER['REQUEST_URI'] . "\n";
|
|
echo "Parsed path: " . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) . "\n";
|
|
echo "Trimmed: " . trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/') . "\n";
|
|
echo "</pre>";
|
|
exit;
|
|
*/
|
|
|
|
$requestedPath = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
|
|
$router->dispatch($requestedPath);
|