diff --git a/app/controller/JeuController.php b/app/controller/JeuController.php index b730e0500b36eeb3ef94be4296dbaf94a166a5d4..eb87ebbe9653d3b347b0d98b9a82c7832fb0e718 100644 --- a/app/controller/JeuController.php +++ b/app/controller/JeuController.php @@ -85,12 +85,28 @@ class JeuController extends Controller { } public function displayFavorisValid() { // la fonction d'affichage de réussite - // vérification que membre connecté - // vérification que jeu existe - // vérification que jeu pas déjà favoris - // mise en favoris du jeu - // si une ligne joueur-jeu existe déjà => UPDATE - // sinon => INSERT avec des null pour le classement et le score - $this->view->display(); // on affiche la page avec le message de réussite + session_start(); // on démarre une session pour avoir accès aux variables superglobales de session + $slug_jeu = $this->route["params"]["slug"]; + if(!isset($_SESSION['connected'])) { // vérification que membre connecté + $_SESSION["addFavorisErrCode"] = 2; // on stocke le code d'erreur + $this->view->display(); // on affiche la page avec le message d'erreur + } + else if(!(Jeu::checkExists($slug_jeu))) { // vérification que jeu existe + $_SESSION["addFavorisErrCode"] = 3; // on stocke le code d'erreur + $this->view->display(); // on affiche la page avec le message d'erreur + } + else if(Profil::checkJeuFavoris($_SESSION['user']->slug, $slug_jeu)) { // vérification que jeu pas déjà favoris + $_SESSION["addFavorisErrCode"] = 4; // on stocke le code d'erreur + $this->view->display(); // on affiche la page avec le message d'erreur + } + else { // mise en favoris du jeu + if(Profil::checkADejaJoue($_SESSION['user']->slug, $slug_jeu)) { // si une ligne joueur-jeu existe déjà => UPDATE + Profil::upadteJeuFavoris($_SESSION['user']->slug, $slug_jeu, true); + } + else { // sinon => INSERT avec des null pour le classement et le score + Profil::insertJeuFavoris($_SESSION['user']->slug, $slug_jeu, true); + } + $this->view->display(); // on affiche la page avec le message de réussite + } } }