Merge branch 'master' of https://codefirst.iut.uca.fr/git/nathan.boileau/Scripted
continuous-integration/drone/push Build is passing Details

ServeurDeTest
johan 2 years ago
commit 9c5247666b

@ -57,10 +57,3 @@ class Connection extends SQLite3
return $multiArray; return $multiArray;
} }
} }
// class Connection extends SQLite3{
// function __construct()
// {
// $this->open("./Model/scripted.db");
// }
// }

@ -3,15 +3,34 @@ class FrontController
{ {
function __construct() function __construct()
{ {
global $rep, $vues, $error;
session_start();
// $role=$_SESSION['role'];
// $action=$_REQUEST['action'];
try { try {
new UserController(); global $error, $view, $rep;
session_start();
// Check role permissions
if (isset($_SESSION['role'])) {
$role = $_SESSION['role'];
} else {
$role = "visitor";
}
// Check if action exists
$action = $_REQUEST['action'];
if ($role == "user") {
if ($action == NULL) {
new UserController();
}
else if (method_exists('UserModel', $action) == false) {
$error = "Action non valide " . $action;
require($rep . $view['erreur']);
} else {
new UserController();
}
} else {
new VisitorController();
}
} catch (Exception $e) { } catch (Exception $e) {
$error = $e->getMessage(); $error = $e->getMessage();
require ($rep . $vues['erreur']); require($rep . $view['erreur']);
} }
} }
} }

@ -1,7 +1,5 @@
<?php <?php
// Mettre le xdebug dans php.ini
class UserController class UserController
{ {
private Connection $con; private Connection $con;
@ -10,7 +8,7 @@ class UserController
{ {
try { try {
global $dsn, $rep, $vues, $error; global $dsn, $rep, $vues, $error;
$model = new Model(); $model = new UserModel();
$action = $_REQUEST['action']; $action = $_REQUEST['action'];
switch ($action) { switch ($action) {
case NULL: case NULL:
@ -28,18 +26,16 @@ class UserController
case "goToHome": case "goToHome":
$model->goToHome(); $model->goToHome();
break; break;
case "goToLogin":
$model->goToLogin();
break;
case "goToSignUp":
$model->goToSignUp();
break;
case "goToEnigme": case "goToEnigme":
$model->goToEnigme(); $model->goToEnigme();
break; break;
case "goToQueue": case "goToQueue":
$model->goToQueue(); $model->goToQueue();
break; break;
default:
$error = "Action non valide";
require($rep . $vues['erreur']);
break;
} }
} catch (PDOException $e) { } catch (PDOException $e) {
$error = $e->getMessage(); $error = $e->getMessage();

@ -0,0 +1,54 @@
<?php
class VisitorController
{
private Connection $con;
function __construct()
{
try {
global $dsn, $rep, $vues, $error;
$model = new VisitorModel();
$action = $_REQUEST['action'];
switch ($action) {
case NULL:
$model->goToHome();
break;
case "signUp":
$model->signUp();
break;
case "login":
$model->login();
break;
case "goToPresentation":
$model->goToPresentation();
break;
case "goToHome":
$model->goToHome();
break;
case "goToLogin":
$model->goToLogin();
break;
case "goToSignUp":
$model->goToSignUp();
break;
case "goToEnigme":
$model->goToEnigme();
break;
case "goToQueue":
$model->goToQueue();
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']);
}
}
}

@ -0,0 +1,64 @@
<?php
class UserModel
{
private EnigmeGateway $enigme_gateway;
private PartieGateway $partie_gateway;
private UtilisateurGateway $utilisateur_gateway;
function __construct()
{
try {
global $error, $view, $rep;
$this->enigme_gateway = new EnigmeGateway();
$this->partie_gateway = new PartieGateway();
$this->utilisateur_gateway = new UtilisateurGateway();
} catch (Exception $e) {
$error = $e->getMessage();
require($rep . $view['erreur']);
}
}
public function goToPresentation()
{
global $rep, $vues, $error;
try {
require($rep . $vues['presentation']);
} catch (Exception $e) {
$error = "Erreur Inconnue";
require($rep . $vues['erreur']);
}
}
public function goToHome()
{
global $rep, $vues, $error;
try {
require($rep . $vues['main']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToEnigme()
{
global $rep, $vues, $error;
try {
require($rep . $vues['enigme']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
public function goToQueue()
{
global $rep, $vues, $error;
try {
require($rep . $vues['Queue']);
} catch (Exception $e) {
$error = "404";
require($rep . $vues['erreur']);
}
}
}

@ -1,5 +1,5 @@
<?php <?php
class Model class VisitorModel
{ {
private EnigmeGateway $enigme_gateway; private EnigmeGateway $enigme_gateway;
@ -44,8 +44,7 @@ class Model
$password = password_hash($_REQUEST['password'] . $sel, PASSWORD_DEFAULT); $password = password_hash($_REQUEST['password'] . $sel, PASSWORD_DEFAULT);
$Utilisateur = new Utilisateur($_REQUEST['email'], $_REQUEST['username'], $password, false); $Utilisateur = new Utilisateur($_REQUEST['email'], $_REQUEST['username'], $password, false);
$this->utilisateur_gateway->insert($Utilisateur); $this->utilisateur_gateway->insert($Utilisateur);
$_SESSION['connected'] = 'true'; $_SESSION['role'] = 'user';
$_SESSION['role'] = 'utilisateur';
require($rep . $vues['main']); require($rep . $vues['main']);
} catch (PDOException $e) { } catch (PDOException $e) {
$error = "Erreur de connexion à la base de données."; $error = "Erreur de connexion à la base de données.";
@ -73,7 +72,7 @@ class Model
if ($estAdmin == true) { if ($estAdmin == true) {
$_SESSION['role'] = "admin"; $_SESSION['role'] = "admin";
} else { } else {
$_SESSION['role'] = "utilisateur"; $_SESSION['role'] = "user";
} }
$_SESSION['connected'] = 'true'; $_SESSION['connected'] = 'true';

@ -39,7 +39,7 @@
class="mb-3 text-uppercase d-flex justify-content-center align-items-center" class="mb-3 text-uppercase d-flex justify-content-center align-items-center"
style="width: 260px; height: 50px" style="width: 260px; height: 50px"
<?php <?php
if (isset($_SESSION['connected']) && $_SESSION['connected'] == 'true'){ if (isset($_SESSION['role']) && $_SESSION['role'] == 'user'){
echo 'href="index.php?action=goToPresentation"'; echo 'href="index.php?action=goToPresentation"';
} }
else{ else{

Loading…
Cancel
Save