You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
236 lines
6.8 KiB
236 lines
6.8 KiB
<?php
|
|
|
|
class UserController
|
|
{
|
|
function __construct()
|
|
{
|
|
try {
|
|
global $dsn, $rep, $vues, $error;
|
|
$action = $_REQUEST['action'];
|
|
echo $action;
|
|
switch ($action) {
|
|
case NULL:
|
|
$this->goToHome();
|
|
break;
|
|
case "goToHome":
|
|
$this->goToHome();
|
|
break;
|
|
case "goToPresentation":
|
|
$this->goToPresentation();
|
|
break;
|
|
case "goToEnigme":
|
|
$this->goToEnigme();
|
|
break;
|
|
case "goToTest":
|
|
$this->goToTest();
|
|
break;
|
|
case "goToChouette":
|
|
$this->goToChouette();
|
|
break;
|
|
case "goToCesarEncrypt":
|
|
$this->goToCesarEncrypt();
|
|
break;
|
|
case "goToCesarDecrypt":
|
|
$this->goToCesarDecrypt();
|
|
break;
|
|
case "goToChuckNorris":
|
|
$this->goToChuckNorris();
|
|
break;
|
|
case "goToHanoi":
|
|
$this->goToHanoi();
|
|
break;
|
|
case "goToTrianglePascal":
|
|
$this->goToTrianglePascal();
|
|
break;
|
|
case "goToDoubleElement":
|
|
$this->goToDoubleElement();
|
|
break;
|
|
case "goToNext":
|
|
$this->goToNext();
|
|
break;
|
|
case "goToQueue":
|
|
$this->goToQueue();
|
|
break;
|
|
case "logout":
|
|
$this->logout();
|
|
break;
|
|
case "launchGame":
|
|
$this->launchGame();
|
|
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 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");
|
|
}
|
|
require($rep . $vues['enigmePage']);
|
|
} catch (Exception $e) {
|
|
$error = $e->getMessage();
|
|
require($rep . $vues['erreur']);
|
|
}
|
|
}
|
|
public function goToChouette()
|
|
{
|
|
try {
|
|
global $rep, $vues;
|
|
require($rep . $vues['chouette']);
|
|
} catch (Exception $e) {
|
|
$error = $e->getMessage();
|
|
require($rep . $vues['erreur']);
|
|
}
|
|
}
|
|
public function goToCesarEncrypt()
|
|
{
|
|
try {
|
|
global $rep, $vues;
|
|
require($rep . $vues['cesarEncrypt']);
|
|
} catch (Exception $e) {
|
|
$error = $e->getMessage();
|
|
require($rep . $vues['erreur']);
|
|
}
|
|
}
|
|
public function goToCesarDecrypt()
|
|
{
|
|
try {
|
|
global $rep, $vues;
|
|
require($rep . $vues['cesarDecrypt']);
|
|
} catch (Exception $e) {
|
|
$error = $e->getMessage();
|
|
require($rep . $vues['erreur']);
|
|
}
|
|
}
|
|
public function goToChuckNorris()
|
|
{
|
|
try {
|
|
global $rep, $vues;
|
|
require($rep . $vues['chuckNorris']);
|
|
} catch (Exception $e) {
|
|
$error = $e->getMessage();
|
|
require($rep . $vues['erreur']);
|
|
}
|
|
}
|
|
public function goToHanoi()
|
|
{
|
|
try {
|
|
global $rep, $vues;
|
|
require($rep . $vues['hanoi']);
|
|
} catch (Exception $e) {
|
|
$error = $e->getMessage();
|
|
require($rep . $vues['erreur']);
|
|
}
|
|
}
|
|
public function goToTrianglePascal()
|
|
{
|
|
try {
|
|
global $rep, $vues;
|
|
require($rep . $vues['trianglePascal']);
|
|
} catch (Exception $e) {
|
|
$error = $e->getMessage();
|
|
require($rep . $vues['erreur']);
|
|
}
|
|
}
|
|
public function goToDoubleElement()
|
|
{
|
|
try {
|
|
global $rep, $vues;
|
|
require($rep . $vues['doubleElement']);
|
|
} 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 . ".html");
|
|
} catch (Exception $e) {
|
|
$error = "Erreur Inconnue";
|
|
require($rep . $vues['erreur']);
|
|
}
|
|
}
|
|
public function goToQueue()
|
|
{
|
|
try {
|
|
global $rep, $vues, $error;
|
|
require($rep . $vues['queue']);
|
|
$model = new UserModel();
|
|
$model->addToQueue();
|
|
$usergroup = $model->findUserGroup();
|
|
echo
|
|
'<script>
|
|
io.to('.$userGroup.').emit("launchGame");
|
|
<script/>';
|
|
|
|
} 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');
|
|
}
|
|
} |