-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
106 lines (83 loc) · 4.77 KB
/
index.php
File metadata and controls
106 lines (83 loc) · 4.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
/**
* APA63 - Application de gestion des promenades
* Point d'entrée principal
*/
// Désactive l'affichage des erreurs en production (à commenter en développement)
error_reporting(0);
ini_set('display_errors', 0);
// // En développement, afficher les erreurs
// error_reporting(E_ALL);
// ini_set('display_errors', 1);
// Chargement de l'autoloader
require_once __DIR__ . '/src/utils/Autoloader.php';
Autoloader::register();
// Configuration du fuseau horaire
date_default_timezone_set('Europe/Paris');
// Chargement des helpers
require_once __DIR__ . '/src/utils/helpers.php';
// Démarrage de la session
Session::start();
// Initialisation du routeur
$router = new Router('/');
// ============================================
// ROUTES PUBLIQUES
// ============================================
$router->get('/', 'HomeController', 'index');
$router->get('/connexion', 'AuthController', 'showLogin');
$router->post('/connexion', 'AuthController', 'login');
$router->get('/deconnexion', 'AuthController', 'logout');
// ============================================
// ROUTES PROMENEURS (authentification requise)
// ============================================
$router->get('/promeneur/compagnons', 'ChienController', 'mesFilleuls');
// Réservations
$router->get('/promeneur/calendrier', 'ReservationController', 'calendrier');
$router->get('/promeneur/reservation/creer', 'ReservationController', 'showCreer');
$router->post('/promeneur/reservation/creer', 'ReservationController', 'creer');
$router->get('/promeneur/reservations', 'ReservationController', 'mesReservations');
$router->post('/promeneur/reservation/annuler/{id}', 'ReservationController', 'annuler');
$router->post('/promeneur/reservation/demarrer/{id}', 'ReservationController', 'demarrer');
$router->get('/promeneur/reservation/terminer/{id}', 'ReservationController', 'showTerminer');
$router->post('/promeneur/reservation/terminer/{id}', 'ReservationController', 'terminer');
$router->post('/promeneur/reservation/{id}/heure-arrivee', 'ReservationController', 'modifierHeureArrivee');
$router->get('/api/chiens-disponibilites', 'ReservationController', 'apiChiensDisponibilites');
$router->get('/api/verifier-creneaux', 'ReservationController', 'apiVerifierCreneaux');
// Demandes de réservations spéciales
$router->post('/promeneur/demande-speciale/creer', 'ReservationController', 'creerDemandeSpeciale');
// Gestion des récurrences
$router->get('/promeneur/recurrences', 'ReservationController', 'mesRecurrences');
$router->post('/promeneur/recurrence/arreter/{id}', 'ReservationController', 'arreterRecurrence');
// ============================================
// ROUTES ADMINISTRATION (admin)
// ============================================
$router->get('/admin/historique', 'AdminController', 'historique');
$router->get('/admin/promenades-en-cours', 'AdminController', 'promenadesEnCours');
$router->get('/admin/preparation-journee', 'AdminController', 'preparationJournee');
// Gestion des utilisateurs (promeneurs)
$router->get('/admin/utilisateurs', 'AdminController', 'utilisateurs');
$router->get('/admin/utilisateur/{id}', 'AdminController', 'detailUtilisateur');
$router->get('/admin/utilisateur/{id}/chiens', 'AdminController', 'getChiensUtilisateur');
$router->post('/admin/utilisateur/{id}/ajouter-chien', 'AdminController', 'ajouterChienUtilisateur');
$router->post('/admin/parrainage/supprimer/{id}', 'AdminController', 'supprimerParrainage');
$router->post('/admin/utilisateur/{id}/cotisation', 'AdminController', 'enregistrerCotisation');
$router->post('/admin/utilisateur/{id}/set-niveau', 'AdminController', 'setNiveauUtilisateur');
$router->post('/admin/utilisateur/{id}/set-jours', 'AdminController', 'setJoursUtilisateur');
// Gestion des chiens
$router->get('/admin/chiens', 'AdminController', 'chiens');
$router->get('/admin/chien/{id}/parrains', 'AdminController', 'getParrainsChien');
$router->post('/admin/chien/{id}/set-niveau', 'AdminController', 'setNiveauChien');
// Gestion des parrainages
$router->get('/admin/parrainages', 'AdminController', 'parrainages');
$router->get('/admin/parrainage/nouveau', 'AdminController', 'nouveauParrainage');
$router->post('/admin/parrainage/nouveau', 'AdminController', 'creerParrainage');
// Gestion des demandes spéciales
$router->get('/admin/demandes-speciales', 'AdminController', 'demandesSpeciales');
$router->post('/admin/demande-speciale/approuver/{id}', 'AdminController', 'approuverDemandeSpeciale');
$router->post('/admin/demande-speciale/refuser/{id}', 'AdminController', 'refuserDemandeSpeciale');
// Import CSV Refugylis
$router->get('/admin/import', 'ImportController', 'index');
$router->post('/admin/import/chiens', 'ImportController', 'importerChiens');
$router->post('/admin/import/promeneurs', 'ImportController', 'importerPromeneurs');
// Résolution de la route
$router->resolve();