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.
Scripted/WEB/Controller/UserController.php

211 lines
5.9 KiB

<?php
class UserController
{
private UserModel $model;
private Nettoyage $nettoyage;
function __construct()
{
try {
global $dsn, $rep, $vues, $error;
$this->model = new UserModel();
$this->nettoyage = new Nettoyage();
$action = $_REQUEST['action'];
//register_event_handler('add_to_queue',array($this,"onAddToQueue"));
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;
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 = "404";
require($rep . $vues['erreur']);
}
}
public function goToPresentation()
{
try {
global $rep, $vues;
require($rep . $vues['presentation']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToTest()
{
try {
global $rep, $vues;
require($rep . $vues['test']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToEnigme()
{
try {
global $rep, $vues;
require($rep . $vues['enigme']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToChouette()
{
try {
global $rep, $vues;
require($rep . $vues['chouette']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToCesarEncrypt()
{
try {
global $rep, $vues;
require($rep . $vues['cesarEncrypt']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToCesarDecrypt()
{
try {
global $rep, $vues;
require($rep . $vues['cesarDecrypt']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToChuckNorris()
{
try {
global $rep, $vues;
require($rep . $vues['chuckNorris']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToHanoi()
{
try {
global $rep, $vues;
require($rep . $vues['hanoi']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToTrianglePascal()
{
try {
global $rep, $vues;
require($rep . $vues['trianglePascal']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToDoubleElement()
{
try {
global $rep, $vues;
require($rep . $vues['doubleElement']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToNext()
{
try {
global $rep, $vues, $error;
$num = $this->nettoyage->cleanInt($_REQUEST['num']);
require($rep . $vues['next'].$_REQUEST['num'].".html");
} catch (Exception $e) {
$error = "Erreur Inconnue";
require($rep . $vues['erreur']);
}
}
public function goToQueue()
{
try {
global $rep, $vues, $error;
//require($rep . $vues['Queue']);
$this->model->addToQueue();
} catch (Exception $e) {
$error = $e->getMessage();
require($rep . $vues['erreur']);
}
}
public function logout()
{
$_SESSION['role'] = 'visitor';
header('Location: index.php');
}
}