<?php
/**
 * Page de rapports globale - StayManager
 * Point d'entrée pour tous les rapports du système
 */

// Inclure la configuration
require_once __DIR__ . '/config/config.php';

// Inclure le contrôleur d'authentification
require_once __DIR__ . '/controllers/AuthController.php';

// Initialiser le contrôleur
$authController = new AuthController();

// Vérifier l'authentification
$authController->checkAuth();

// Inclure le contrôleur de rapports
require_once __DIR__ . '/controllers/ReportController.php';

try {
    $db = new Database();
    $pdo = $db->getConnection();
    
    $reportController = new ReportController($pdo);
    
    // Récupérer le type de rapport demandé
    $report = $_GET['report'] ?? 'revenue';
    
    // Router vers le bon rapport
    switch ($report) {
        case 'revenue':
            $reportController->revenueReport();
            break;
        case 'cancelled_transactions':
            $reportController->cancelledTransactions();
            break;
        case 'occupation':
            $reportController->occupationReport();
            break;
        case 'restaurant':
            $reportController->restaurantReport();
            break;
        case 'events':
            $reportController->eventsReport();
            break;
        default:
            $_SESSION['error'] = 'Rapport non reconnu';
            header('Location: dashboard.php');
            exit();
    }
    
} catch (Exception $e) {
    $_SESSION['error'] = 'Erreur lors du chargement du rapport: ' . $e->getMessage();
    header('Location: dashboard.php');
    exit();
}
?>
