la j'en ai vraiment ras le cul

main
Thomas Chazot 2 years ago
parent bf87945b9e
commit 9eed54bb12

@ -0,0 +1,178 @@
@import url('https://fonts.googleapis.com/css?family=Raleway:400,700');
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-family: Raleway, sans-serif;
}
body {
background: linear-gradient(90deg, #C7C5F4, #776BCC);
}
.container {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
}
.screen {
background: linear-gradient(90deg, #5D54A4, #7C78B8);
position: relative;
height: 600px;
width: 360px;
box-shadow: 0px 0px 24px #5C5696;
}
.screen__content {
z-index: 1;
position: relative;
height: 100%;
}
.screen__background {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 0;
-webkit-clip-path: inset(0 0 0 0);
clip-path: inset(0 0 0 0);
}
.screen__background__shape {
transform: rotate(45deg);
position: absolute;
}
.screen__background__shape1 {
height: 520px;
width: 520px;
background: #FFF;
top: -50px;
right: 120px;
border-radius: 0 72px 0 0;
}
.screen__background__shape2 {
height: 220px;
width: 220px;
background: #6C63AC;
top: -172px;
right: 0;
border-radius: 32px;
}
.screen__background__shape3 {
height: 540px;
width: 190px;
background: linear-gradient(270deg, #5D54A4, #6A679E);
top: -24px;
right: 0;
border-radius: 32px;
}
.screen__background__shape4 {
height: 400px;
width: 200px;
background: #7E7BB9;
top: 420px;
right: 50px;
border-radius: 60px;
}
.login {
width: 320px;
padding: 30px;
padding-top: 156px;
}
.login__field {
padding: 20px 0px;
position: relative;
}
.login__icon {
position: absolute;
top: 30px;
color: #7875B5;
}
.login__input {
border: none;
border-bottom: 2px solid #D1D1D4;
background: none;
padding: 10px;
padding-left: 24px;
font-weight: 700;
width: 75%;
transition: .2s;
}
.login__input:active,
.login__input:focus,
.login__input:hover {
outline: none;
border-bottom-color: #6A679E;
}
.login__submit {
background: #fff;
font-size: 14px;
margin-top: 30px;
padding: 16px 20px;
border-radius: 26px;
border: 1px solid #D4D3E8;
text-transform: uppercase;
font-weight: 700;
display: flex;
align-items: center;
width: 100%;
color: #4C489D;
box-shadow: 0px 2px 2px #5C5696;
cursor: pointer;
transition: .2s;
}
.login__submit:active,
.login__submit:focus,
.login__submit:hover {
border-color: #6A679E;
outline: none;
}
.button__icon {
font-size: 24px;
margin-left: auto;
color: #7875B5;
}
.social-login {
position: absolute;
height: 140px;
width: 160px;
text-align: center;
bottom: 0px;
right: 0px;
color: #fff;
}
.social-icons {
display: flex;
align-items: center;
justify-content: center;
}
.social-login__icon {
padding: 20px 10px;
color: #fff;
text-decoration: none;
text-shadow: 0px 0px 8px #7875B5;
}
.social-login__icon:hover {
transform: scale(1.5);
}

@ -27,9 +27,6 @@
<?php <?php
$dataView[]=new Liste(12, "test", false, null, array());
$dataView[]=new Liste(12, "belle bite", false, null, array());
if (isset($dataView)): if (isset($dataView)):
?> ?>
@ -42,10 +39,13 @@
<?php <?php
foreach ($dataView as $list){ foreach ($dataView as $list){
?> ?>
<li class="table-row"> <li class="table-row">
<div class="col col-1" data-label="Customer Name"><?php echo $list->getName(); ?></div> <div class="col col-1" data-label="listName"><?php echo $list->getName(); ?></div>
<button class="col col-2">Modify</button> <form method="POST" id="modifyList" name="modifyList" class="col col-2">
<input value="Modify" type="submit"/>
<input type="hidden" name="list" value="<?=$list->getId()?>"/></input>
</form>
</li> </li>
<?php <?php

@ -32,6 +32,8 @@
$tabTaches[]=new Tache(1, "wesh", "bonjour bonjour", false); $tabTaches[]=new Tache(1, "wesh", "bonjour bonjour", false);
$tabTaches[]=new Tache(2, "wesh wesh", "au revoir", true); $tabTaches[]=new Tache(2, "wesh wesh", "au revoir", true);
$tabTaches[]=new Tache(3, "Bonjour", "au revoir", true);
$dataView[]=new Liste(12, "test", false, null, $tabTaches); $dataView[]=new Liste(12, "test", false, null, $tabTaches);
@ -54,7 +56,10 @@
if ($dataView[0]->getCreator()!=null){ if ($dataView[0]->getCreator()!=null){
if ($dataView[0]->getPrivate()){ if ($dataView[0]->getPrivate()){
?> ?>
<input type="checkbox" id="private" checked class="col col-4"></input> <form method="POST" id="changePrivate" name="changePrivate">
<input type="checkbox" id="private" checked class="col col-4"></input>
<input type="hidden" name="list" value="<?=$dataView[0]->getId()?>"/></input>
</form>
<?php <?php
} }
else{ else{
@ -64,8 +69,12 @@
<?php <?php
} }
} }
?> ?>
<button class="col col-5"><i class="fa fa-trash"></i></button>
<form method="POST" id="deleteList" name="deleteList" class="col col-5">
<input type="submit" value="Delete"/>
<input type="hidden" name="list" value="<?=$dataView[0]->getId()?>"/>
</form>
</li> </li>
</ul> </ul>
@ -89,19 +98,35 @@
<?php <?php
if ($tache->getCompleted()){ if ($tache->getCompleted()){
?> ?>
<input type="checkbox" id="completed" checked class="col col-3"></input> <form method="POST" id="changeCompleted" name="changeCompleted" class="col col-3">
<input type="checkbox" id="completed" checked />
<input type="hidden" name="list" value="<?=$dataView[0]->getId()?>"/>
<input type="hidden" name="tache" value="<?=$tache->getId()?>"/>
</form>
<?php <?php
} }
else{ else{
?> ?>
<input type="checkbox" id="completed" class="col col-3"></input> <form method="POST" id="changeCompleted" name="changeCompleted" class="col col-3">
<input type="checkbox" id="completed" checked />
<input type="hidden" name="list" value="<?=$dataView[0]->getId()?>"/>
<input type="hidden" name="tache" value="<?=$tache->getId()?>"/>
</form>
<?php <?php
} }
?> ?>
<form method="POST" id="modifyTask" name="modifyTask" class="col col-4">
<button class="col col-4" data-label="Task content">Modify</button> <input type="submit" value="Modify"/>
<button class="col col-5"><i class="fa fa-trash"></i></button> <input type="hidden" name="list" value="<?=$dataView[0]->getId()?>"/>
<input type="hidden" name="tache" value="<?=$tache->getId()?>"/>
</form>
<form method="POST" id="deleteTask" name="deleteTask" class="col col-5">
<input type="submit" value="Delete"/>
<input type="hidden" name="list" value="<?=$dataView[0]->getId()?>"/>
<input type="hidden" name="tache" value="<?=$tache->getId()?>"/>
</form>
</li> </li>
@ -109,7 +134,10 @@
} }
?> ?>
<li class="table-row"> <li class="table-row">
<button class="col col-6" data-label="add Task">Add Task</button> <form method="POST" id="addTask" name="addTask" class="col col-6">
<input type="submit" value="Add task" />
<input type="hidden" name="list" value="<?=$dataView[0]->getId()?>"/>
</form>
</li> </li>

@ -0,0 +1,45 @@
<!DOCTYPE html>
<html>
<head>
<title>Slide Navbar</title>
<link rel="stylesheet" type="text/css" href="slide navbar style.css">
<link href="Style/signInStyle.css" rel="stylesheet">
</head>
<div class="container">
<div class="screen">
<div class="screen__content">
<form class="login">
<div class="login__field">
<i class="login__icon fas fa-user"></i>
<input type="text" class="login__input" name="username" placeholder="Username">
</div>
<div class="login__field">
<i class="login__icon fas fa-lock"></i>
<input type="password" class="login__input" name="password" placeholder="Password">
</div>
<button class="button login__submit">
<span class="button__text">Log In Now</span>
<i class="button__icon fas fa-chevron-right"></i>
</button>
</form>
<div class="social-login">
<h3>log in via</h3>
<div class="social-icons">
<a href="#" class="social-login__icon fab fa-instagram"></a>
<a href="#" class="social-login__icon fab fa-facebook"></a>
<a href="#" class="social-login__icon fab fa-twitter"></a>
</div>
</div>
</div>
<div class="screen__background">
<span class="screen__background__shape screen__background__shape4"></span>
<span class="screen__background__shape screen__background__shape3"></span>
<span class="screen__background__shape screen__background__shape2"></span>
<span class="screen__background__shape screen__background__shape1"></span>
</div>
</div>
</div>
</html>

@ -3,36 +3,47 @@
<head> <head>
<title>Slide Navbar</title> <title>Slide Navbar</title>
<link rel="stylesheet" type="text/css" href="slide navbar style.css"> <link rel="stylesheet" type="text/css" href="slide navbar style.css">
<link href="Style/signUp.css" rel="stylesheet"> <link href="Style/signInStyle.css" rel="stylesheet">
</head> </head>
<body>
<div class="main">
<input type="checkbox" id="chk" aria-hidden="true">
<div class="signup"> <div class="container">
<form> <div class="screen">
<label for="chk" aria-hidden="true">Login</label> <div class="screen__content">
<input type="txt" name="username" placeholder="Username" required=""> <form class="login">
<input type="password" name="password" placeholder="Password" required=""> <div class="login__field">
<button>Login</button> <i class="login__icon fas fa-user"></i>
</form> <input type="text" class="login__input" name="username" placeholder="Username">
</div>
<div class="login__field">
<i class="login__icon fas fa-lock"></i>
<input type="password" class="login__input" name="password" placeholder="Password">
</div>
<div class="login__field">
<i class="login__icon fas fa-lock"></i>
<input type="password" class="login__input" name="passwordconf" placeholder="Password confirmation">
</div>
<button class="button login__submit">
<span class="button__text">Sign up now</span>
<i class="button__icon fas fa-chevron-right"></i>
</button>
</form>
<div class="social-login">
<h3>log in via</h3>
<div class="social-icons">
<a href="#" class="social-login__icon fab fa-instagram"></a>
<a href="#" class="social-login__icon fab fa-facebook"></a>
<a href="#" class="social-login__icon fab fa-twitter"></a>
</div>
</div> </div>
</div>
<div class="login"> <div class="screen__background">
<form> <span class="screen__background__shape screen__background__shape4"></span>
<label for="chk" aria-hidden="true">Sign up</label> <span class="screen__background__shape screen__background__shape3"></span>
<input type="txt" name="username" placeholder="Username" required=""> <span class="screen__background__shape screen__background__shape2"></span>
<input type="password" name="password" placeholder="Password" required=""> <span class="screen__background__shape screen__background__shape1"></span>
<input type="password" name="paswwordConf" placeholder="Password confirmation" required=""> </div>
<button>Sign up</button>
</form>
</div>
</div> </div>
</body> </div>
</html>
</html>

@ -2,24 +2,66 @@
class Validation{ class Validation{
static function val_action($action){ static function val_connexion($usrName,$mdp,$dataVueEreur) {
if (!isset($action)){ if (!isset($usrName)||$usrName=="") {
throw new Exceptionb('Pas d\'action'); $dataVueEreur[] ="Username or password missing";
} }
} if ($usrName != Validation::clear_string($usrName)){
$dataVueEreur[] = "Forbidden characters";
$usrName="";
}
if (!isset($mdp)||$mdp=="") {
$dataVueEreur[] ="Username or password missing";
}
if($mdp != Validation::clear_string($mdp)){
$dataVueEreur[] = "Forbidden characters";
$mdp="";
}
return $dataVueEreur;
}
static function val_form(string &$chaine, array &$dVueErreur){ static function val_inscription($username,$pwd1,$pwd2,$dataVueEreur){
if (!isset($username)||$username==="") {
$dataVueEreur[] ="All fields are required";
}
if($username != Validation::clear_string($username)){
$dataVueEreur[] = "Forbidden characters";
$username="";
}
if (!isset($pwd1)||$pwd1==="") {
$dataVueEreur[] ="All fields are required";
}
if($pwd1 != Validation::clear_string($pwd1)){
$dataVueEreur[] = "Forbidden characters";
$pwd1="";
}
if (!isset($pwd2)||$pwd2==="") {
$dataVueEreur[] ="All fields are required";
}
if($pwd2 != Validation::clear_string($pwd2)){
$dataVueEreur[] = "Forbidden characters";
$pwd2="";
}
if($pwd1 !== $pwd2){
$dataVueEreur[]="Invalid confirmation";
}
return $dataVueEreur;
}
if (!isset($chaine)||$chaine==""){ static function val_intitule($name, $dataVueEreur){
$dVueErreuR[] = "pas de chaine de charactère"; if (!isset($name)||$name==="") {
$chaine=""; $dataVueEreur[] ="Intitulé manquant";
}
if($name != Validation::clear_string($name)){
$dataVueEreur[] = "Forbidden characters";
$name="";
} }
return $dataVueEreur;
}
if (!$chaine != filter_var($chaine, FILTER_SANITIZE_STRING)){ static function clear_string($champ){
$dVueErreur[] = "tentative d'injection de code (attaque sécurité)"; return filter_var($champ, FILTER_SANITIZE_STRING);
$chaine=""; }
}
}
} }
?> ?>

@ -4,10 +4,10 @@ $rep = __DIR__ . '/../';
//$location = "Location : http://londres.uca.local/" Finir le chemin du public_html //$location = "Location : http://londres.uca.local/" Finir le chemin du public_html
$base="dbthchazot1"; //nom bdd $base="bddDeQualite"; //nom bdd
$login="thchazot1"; $login="root";
$password="achanger"; $password="root";
$dsn="mysql:host=localhost;dbname=dbthchazot1"; // chemin vers bd (mysql:host=londres.uca.local;dbname=dblibreton => pour l'iut) $dsn="mysql:host=localhost;port=8888;dbname=bddDeQualite"; // chemin vers bd (mysql:host=londres.uca.local;dbname=dblibreton => pour l'iut)
$vues['erreur'] = 'Vues/erreur.php'; $vues['erreur'] = 'Vues/erreur.php';

@ -1,29 +1,26 @@
<?php <?php
class frontController { class FrontController {
function __construct() { public function __construct(){
global $rep, $vues; $liste_actions_utilisateur = array('accessPrivateLists','crerListePv');
$liste_actions_visiteur = array('goHome','changeCompletedTache','accessCreationTachePage','addTache','delTache','accessListInfos','accessCreationListePage','accessInscription','accessConnectionPage','creerListe','delListe','connection','inscription','deconnection');
global $rep,$vues,$bd,$dataView,$styles,$assets;
session_start(); session_start();
$dVueErreur = array();
$listActionUser=array('delete', 'update', 'ajouterListeU', 'supprimerListeU', 'modifierListeU', 'ajouterTacheU', 'supprimerTacheU', 'modifierTacheU'); // actions à rajouter
try{ try{
$user = new mdlUser(); $user=$_SESSION??null;
if (isset($_REQUEST['action'])){ $action = $_REQUEST['action'];
$action = $_REQUEST['action'];
Validation::val_form($action, $dVueErreur); if (in_array($action,$liste_actions_utilisateur)){
} if($user == null){
if(in_array($action, $listActionUser)) { new VisitorController();
new userController(); } else {
new UserController();
}
} else{
new VisitorController();
} }
else { } catch (Exception $e){require ($rep.$vues['erreur']);}
new visitorController();
}
}
catch (Exception $e){
$dVueErreur[] = "Erreur FrontController";
require $rep.$vues['erreur'];
}
} }
} }

@ -1,5 +1,5 @@
<?php <?php
class userController { class UserController {
function __construct() function __construct()
{ {

@ -1,5 +1,5 @@
<?php <?php
class visitorController { class VisitorController {
function __construct() function __construct()
{ {
@ -13,18 +13,18 @@ class visitorController {
try { try {
$action = $_REQUEST['action']; $action = $_REQUEST['action'];
echo ($action);
switch($action) { switch($action) {
case NULL: case NULL:
echo ("WESH");
$this->Reinit(); $this->Reinit();
break; break;
case "connexion": case "connexion":
$this->ValidationFormulaireLogin($dVueEreur);
$this->Connexion($login, $mdp); $this->Connexion($login, $mdp);
break; break;
case "inscription": case "inscription":
$this->ValidationFormulaireLogin($dVueEreur);
$this->Inscription($login, $mdp); $this->Inscription($login, $mdp);
break; break;
@ -39,52 +39,62 @@ class visitorController {
} }
} }
function Reinit() { public function Reinit(){
global $rep,$vues; global $rep,$vues,$dataView,$styles;
$dVue = array ( $model = new MdlListe();
'username' => "", $dataView = $model->getPublicList();
'password' => "", require($rep.$vues['accueil']);
); $vues_erreur= array();
require ($rep.$vues['accueil']);
} }
function ValidationFormulaireLogin(array $dVueEreur){ public function Inscription(array $vues_erreur){
global $rep,$vues,$dataView;
global $rep, $vues; $username=$_POST['username'];
$username = $_POST['username']; $password=$_POST['password'];
$mdp = $_POST['password']; $confirm=$_POST['passwordconf'];
$model = new MdlUser();
Validation::val_form($username, $mdp, $dVueEreur); $vues_erreur=Validation::val_inscription($username,$password,$confirm,$vues_erreur);
if($model->existUser($username)){
$dVue = array ( $vues_erreur[]="Username already taken";
'username' => $username,
'password' => $mdp,
);
require ($rep.$vues['accueil']); //
}
function Inscription($username, $mdp){
$results = $this->$mdlUsr->insert($username, $mdp);
if($results != NULL) {
$_SESSION['username'] = $username;
$user = $this->$mdlUsr->getUserForConnection($username, $mdp);
require ($rep.$vues['accueil']);
return login ($rep.$vues['connexion']);
} }
if(empty($vues_erreur)){
$hash= password_hash($password,PASSWORD_DEFAULT);
$model->singUp($username,$hash);
$vues_erreur= array();
}
else{
require($rep.$vues['singUp']);
}
$_REQUEST['action']=null;
$this->reinit();
} }
function Connexion($username, $mdp){ public function Connexion(array $vues_erreur){
$user = $this->$mdlUsr->getUserForConnection($username, $mdp); global $rep,$vues,$dataView;
if($user != NULL) { $username=$_POST['login'];
$_SESSION['username'] = $username; $password=$_POST['mdp'];
require ($rep.$vues['accueil']); $vues_erreur=Validation::val_connexion($username,$password,$vues_erreur);
return $username; if(!empty($vues_erreur)){
require($rep.$vues['signIn']);
}
$model= new MdlUser();
if($model->existUser($username)){
if(password_verify($password,$model->getPasswordHash($username))){
$model->connexion($username);
$_REQUEST['action']=null;
$this->reinit();
$vues_erreur= array();
}
else{
$vues_erreur =array('username'=>$username,'password'=>$password);
require($rep.$vues['signIn']);
}
} }
else { else{
require ($rep.$vues['connexion']); $vues_erreur =array('username'=>$usrname,'password'=>$pwd);
require($rep.$vues['signIn']);
} }
} }
} }

@ -66,6 +66,45 @@ class ListeGateway
$results=$this->con->getResults(); $results=$this->con->getResults();
return $results; return $results;
} }
public function getPublicLists():array{
$listes = [];
$taches = null;
try {
$query = "SELECT * FROM Liste WHERE idCreator IS NULL";
$co->executeQuery($query, []);
$results = $this->con->getResults();
foreach($results as $row){
$idListe = $row['id'];
$queryTaches = "SELECT * FROM Tache WHERE idListe=:idListe";
$this->con->executeQuery($queryTaches, array(':idListe' => array($idListe, PDO::PARAM_INT)));
$resultsTaches = $co->getResults();
foreach($resultsTaches as $rowTaches){
if($rowTaches['complete']=="0"){
$taches[] = new Tache($rowTaches['id'], $rowTaches['nom'],false,$idListe);
}else{
$taches[] = new Tache($rowTaches['id'], $rowTaches['nom'],true,$idListe);
}
}
$listes[] = new Liste($row['id'], $row['nom'],null, $taches);
$taches = null;
}
}
catch(PDOException $Exception) {
echo 'erreur';
echo $Exception->getMessage();
}
return $listes;
}
} }
?> ?>

@ -9,11 +9,21 @@ class UserGateway
$this->con = $con; $this->con = $con;
} }
public function insert(User $u): void{ public function insert(User $u){
$query = "INSERT INTO Utilisateur VALUES (null, :username, :password)"; try{
$this->con->executeQuery($query, array(':username' => array($u->getUsername(), PDO::PARAM_STR), ':password' => array($u->getPassword(), PDO::PARAM_STR))); $query = "INSERT INTO Utilisateur VALUES (null, :username, :password)";
$this->con->executeQuery($query, array(':username' => array($u->getUsername(), PDO::PARAM_STR), ':password' => array($u->getPassword(), PDO::PARAM_STR)));
}
catch(PDOException $Exception){
echo 'erreur';
echo $Exception->getMessage();
return false;
}
return true;
} }
public function delete(User $u): void{ public function delete(User $u): void{
$query = "DELETE FROM Utilisateur where id=:id"; $query = "DELETE FROM Utilisateur where id=:id";
$this->con->executeQuery($query, array(':id' => array($u->getId(), PDO::PARAM_INT))); $this->con->executeQuery($query, array(':id' => array($u->getId(), PDO::PARAM_INT)));
@ -24,13 +34,6 @@ class UserGateway
$this->con->executeQuery($query, array(':id' => array($u->getId(), PDO::PARAM_INT), ':username' => array($u->getUsername(), PDO::PARAM_STR), ':password' => array($u->getPassword(), PDO::PARAM_STR))); $this->con->executeQuery($query, array(':id' => array($u->getId(), PDO::PARAM_INT), ':username' => array($u->getUsername(), PDO::PARAM_STR), ':password' => array($u->getPassword(), PDO::PARAM_STR)));
} }
public function findByNamePassword(string $username, string $password): array{
$query = "SELECT * FROM Utilisateur WHERE username=:username AND password=:password";
$this->con->executeQuery($query, array(':username' => array($username, PDO::PARAM_STR), ':password' => array($password, PDO::PARAM_STR)));
$results=$this->con->getResults();
return $results;
}
public function findByName(string $username): array{ public function findByName(string $username): array{
$query = "SELECT * FROM Utilisateur WHERE username=:username"; $query = "SELECT * FROM Utilisateur WHERE username=:username";
$this->con->executeQuery($query, array(':username' => array($username, PDO::PARAM_STR))); $this->con->executeQuery($query, array(':username' => array($username, PDO::PARAM_STR)));
@ -45,20 +48,16 @@ class UserGateway
return $results; return $results;
} }
/* function getHashedPassword(string $usrname):?string{
public function getTacheFromIdList(int $id): array{ $truePasswd=null;
$tabTaches=[]; $query="SELECT password FROM Utilisateur WHERE name=:name";
$query = "SELECT * FROM Tache t where idListe=:id"; $this->con->executeQuery($query,array('name'=>array($usrname,PDO::PARAM_STR)));
$this->con->executeQuery($query, array(':id' => array($id, PDO::PARAM_INT))); $results=$co->getResults();
$results=$this->con->getResults(); foreach($res as $row){
foreach ($results as $row) { $results=$row['pwd'];
$tabTaches[]=new Tache($row['id'], $row['name'], $row['content'], $row['completed']);
} }
return $tabTaches; return $truePasswd;
} }
*/
} }
?> ?>

@ -1,20 +1,14 @@
<html>
<body>
<?php <?php
require_once(__DIR__.'/controllers/FrontController.php');
require_once('config/Autoload.php'); // Chargement config
require_once(__DIR__.'/config/config.php');
// Autoload des classes
require_once(__DIR__.'/config/Autoload.php');
Autoload::charger(); Autoload::charger();
try{ // Construction du controleur
require("Vues/addTask.php"); //$cont=new FrontControleur();
} $cont= new FrontController();
catch( PDOException $Exception ) {
echo 'erreur';
echo $Exception->getMessage();
}
?> ?>
</body>
</html>

@ -70,6 +70,11 @@ class MdlListe{
} }
return $tabListe; return $tabListe;
} }
public function getPublicList(){
$gate=new ListeGateway($this->con);
return $gate->getPublicLists();
}
} }

@ -9,29 +9,17 @@ class MdlUser{
$this->con = $con; $this->con = $con;
} }
public function getUserForConnection(string $username, string $password): ?User{ public function connexion($login){
if (!empty($username) && !empty($password)){ $_SESSION['role'] = 'Utilisateur';
$gate=new UserGateway($this->con); $_SESSION['login'] = $login;
$results=$gate->findByNamePassword($username, $password);
if (!empty($results)){
$user=new User($results[0]['id'], $results[0]['username'], $results[0]['password']);
return $user;
}
}
return null;
} }
public function insert(string $username, string $password): ?User{ public function signUp($login, $mdp){
$gate=new UserGateway($this->con); $result=$this->con->insert($login, $mdp);
$results=$gate->findByName($username); if ($result==true){
if ($results==null){ $_SESSION['role'] = 'Utilisateur';
$u=new User(0, $username, $password); $_SESSION['login'] = $login;
$gate->insert($u);
$id=$gate->getLastId();
$u->setId($id[0]['oldId']);
return $u;
} }
return null;
} }
public function delete(User $user){ public function delete(User $user){
@ -52,6 +40,18 @@ class MdlUser{
$_SESSION = array(); $_SESSION = array();
} }
public function existUser(string $name):bool{
$gate=new UserGateway($this->con);
if($gate->findByName($name) != null){
return true;
}
return false;
}
public function getPasswordHash(string $usr){
return $con->getHashedPassword($usr);
}
} }

Loading…
Cancel
Save