Merge branch 'master' of https://codefirst.iut.uca.fr/git/jade.van_brabandt/3.01-QCM_MuscuMaths
continuous-integration/drone/push Build is passing Details

pull/37/head
Yvan CALATAYUD 1 year ago
commit 333dceb0d3

@ -19,19 +19,20 @@ class ControllerAdminAdministrators
session_start(); session_start();
try { try {
if($_SESSION["idAdminConnected"] != null){ if ($_SESSION["idAdminConnected"] != null) {
$this->twig =$twig; $this->twig = $twig;
$this->vues = $vues; $this->vues = $vues;
$this->mdAdministrator = new ModelAdministrator(); $this->mdAdministrator = new ModelAdministrator();
$administrators = $this->mdAdministrator->getAdministrators(); $administrators = $this->mdAdministrator->getAdministrators();
echo $twig->render($vues["adminAdministrators"], [ echo $twig->render($vues["adminAdministrators"], [
'administrators' => $administrators, 'administrators' => $administrators,
'error' => $_SESSION["error"],
]); ]);
} $_SESSION["error"] = null;
else { } else {
header("Location:/loginAdmin"); header("Location:/loginAdmin");
} }
} catch (PDOException $e) { } catch (PDOException $e) {
@ -41,27 +42,42 @@ class ControllerAdminAdministrators
} }
} }
function delete($param) { function delete($param)
{
$this->mdAdministrator->deleteAdministratorByID($param["id"]); $this->mdAdministrator->deleteAdministratorByID($param["id"]);
header("Location:/admin/administrators"); header("Location:/admin/administrators");
} }
function add($param) { function add($param)
{
$username = $_POST['username']; var_dump($_SERVER['REQUEST_METHOD'] !== 'POST');
$password = $_POST['password']; if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
$_SESSION["error"]="Méthode non autorisée.";
$Admin = [ } else {
'username' => $username, $username = $_POST['username'];
'password' => $password, $password = $_POST['password'];
]; $username = trim($_POST['username']);
$password = trim($_POST['password']);
$this->mdAdministrator->addAdministrator($Admin); var_dump(!isset($_POST['username']) || !isset($_POST['password']) || empty($username) || empty($password));
if (!isset($username) || !isset($password) || empty($username) || empty($password)) {
header("Location:/admin/administrators"); $_SESSION["error"]="Veuillez remplir tous les champs.";
} else {
$Admin = [
'username' => $username,
'password' => $password,
];
if ($this->mdAdministrator->verifyAdministratorByName($Admin) != null) {
$_SESSION["error"]="Cet admin existe déjà.";
} else {
$this->mdAdministrator->addAdministrator($Admin);
header("Location:/admin/administrators");
}
}
}
} }
function updatemodal($param) { function updatemodal($param)
{
$administrator = $this->mdAdministrator->getAdministratorByID($param["id"]); $administrator = $this->mdAdministrator->getAdministratorByID($param["id"]);
@ -70,7 +86,8 @@ class ControllerAdminAdministrators
]); ]);
} }
function update($param) { function update($param)
{
$id = $_POST['id']; $id = $_POST['id'];
$username = $_POST['username']; $username = $_POST['username'];
@ -81,8 +98,8 @@ class ControllerAdminAdministrators
'password' => $password, 'password' => $password,
]; ];
$this->mdAdministrator->updateAdministrator($id,$Admin); $this->mdAdministrator->updateAdministrator($id, $Admin);
header("Location:/admin/administrators"); header("Location:/admin/administrators");
} }
} }

@ -149,6 +149,7 @@ class ControllerUser
$_SESSION["Score"] = 0; $_SESSION["Score"] = 0;
$difficulty = $_POST['difficulty']; $difficulty = $_POST['difficulty'];
$chapter = $_POST['chapter']; $chapter = $_POST['chapter'];
$_SESSION['id_chapter'] = $_POST['chapter'];
$difficultyIsOk = TRUE; $difficultyIsOk = TRUE;
$chapterIsOk = TRUE; $chapterIsOk = TRUE;
@ -238,9 +239,13 @@ class ControllerUser
$Final[$c]["PlayerAnswer"] = $answer; $Final[$c]["PlayerAnswer"] = $answer;
$c = $c + 1; $c = $c + 1;
} }
// $idPlayer = $_SESSION["idPlayerConnected"];
// $idChapter = $_SESSION["chapter"];
// $numScore = $this->mdPlayer->getJouerByPlayerAndChapter( $idPlayer, $idChapter);
echo $this->twig->render($this->vues["viewScore"], [ echo $this->twig->render($this->vues["viewScore"], [
'score' => $_SESSION["Score"], 'score' => $_SESSION["Score"],
'Final' => $Final, 'Final' => $Final,
// 'numScore' => $numScore,
]); ]);
} }
} }
@ -249,12 +254,11 @@ class ControllerUser
function userStatus(){ function userStatus(){
if($_SESSION["idPlayerConnected"] != null){ if($_SESSION["idPlayerConnected"] != null){
//$this->mdAdministrator = new ModelAdministrator(); //$this->mdPlayer = new ModelPlayer();
//$administrators = $this->mdAdministrator->getAdministrators(); //$player = $this->mdPlayer->getPlayerByID($_SESSION["idAdminConnected"]);
echo $this->twig->render($this->vues["userStatus"]); echo $this->twig->render($this->vues["userStatus"]);
} }
else { else {
header("Location:/loginPlayer"); header("Location:/loginPlayer");

@ -87,6 +87,19 @@ class GatewayAdministrator
); );
$results = $this->con->getResults(); $results = $this->con->getResults();
return $results[0];
}
public function verifyAdministratorByName($administrator)
{
$query = "SELECT administrators.id FROM administrators WHERE username = :username";
$this->con->executeQuery(
$query,
array(
':username' => array($administrator['username'], PDO::PARAM_STR),
)
);
$results = $this->con->getResults();
return $results[0]; return $results[0];
} }
} }

@ -0,0 +1,71 @@
<?php
namespace gateways;
use usages\Connection;
use \PDO;
class GatewayJouer
{
private $con;
public function __construct()
{
global $dns, $user, $pass;
$this->con = new Connection($dns, $user, $pass);
}
public function addJouer($jouer)
{
$query = "INSERT into jouer(idChapter,idPlayer,numScore) values (:idChapter,:idPlayer,:numScore);";
$this->con->executeQuery(
$query,
array(
'idChapter' => array($jouer['idChapter'], PDO::PARAM_STR),
'idPlayer' => array($jouer['idPlayer'], PDO::PARAM_STR),
':numScore' => array($jouer['numScore'], PDO::PARAM_INT)
)
);
}
public function getJouerByPlayerAndChapter(int $idPlayer, int $idChapter)
{
$query = "SELECT jouer.numScore FROM jouer,player WHERE jouer.idPlayer = :idPlayer AND jouer.idPlayer = player.id AND jouer.idChapter = :idChapter AND jouer.idChapter = chapter.id ;";
$this->con->executeQuery(
$query,
array(
':idChapter' => array($idChapter, PDO::PARAM_INT),
':idPlayer' => array($idPlayer, PDO::PARAM_INT)
)
);
$results = $this->con->getResults();
return $results[0];
}
public function updateJouer($idPlayer, $idChapter, $jouer)
{
$query = "UPDATE jouer SET numScore = :numScore WHERE idPlayer = :idPlayer AND idChapter = :idChapter;";
$this->con->executeQuery(
$query,
array(
':idChapter' => array($idChapter, PDO::PARAM_INT),
':idPlayer' => array($idPlayer, PDO::PARAM_INT),
':numScore' => array($jouer['numScore'], PDO::PARAM_INT)
)
);
}
public function verifyJouer($idChapter, $idPlayer)
{
$query = "SELECT jouer.idChapter, jouer.idPlayer FROM jouer WHERE idPlayer = :idPlayer AND idChapter = :idChapter";
$this->con->executeQuery(
$query,
array(
':idChapter' => array($idChapter, PDO::PARAM_STR),
':idPlayer' => array($idPlayer, PDO::PARAM_STR)
)
);
$results = $this->con->getResults();
return $results[0];
}
}

@ -52,4 +52,9 @@ class ModelAdministrator
$administratorsId = $this->gwAdministrator->verifyAdministrator($Administrator); $administratorsId = $this->gwAdministrator->verifyAdministrator($Administrator);
return $administratorsId; return $administratorsId;
} }
public function verifyAdministratorByName($Administrator)
{
$administratorsId = $this->gwAdministrator->verifyAdministratorByName($Administrator);
return $administratorsId;
}
} }

@ -3,15 +3,18 @@
namespace models; namespace models;
use gateways\GatewayPlayer; use gateways\GatewayPlayer;
use gateways\GatewayJouer;
use classes\Player; use classes\Player;
class ModelPlayer class ModelPlayer
{ {
private $gwPlayer; private $gwPlayer;
private $gwJouer;
public function __construct() public function __construct()
{ {
$this->gwPlayer = new GatewayPlayer(); $this->gwPlayer = new GatewayPlayer();
$this->gwJouer = new GatewayJouer();
} }
public function addPlayer($player) public function addPlayer($player)
@ -40,4 +43,20 @@ class ModelPlayer
{ {
$this->gwPlayer->deletePlayerByID($id); $this->gwPlayer->deletePlayerByID($id);
} }
public function addJouer($jouer)
{
$this->gwJouer->addJouer($jouer);
}
public function getJouerByPlayerAndChapter( $idPlayer, $idChapter)
{
$jouerDataArray = $this->gwJouer->getJouerByPlayerAndChapter($idPlayer,$idChapter);
return $jouerDataArray;
}
public function updateJouer($idPlayer, $idChapter, $jouer)
{
$this->gwJouer->updateJouer($idPlayer, $idChapter, $jouer);
}
} }

@ -16,6 +16,7 @@
<div class="container mt-5"> <div class="container mt-5">
<div> <div>
<p>test</p> <p>test</p>
</div> </div>
</body> </body>
</html> </html>
Loading…
Cancel
Save