goToHome(); break; case "goToHome": $this->goToHome(); break; case "goToPresentation": $this->goToPresentation(); break; case "goToSolo": $this->goToSolo(); break; case "goToEnigme": $this->goToEnigme(); break; case "goToTest": $this->goToTest(); break; case "goToNext": $this->goToNext(); break; case "enigmeEnded": $this->enigmeEnded(); break; case "goToQueue": $this->goToQueue(); break; case "logout": $this->logout(); break; case "launchGame": $this->launchGame(); break; case "saveCode": $this->saveCode(); break; case "saveCodeInCookie": $this->saveCodeInCookie(); break; default: $error = "Action non valide"; require($rep . $vues['erreur']); break; } } catch (PDOException $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } catch (Exception $e2) { $error = $e2->getMessage(); require($rep . $vues['erreur']); } } public function goToHome() { try { global $rep, $vues; require($rep . $vues['main']); } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } public function goToPresentation() { try { global $rep, $vues; require($rep . $vues['presentation']); } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } public function goToSolo() { try { global $rep, $vues; $model = new UserModel(); $utilisateur = $_SESSION['utilisateur']; $enigme = $model->getLastEnigmeEnded($utilisateur->getEmail()); header("Location: index.php?action=goToEnigme&ordre=" . $enigme->getOrdre()); } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } public function goToTest() { try { global $rep, $vues; require($rep . $vues['test']); } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } public function goToEnigme() { try { global $rep, $vues; $model = new UserModel(); $ordre = $_REQUEST['ordre']; $enigme = $model->getEnigmeByOrdre($ordre); if ($enigme->getNom() == "") { header("Location: index.php?action=goToHome"); } $utilisateur=$_SESSION['utilisateur']; if ($ordre != 1){ $lastEnigme = $model->getEnigmeByOrdre($ordre-1); if(! $model->checkEnigmeIsEnded($utilisateur->getEmail(), $lastEnigme->getIdEnigme())){ header("Location: index.php?action=goToEnigme&ordre=".($ordre-1)); } else{ $model->resoudreEnigmeSolo($utilisateur, $enigme->getIdEnigme()); $code = $model->getCode($utilisateur->getEmail(), $enigme->getIdEnigme()); require($rep . $vues['enigmePage']); } } elseif($model->checkEnigmeIsEnded($utilisateur->getEmail(), $enigme->getIdEnigme())){ $code = $model->getCode($utilisateur->getEmail(), $enigme->getIdEnigme()); require($rep . $vues['enigmePage']); } else { $model->resoudreEnigmeSolo($utilisateur, $enigme->getIdEnigme()); $code = $model->getCode($utilisateur->getEmail(), $enigme->getIdEnigme()); require($rep . $vues['enigmePage']); } } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } public function goToNext() { try { global $rep, $vues, $error; $nettoyage = new Nettoyage(); $num = $nettoyage->cleanInt($_REQUEST['num']); require($rep . $vues['next'] . $num . ".php"); } catch (Exception $e) { $error = "Erreur Inconnue"; require($rep . $vues['erreur']); } } public function enigmeEnded(){ try { global $rep, $vues; $model = new UserModel(); $ordre = $_REQUEST['ordre']; $enigme = $model->getEnigmeByOrdre($ordre); $utilisateur=$_SESSION['utilisateur']; $model->enigmeEnded($utilisateur->getEmail(),$enigme->getIdEnigme()); $_REQUEST['ordre'] = $ordre + 1; header("Location: index.php?action=goToEnigme&ordre=" . $_REQUEST['ordre']); } catch (Exception $e) { $error = "Erreur Inconnue"; require($rep . $vues['erreur']); } } public function goToQueue() { try { global $rep, $vues, $error; //$serverAdress,$port; require($rep . $vues['queue']); $model = new UserModel(); $model->addToQueue(); $client = Client::getInstance(); $client->Queuing(); header('Location: index.php?action=launchGame'); } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } public function launchGame(){ try { global $rep, $vues, $error; $model = new UserModel(); $model->launchGame(); require($rep . $vues['partie']); } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } public function logout() { $_SESSION['role'] = 'visitor'; header('Location: index.php'); } public function saveCode(){ try { global $rep, $vues, $error; $model = new UserModel(); $code = $_POST['code']; $ordre = $_POST['ordre']; $enigme = $model->getEnigmeByOrdre($ordre); $utilisateur=$_SESSION['utilisateur']; $model->saveCode($utilisateur->getEmail(),$enigme->getIdEnigme(),$code); echo $code; } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } public function saveCodeInCookie(){ try { global $rep, $vues, $error; $model = new UserModel(); $code = $_POST['code']; $num = $_POST['num']; setcookie("test".$num, $code, time() + 3600*24*365); echo $code; } catch (Exception $e) { $error = $e->getMessage(); require($rep . $vues['erreur']); } } }