diff --git a/php/src/controleur/FrontControleur.php b/php/src/controleur/FrontControleur.php index 9e6a7b6..29d7825 100755 --- a/php/src/controleur/FrontControleur.php +++ b/php/src/controleur/FrontControleur.php @@ -19,7 +19,7 @@ class FrontControleur "deconnexion","proposerOffre","consulterProfil","modifierProfil","signaler" ], "Utilisateur" => [ - "connection", "inscription", "accueil","consulterProfilLimite","listerEvenement", "creerEvenement", "supprimerEvenement" + "connection", "inscription", "accueil","consulterProfilLimite","listerEvenement", "creerEvenement", "supprimerEvenement", "avoirDetailEvenement" ] ); diff --git a/php/src/controleur/UtilisateurControleur.php b/php/src/controleur/UtilisateurControleur.php index 08dbad7..953eecb 100755 --- a/php/src/controleur/UtilisateurControleur.php +++ b/php/src/controleur/UtilisateurControleur.php @@ -61,6 +61,9 @@ class UtilisateurControleur case "supprimerEvenement": $this->supprimerEvenement(); break; + case "avoirDetailEvenement": + $this->avoirDetailEvenement(); + break; default: $dVueErreur[] ="Action inconnue ou non autorisée"; echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]); @@ -199,4 +202,14 @@ class UtilisateurControleur echo $twig->render('evenement.html', ['evenements' => $evenements]); } + protected function avoirDetailEvenement() + { + $mdl = new \App\modele\UtilisateurModele(); + $evenement = $mdl->getEvenementById($_GET["id"]); + + global $twig; + $twig->addExtension(new TwigExtensions()); + echo $twig->render('detailEvenement.html', ['evenement' => $evenement]); + } + } \ No newline at end of file diff --git a/php/src/gateway/EvenementGateway.php b/php/src/gateway/EvenementGateway.php index c02275b..28f7e72 100755 --- a/php/src/gateway/EvenementGateway.php +++ b/php/src/gateway/EvenementGateway.php @@ -50,4 +50,14 @@ class EvenementGateway ':id' => array($id, \PDO::PARAM_INT) )); } + + public function findById($id) + { + $query='SELECT * FROM Evenement WHERE id=:id'; + $this->con->executeQuery($query, array( + ':id' => array($id, \PDO::PARAM_INT) + )); + $res=$this->con->getResults(); + return $res; + } } \ No newline at end of file diff --git a/php/src/modele/UtilisateurModele.php b/php/src/modele/UtilisateurModele.php index e7fbc22..ff66514 100755 --- a/php/src/modele/UtilisateurModele.php +++ b/php/src/modele/UtilisateurModele.php @@ -127,4 +127,36 @@ class UtilisateurModele $gate->deleteEvenement($id); } + + public function getEvenementById(int $id) : Evenement + { + global $dsn, $username, $password; + $con = new \App\gateway\Connection($dsn, $username, $password); + + $gate = new \App\gateway\EvenementGateway($con); + $gateImage = new \App\gateway\ImageGateway($con); + + $data = $gate->findById($id); + + $imgRaw = $gateImage->obtenirParId($data[0]['image']); + $img = new Image( + intval($imgRaw[0]["id"]), + $imgRaw[0]['nom'], + $imgRaw[0]['taille'], + $imgRaw[0]['type'], + $imgRaw[0]['blob'] + ); + + $evenement = new \App\metier\Evenement( + $data[0]['id'], + $data[0]['organisateur'], + $data[0]['titre'], + $data[0]['description'], + $data[0]['date'], + $data[0]['nbPlaceMax'], + $img + ); + + return $evenement; + } } \ No newline at end of file diff --git a/php/templates/detailEvenement.html b/php/templates/detailEvenement.html new file mode 100644 index 0000000..0ba19bf --- /dev/null +++ b/php/templates/detailEvenement.html @@ -0,0 +1,37 @@ + + +
+ + +Organisateur: {{ evenement.organisateurId }}
+Date: {{ evenement.date }}
+Description: {{ evenement.description }}
+ +Places disponibles: {{ evenement.nbPlaceMax }}
+ Retour +L'événement n'existe pas ou n'est pas disponible.
+ {% endif %} +Description: {{ evenement.description }}
Places disponibles: {{ evenement.nbPlaceMax }}
+ Détails