| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- /**
- * Classe HomeController
- *
- * Gère les actions liées à la page d'accueil.
- */
- if (!class_exists('HomeController')) {
- class HomeController
- {
- /**
- * Affiche la page d'accueil.
- */
- public static function index()
- {
- $data = [
- 'title' => 'Bienvenue dans l\'application',
- 'content' => 'Ceci est le contenu principal de la page d\'accueil.',
- 'loaded_map' => null,
- 'map_data' => null
- ];
- // Vérifier si une carte doit être chargée
- if (isset($_GET['load']) && is_numeric($_GET['load'])) {
- $mapId = (int) $_GET['load'];
-
- $map = MapModel::findMap($mapId);
- if ($map) {
- $data['loaded_map'] = $map;
- $data['map_data'] = [
- 'id' => $mapId,
- 'name' => $map->getName(),
- 'width' => $map->getWidth(),
- 'height' => $map->getHeight(),
- 'created_at' => $map->getCreatedAt(),
- 'updated_at' => $map->getUpdatedAt(),
- 'statistics' => $map->getStatistics()
- ];
- $data['title'] = $map->getName() . ' - Map Generator';
- } else {
- $data['load_error'] = 'Carte non trouvée (ID: ' . $mapId . '). Vérifiez que l\'ID est correct.';
- }
- }
- Renderer::render('home', $data);
- }
- /**
- * Affiche le formulaire de création d'un nouveau projet.
- */
- public static function newProject()
- {
- $data = [
- 'title' => 'Nouveau projet - Map Generator',
- 'page' => 'new_project'
- ];
- Renderer::render('projects/new', $data);
- }
- /**
- * Affiche la liste des projets (cartes) disponibles.
- */
- public static function projects()
- {
- // Récupérer la liste des cartes depuis la base de données
- $maps = MapModel::paginate(1, 20)['data']; // Récupérer les 20 premières cartes
- // Récupérer les statistiques globales
- $stats = MapModel::getGlobalStats();
- $data = [
- 'title' => 'Mes projets - Map Generator',
- 'page' => 'projects',
- 'maps' => $maps,
- 'stats' => $stats
- ];
- Renderer::render('projects/index', $data);
- }
- }
- }
|