Merge branch 'master' of https://codefirst.iut.uca.fr/git/celles-qui-obtiendront-la-recompense/phpProject
commit
3213fb20e6
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
class Connection extends PDO {
|
||||
|
||||
private $stmt;
|
||||
|
||||
public function __construct(string $dsn, string $username, string $password) {
|
||||
|
||||
parent::__construct($dsn,$username,$password);
|
||||
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
}
|
||||
|
||||
|
||||
/** * @param string $query
|
||||
* @param array $parameters *
|
||||
* @return bool Returns `true` on success, `false` otherwise
|
||||
*/
|
||||
|
||||
public function executeQuery(string $query, array $parameters = []) : bool{
|
||||
$this->stmt = parent::prepare($query);
|
||||
foreach ($parameters as $name => $value) {
|
||||
$this->stmt->bindValue($name, $value[0], $value[1]);
|
||||
}
|
||||
|
||||
return $this->stmt->execute();
|
||||
}
|
||||
|
||||
public function getResults() : array {
|
||||
return $this->stmt->fetchall();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
require_once("Connection.php");
|
||||
|
||||
class ListeGateway {
|
||||
private $co;
|
||||
|
||||
public function __construct(Connection $co) {
|
||||
$this->co = $co;
|
||||
}
|
||||
|
||||
public function getByCreator(int $idUsr) : array {
|
||||
$listes = null;
|
||||
$taches = null;
|
||||
if(!empty($idUsr)){
|
||||
try {
|
||||
$co = $this->co;
|
||||
|
||||
$query = "SELECT idListe FROM HasList WHERE idUser=:idUser";
|
||||
|
||||
$co->executeQuery($query, array(':id' => array($id, PDO::PARAM_STR)));
|
||||
|
||||
$results = $co->getResults();
|
||||
|
||||
Foreach($results as $row){
|
||||
$idListe = $row['idListe'];
|
||||
$queryTaches = "SELECT t.* FROM Tache t, HasTache h WHERE t.id=h.idTache AND h.idListe=:idListe";
|
||||
$co->executeQuery($queryTaches, array(':idListe' => array($idListe, PDO::PARAM_STR)));
|
||||
$resultsTaches = $co->getResults();
|
||||
|
||||
Foreach($resultsTaches as $rowTaches){
|
||||
$taches[] = new Tache($rowTaches['id'], $rowTaches['intitule'], $rowTaches['isCompleted'], $rowTaches['description']);
|
||||
}
|
||||
|
||||
$listes[] = new Liste($row['id'], $row['nom'], $taches);
|
||||
$taches = null;
|
||||
}
|
||||
}
|
||||
catch(PDOException $Exception) {
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
}
|
||||
return $listes;
|
||||
}
|
||||
|
||||
public function creerTache(int $id, string $intitule, boolean $isCompleted){
|
||||
if(!empty($id) && !empty($intitutle)){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$query = "INSERT INTO Tache VALUES (:id, :intitule, :isCompleted)";
|
||||
|
||||
$co->executeQuery($query, array(':id' => array($id, PDO::PARAM_STR), ':intitule' => array($nom, PDO::PARAM_STR), ':isCompleted' => array($taches, PDO::PARAM_STR)));
|
||||
}
|
||||
catch(PDOException $Exception){
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function delTache(int $id){
|
||||
if(!empty($id)){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$query = "DELETE FROM Tache WHERE id=:id";
|
||||
|
||||
$co->executeQuery($query, array(':id' => array($id, PDO::PARAM_STR)));
|
||||
}
|
||||
catch(PDOException $Exception){
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function completeTache(int $id){
|
||||
if(!empty($id)){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$query = "UPDATE Tache SET isCompleted=true WHERE id=:id";
|
||||
|
||||
$co->executeQuery($query, array(':id' => array($id, PDO::PARAM_STR)));
|
||||
}
|
||||
catch(PDOException $Exception){
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -0,0 +1,152 @@
|
||||
<?php
|
||||
|
||||
require_once("Connection.php");
|
||||
require_once("Utilisateur.php");
|
||||
|
||||
class UserGateway {
|
||||
private $co;
|
||||
|
||||
public function __construct(Connection $co) {
|
||||
$this->co = $co;
|
||||
}
|
||||
|
||||
public function creerUtilisateur(int $id, string $nom, string $pwd){
|
||||
if(!empty($id) && !empty($nom) && empty($password)){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$query = "INSERT INTO Utilisateur VALUES (:id, :nom, :pwd)";
|
||||
|
||||
$co->executeQuery($query, array(':id' => array($id, PDO::PARAM_STR), ':nom' => array($nom, PDO::PARAM_STR), ':pwd' => array($pwd, PDO::PARAM_STR)));
|
||||
}
|
||||
catch(PDOException $Excception){
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function delUtilisateur(int $id){
|
||||
if(!empty($id)){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$query = "DELETE FROM Utilisateur WHERE id=:id";
|
||||
|
||||
$co->executeQuery($query, array(':id' => array($id, PDO::PARAM_STR)));
|
||||
}
|
||||
catch(PDOException $Exception){
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function putUtilisateur(Utilisateur $usr){
|
||||
if(!empty($usr.getId()) && !empty($usr.getNom()) && empty($usr.getPassword())){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$updateQuery = "UPDATE Utilisateur SET id=:id AND nom=:nom AND pwd=:pwd";
|
||||
$deleteQuery = "DELETE FROM HasList WHERE user=:id AND liste=:liste";
|
||||
$insertQuery = "INSERT INTO HasList VALUES (:id, :liste)";
|
||||
|
||||
$co->executeQuery($updateQuery, array(':id' => array($usr.getId(), PDO::PARAM_STR), ':nom' => array($usr.getNom(), PDO::PARAM_STR), ':pwd' => array($usr.getPassword(), PDO::PARAM_STR)));
|
||||
foreach($usr.getListListe() as $l){
|
||||
$co->executeQuery($deleteQuery, array(':id' => array($usr.getId(), PDO::PARAM_STR), ':liste' => array($l, PDO::PARAM_STR)));
|
||||
$co->executeQuery($insertQuery, array(':id' => array($usr.getId(), PDO::PARAM_STR), ':liste' => array($l, PDO::PARAM_STR)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
catch(PDOException $Excception){
|
||||
echo 'erreur';
|
||||
echo $Excception->getMesage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getUtilisateurById(int $id) : Utilisateur {
|
||||
$usr = null;
|
||||
if(!empty($id)){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$query = "SELECT * FROM Utilisateur WHERE id=:id";
|
||||
|
||||
$co->executeQuery($query, array(':id' => array($id, PDO::PARAM_STR)));
|
||||
|
||||
$results = $co->getResults();
|
||||
|
||||
Foreach($results as $row){
|
||||
$usr = new Utilisateur($row['id'], $row['nom'], $row['pwd']);
|
||||
}
|
||||
}
|
||||
catch(PDOException $Exception){
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
|
||||
}
|
||||
return $usr;
|
||||
}
|
||||
|
||||
public function getUtilisateurbyNameAndPassword(string $nom, string $pwd) : Utilisateur {
|
||||
$usr = null;
|
||||
if(!empty($nom) && !empty($password)){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$query = "SELECT * FROM Utilisateur WHERE nom=:nom AND pwd=:pwd";
|
||||
|
||||
$co->executeQuery($query, array(':nom' => array($nom, PDO::PARAM_STR), ':pwd' => array($pwd, PDO::PARAM_STR)));
|
||||
|
||||
$results = $co->getResults();
|
||||
|
||||
Foreach($results as $row){
|
||||
$usr = new Utilisateur($row['id'], $row['nom'], $row['pwd']);
|
||||
}
|
||||
}
|
||||
catch(PDOException $Exception){
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
}
|
||||
return $usr;
|
||||
}
|
||||
|
||||
public function creerListe(int $id, string $nom){
|
||||
if(!empty($id) && !empty($nom)){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$query = "INSERT INTO Liste VALUES (:id, :nom, :taches)";
|
||||
|
||||
$co->executeQuery($query, array(':id' => array($id, PDO::PARAM_STR), ':nom' => array($nom, PDO::PARAM_STR), ':taches' => array($taches, PDO::PARAM_STR)));
|
||||
}
|
||||
catch(PDOException $Exception){
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function delListe(int $id){
|
||||
if(!empty($id)){
|
||||
try{
|
||||
$co = $this->co;
|
||||
|
||||
$query = "DELETE FROM Tache WHERE id=:id";
|
||||
|
||||
$co->executeQuery($query, array(':id' => array($id, PDO::PARAM_STR)));
|
||||
}
|
||||
catch(PDOException $Exception){
|
||||
echo 'erreur';
|
||||
echo $Exception->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
class Liste {
|
||||
private int $id;
|
||||
private string $nom;
|
||||
private $taches;
|
||||
|
||||
function __construct(int $i, string $n, $t){
|
||||
$this->id=$i;
|
||||
$this->nom=$n;
|
||||
$this->taches=$t;
|
||||
}
|
||||
|
||||
function get_id(): int {
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
function get_nom(): string {
|
||||
return $this->nom;
|
||||
}
|
||||
|
||||
function get_taches(): array {
|
||||
return $this->taches;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
Class Tache {
|
||||
private int $id;
|
||||
private string $intitule;
|
||||
private boolean $isCompleted;
|
||||
private string $description;
|
||||
|
||||
function __construct(int $i, string $in, boolean $is, string $desc){
|
||||
$this->id = $i;
|
||||
$this->intitule = $in;
|
||||
$this->isCompleted = $is;
|
||||
$this->description = $desc;
|
||||
}
|
||||
|
||||
function get_id(): int {
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
function get_intitule(): string {
|
||||
return $this->intitule;
|
||||
}
|
||||
|
||||
function get_isCompleted(): boolean {
|
||||
return $this->isCompleted;
|
||||
}
|
||||
|
||||
function get_description(): string {
|
||||
return $this->description;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
Class Utilisateur {
|
||||
private int $id;
|
||||
private string $nom;
|
||||
private string $password;
|
||||
private $listListe;
|
||||
|
||||
function __construct(int $i, string $n, string $p, $liste) {
|
||||
$this->id=$i;
|
||||
$this->nom=$n;
|
||||
$this->password=$p;
|
||||
$this->listListe=$liste;
|
||||
}
|
||||
function get_id(): int {
|
||||
return $this->id;
|
||||
}
|
||||
function get_nom(): string {
|
||||
return $this->nom;
|
||||
}
|
||||
function get_password(): string {
|
||||
return $this->password;
|
||||
}
|
||||
function get_listListe(){
|
||||
return $this->get_listListe;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
@ -1,40 +0,0 @@
|
||||
<?php
|
||||
|
||||
class UserController{
|
||||
|
||||
public function __construct() {
|
||||
|
||||
// Code du controlleur
|
||||
|
||||
|
||||
//On démarre la session
|
||||
session_sart();
|
||||
|
||||
|
||||
try{
|
||||
$action = $_REQUEST['action'];
|
||||
switch($action){
|
||||
case NULL:
|
||||
$this->action();
|
||||
break;
|
||||
case "connection":
|
||||
$this->connection(/* valeurs du login et du mdp dans le formulaire */);
|
||||
break;
|
||||
}catch(PDOException $e){
|
||||
$dataView[]="Erreur inatendue";
|
||||
require(__DIR__.'/../vues/erreur.php');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function connection(string $login, string $password){
|
||||
|
||||
/* Doit faire:
|
||||
* vider les input du formulaire
|
||||
* vérifier avec la bd qu'il y a bien un user
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
Loading…
Reference in new issue