Gateway User et Modele à corriger

user
Anna BOUDOUL 2 years ago
parent 5783e51cb5
commit 3d9eb1c237

@ -1,13 +1,13 @@
<?php <?php
class User{ class User{
private int $id;
private string $login; private string $login;
private string $mdp; private string $mdp;
private bool $admin;
function __construct($login, $mdp, $admin=False) { function __construct($id, $login, $mdp) {
$this->id = $id;
$this->login = $login; $this->login = $login;
$this->mdp = $mdp; $this->mdp = $mdp;
$this->admin = $admin;
} }
function get_login() { function get_login() {
@ -26,12 +26,12 @@
$this->mdp = $mdp; $this->mdp = $mdp;
} }
function get_admin() { function get_id() {
return $this->admin; return $this->id;
} }
function set_admin($admin) { function set_id($id) {
$this->admin = $admin; $this->id = $id;
} }
} }
?> ?>

@ -1,6 +1,7 @@
<?php <?php
//gen //gen
$rep=__DIR__.'/../'; $rep=__DIR__.'/../';
require('dal/Connection.php');
$con = new Connection('mysql:host=localhost;dbname=dbanboudoul', 'anboudoul', 'achanger');
?> ?>

@ -1,5 +1,45 @@
<?php <?php
// find(critere (tableau), valeur associée aux critères) // password_hash
// password_verify
class GatUser{
private $con;
public function __construct(Connection $con) {
$this->con = $con; }
public function create($login, $mdp){
$pwrd = password_hash($mdp, PASSWORD_BCRYPT, array("cost" => 12));
$query = 'INSERT INTO User VALUES (:login, :mdp)';
$this->con->executeQuery($query, array(':login'=>array($login, PDO::PARAM_STR),
':mdp'=>array($pwrd, PDO::PARAM_STR)));
$result = $con->getResults();
return $result;
}
public function updateLogin($value){
$query = 'UPDATE User WHERE login = :value';
$this->con->executeQuery($query, array(':value'=>array($value, PDO::PARAM_STR)));
}
public function updateMdp($login, $mdp){
$pwrd = password_hash($mdp, PASSWORD_BCRYPT, array("cost" => 12));
$query = 'UPDATE User SET mdp = :value WHERE login = :login';
$this->con->executeQuery($query, array(':login'=>array($pwrd, PDO::PARAM_STR),
':value'=>array($pwrd, PDO::PARAM_STR)));
}
public function delete($value){
$query = 'DELETE FROM User WHERE login = :value';
$this->con->executeQuery($query, array(':value'=>array($value, PDO::PARAM_STR)));
}
public function find($value, $parameterkind){
$query = 'SELECT login FROM User WHERE :parameterkind = :value';
$this->con->executeQuery($query, array(':value'=>array($value, PDO::PARAM_STR),
':parameterkind'=>array($parameterkind, PDO::PARAM_STR)));
$result = $this->con->getResults();
return $result;
}
}
?> ?>

@ -1,7 +1,8 @@
<?php <?php
/*
$fc = new FrontCtrl(); $fc = new FrontCtrl();
$TMessage = array(); $TMessage = array();
require_once(controller/FrontCtrl.php); require_once(controller/FrontCtrl.php);
require(erreur.php); require(erreur.php);*/
?> ?>

@ -1,4 +1,38 @@
<?php <?php
#finduserbylogin class ModelUser{
#recup infos de la gateway et transforme en instance de classe metier private $con;
private $gat;
public function __construct(Connection $con) {
$this->con = $con;
$this->gat = new GatUser($con); }
function ajouter($login, $mdp){
$user = findByLogin($login);
if (empty($user))
$gat->create($login, $mdp);
}
function supprimer($login){
$gat->delete($login);
}
function modifMdp($login, $mdp){
$gat->updateMdp($login, $mdp);
}
function modifLogin($login){
$user = findByLogin($login);
if (empty($user))
$gat->updateLogin($login);
}
function findByLogin($login){
if ($login !== " " && $login != null )
$results = $gat->find($login, "login");
$user = new User($results["login"]);
return $user;
}
}
?> ?>

@ -0,0 +1,7 @@
<?php
require('../dal/Connection.php');
require('../dal/GatUser.php');
$con = new Connection('mysql:host=localhost;dbname=dbanboudoul', 'anboudoul', 'achanger');
$gat = new GatUser($con);
$gat->create("Nicolas", "tranquiloubilou");
?>
Loading…
Cancel
Save