<?php
/**
 * Gestion des Paiements - StayManager
 */

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

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

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

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

// Initialiser la connexion à la base de données
$db = new Database();
$pdo = $db->getConnection();

// Initialiser le contrôleur des paiements
$paymentController = new PaymentController($pdo);

// Déterminer l'action à effectuer
$action = isset($_GET['action']) ? $_GET['action'] : 'index';

// Exécuter l'action appropriée
switch ($action) {
    case 'index':
        $paymentController->index();
        break;
    case 'client_invoices':
        $clientId = isset($_GET['client_id']) ? (int)$_GET['client_id'] : 0;
        $paymentController->clientInvoices($clientId);
        break;
    case 'process_payment':
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
            $result = $paymentController->processPayment($_POST);
            if ($result['success']) {
                $_SESSION['success'] = $result['message'];
            } else {
                $_SESSION['error'] = $result['message'];
            }
            redirect(getBaseUrl() . '/payments.php');
        } else {
            redirect(getBaseUrl() . '/payments.php');
        }
        break;
    default:
        $paymentController->index();
        break;
}
?>