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

@ -56,11 +56,4 @@ class Connection extends SQLite3
else
return $multiArray;
}
}
// class Connection extends SQLite3{
// function __construct()
// {
// $this->open("./Model/scripted.db");
// }
// }
}

@ -3,15 +3,34 @@ class FrontController
{
function __construct()
{
global $rep, $vues, $error;
session_start();
// $role=$_SESSION['role'];
// $action=$_REQUEST['action'];
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) {
$error = $e->getMessage();
require ($rep . $vues['erreur']);
require($rep . $view['erreur']);
}
}
}

@ -1,7 +1,5 @@
<?php
// Mettre le xdebug dans php.ini
class UserController
{
private Connection $con;
@ -10,7 +8,7 @@ class UserController
{
try {
global $dsn, $rep, $vues, $error;
$model = new Model();
$model = new UserModel();
$action = $_REQUEST['action'];
switch ($action) {
case NULL:
@ -28,18 +26,16 @@ class UserController
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();

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

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

Loading…
Cancel
Save