💩 ajout de admin et modif ArticleModel

pull/6/head
maxime.point2 1 year ago
parent 2bfceb3b6d
commit 0ffbfc39b2

@ -0,0 +1,27 @@
<?php
namespace DAL;
class AdminGateway
{
private $con;
/**
* @param $con
*/
public function __construct($con)
{
$this->con = $con;
}
public function login(string $login):array
{
try{
$query = 'SELECT mdp,mail FROM Admin WHERE login = :login;';
$this->con->executeQuery($query, array(':flux' => array($login, PDO::PARAM_STR)));
return $this->con->getResults();
}catch (\PDOException $e){
throw new \Exception("PDO error");
}
}
}

@ -1,6 +1,7 @@
<?php <?php
namespace DAL; namespace DAL;
use Exception;
use metier\Article; use metier\Article;
use PDO; use PDO;
class ArticleGateway class ArticleGateway
@ -15,22 +16,36 @@ class ArticleGateway
$this->con = $con; $this->con = $con;
} }
/**
* @throws Exception
*/
public function getAllArticles():array public function getAllArticles():array
{ {
$query = 'SELECT * FROM Article;'; try {
$this->con->executeQuery($query, array()); $query = 'SELECT * FROM Article;';
return $this->con->getResults(); $this->con->executeQuery($query, array());
return $this->con->getResults();
}catch (\PDOException $e){
throw new Exception("PDO error");
}
} }
/**
* @throws Exception
*/
public function addArticle(Article $article){ public function addArticle(Article $article){
$query = 'INSERT INTO Article VALUES (:id,:title,to_date(:date,"Dy, DD Mon YYYY"),:description,:guid,:link,:mediaContent,:provenance);'; try {
$this->con->executeQuery($query, array( ':id' => array($article->getId(), PDO::PARAM_STR), $query = 'INSERT INTO Article VALUES (:id,:title,to_date(:date,"Dy, DD Mon YYYY"),:description,:guid,:link,:mediaContent,:provenance);';
':title' => array($article->getTitle(), PDO::PARAM_STR), $this->con->executeQuery($query, array(':id' => array($article->getId(), PDO::PARAM_STR),
':date' => array($article->getDate(),PDO::PARAM_STR), ':title' => array($article->getTitle(), PDO::PARAM_STR),
':description' => array($article->getDescription(),PDO::PARAM_STR), ':date' => array($article->getDate(), PDO::PARAM_STR),
':guid' => array($article->getGuid(),PDO::PARAM_STR), ':description' => array($article->getDescription(), PDO::PARAM_STR),
':link' => array($article->getLink(),PDO::PARAM_STR), ':guid' => array($article->getGuid(), PDO::PARAM_STR),
':mediaContent' => array($article->getMediaContent(),PDO::PARAM_STR), ':link' => array($article->getLink(), PDO::PARAM_STR),
':provenance' => array($article->getProvenance(),PDO::PARAM_INT))); ':mediaContent' => array($article->getMediaContent(), PDO::PARAM_STR),
':provenance' => array($article->getProvenance(), PDO::PARAM_INT)));
}catch (\PDOException $e){
throw new Exception("PDO error");
}
} }
} }

@ -14,19 +14,31 @@ class FluxGateway
} }
public function addFlux($flux){ public function addFlux($flux){
$query = 'INSERT INTO Flux VALUES (:flux);'; try{
$this->con->executeQuery($query, array(':flux' => array($flux->getFlux(), PDO::PARAM_STR))); $query = 'INSERT INTO Flux VALUES (:flux);';
$this->con->executeQuery($query, array(':flux' => array($flux->getFlux(), PDO::PARAM_STR)));
}catch (\PDOException $e){
throw new \Exception("PDO error");
}
} }
public function removeFlux($flux){ public function removeFlux($flux){
$query = 'DELETE FROM Flux WHERE flux = :flux;'; try{
$this->con->executeQuery($query, array(':flux' => array($flux->getFlux(), PDO::PARAM_STR))); $query = 'DELETE FROM Flux WHERE flux = :flux;';
$this->con->executeQuery($query, array(':flux' => array($flux->getFlux(), PDO::PARAM_STR)));
}catch (\PDOException $e){
throw new \Exception("PDO error");
}
} }
public function findAllFlux(){ public function findAllFlux(){
$query = 'SELECT * FROM Flux;'; try{
$this->con->executeQuery($query); $query = 'SELECT * FROM Flux;';
return $this->con->getResults(); $this->con->executeQuery($query);
return $this->con->getResults();
}catch (\PDOException $e){
throw new \Exception("PDO error");
}
} }
public function findFlux(Flux $flux){ public function findFlux(Flux $flux){
@ -34,8 +46,12 @@ class FluxGateway
} }
public function findFluxBySrc(string $flux){ public function findFluxBySrc(string $flux){
$query = 'SELECT * FROM Flux WHERE flux = :flux;'; try{
$this->con->executeQuery($query, array(':flux' => array($flux, PDO::PARAM_STR))); $query = 'SELECT * FROM Flux WHERE flux = :flux;';
return $this->con->getResults(); $this->con->executeQuery($query, array(':flux' => array($flux, PDO::PARAM_STR)));
return $this->con->getResults();
}catch (\PDOException $e){
throw new \Exception("PDO error");
}
} }
} }

@ -9,7 +9,8 @@
"controleur\\": "controleur/", "controleur\\": "controleur/",
"config\\": "config/", "config\\": "config/",
"model\\": "model/", "model\\": "model/",
"DAL\\": "DAL/" "DAL\\": "DAL/",
"metier\\": "metier/"
} }
} }
} }

@ -9,7 +9,6 @@ class Controleur
{ {
global $twig; // nécessaire pour utiliser variables globales global $twig; // nécessaire pour utiliser variables globales
session_start(); session_start();
$tabArticle[] = ArticleModel::getArticles();
//debut //debut
//on initialise un tableau d'erreur //on initialise un tableau d'erreur
@ -30,6 +29,7 @@ class Controleur
//mauvaise action //mauvaise action
default: default:
$tabArticle[] = ArticleModel::getArticles();
$dVueEreur[] = "Erreur d'appel php"; $dVueEreur[] = "Erreur d'appel php";
$dataview = ['Article'=> $tabArticle]; $dataview = ['Article'=> $tabArticle];
echo $twig->render('listArticle.html', ['tabArticle' => $dataview, 'dVueErreur'=>$dVueEreur]); echo $twig->render('listArticle.html', ['tabArticle' => $dataview, 'dVueErreur'=>$dVueEreur]);

@ -1,4 +1,5 @@
<?php <?php
echo "hey";
//chargement config //chargement config
require_once __DIR__ . '/config/config.php'; require_once __DIR__ . '/config/config.php';
@ -14,3 +15,5 @@ $twig = new \Twig\Environment($loader, [
]); ]);
$cont = new Controleur(); $cont = new Controleur();

@ -0,0 +1,25 @@
<?php
namespace model;
use metier\Admin;
class AdminModel
{
public function connection (string $username, string $mdp){
//Validation::validationLogin($login);
//Validation::validationMdp($mdp);
$gwArticle = new AdminGateway(new Connection('mysql:host= londres.uca.local ; dbname= dbrorossetto', 'rorossetto', 'tpphp'));
$lmdp = $gwArticle->login($username);
foreach ($lmdp as $motDePasse){
if (password_verify($mdp,$motDePasse['mdp'])){
$_SESSION['role'] = 'admin';
$_SESSION['pseudo'] = $username;
return new Admin($username,$motDePasse['mail']);
}
}
return null;
}
}

@ -2,18 +2,23 @@
namespace model; namespace model;
use DAL\{ArticleGateway,Connection}; use DAL\{AdminGateway, ArticleGateway, Connection};
use metier; use metier;
require ('../DAL/ArticleGateway.php');
require ('../DAL/Connection.php');
class ArticleModel class ArticleModel
{ {
public static function getArticles() : array public static function getArticles() : array
{ {
$gwArticle = new ArticleGateway(new Connection('mysql:host = localhost; dbname = dbrorossetto', 'rorossetto', 'tpphp')); $gwArticle = new ArticleGateway(new Connection('mysql:host= londres.uca.local ; dbname= dbrorossetto', 'rorossetto', 'tpphp'));
$tabArticle = array();
$res = $gwArticle->getAllArticles(); $res = $gwArticle->getAllArticles();
foreach($res as $row){ foreach($res as $row){
$tabArticle[] = new metier\Article($row['id'], $row['title'],$row['datePub'],$row['description'],$row['guid'],$row['link'],$row['mediaContent'],$row['provenance'] ); $tabArticle[] = new metier\Article($row['id'], $row['title'],$row['datePub'],$row['description'],$row['guid'],$row['link'],$row['mediaContent'],$row['provenance'] );
} }
return $tabArticle; return $tabArticle;
} }
} }
var_dump(ArticleModel::getArticles());

@ -10,7 +10,7 @@ require_once "config/config.php";
class FluxModel class FluxModel
{ {
public function FindAllFlux(){ public function FindAllFlux(){
$gateway = new FluxGateway(new Connection( $base, $login, $mdp)); $gateway = new FluxGateway(new Connection('mysql:host= londres.uca.local ; dbname= dbrorossetto', 'rorossetto', 'tpphp'));
$data = array(); $data = array();
$result = $gateway->findAllFlux(); $result = $gateway->findAllFlux();
@ -21,7 +21,7 @@ class FluxModel
} }
public function addFlux(Flux $flux){ public function addFlux(Flux $flux){
$gateway = new FluxGateway(new Connection( $base, $login, $mdp)); $gateway = new FluxGateway(new Connection('mysql:host= londres.uca.local ; dbname= dbrorossetto', 'rorossetto', 'tpphp'));
$data = $this->findFlux($flux); $data = $this->findFlux($flux);
if ($data == array()) { if ($data == array()) {
$gateway->addFlux($flux); $gateway->addFlux($flux);
@ -29,26 +29,26 @@ class FluxModel
} }
public function addFluxBySrc(string $flux): Flux { public function addFluxBySrc(string $flux): Flux {
$gateway = new FluxGateway(new Connection( $base, $login, $mdp)); $gateway = new FluxGateway(new Connection('mysql:host= londres.uca.local ; dbname= dbrorossetto', 'rorossetto', 'tpphp'));
$newFlux = new Flux($flux); $newFlux = new Flux($flux);
$gateway->addFlux($newFlux); $gateway->addFlux($newFlux);
return $newFlux; return $newFlux;
} }
public function removeFlux(Flux $flux){ public function removeFlux(Flux $flux){
$gateway = new FluxGateway(new Connection( $base, $login, $mdp)); $gateway = new FluxGateway(new Connection('mysql:host= londres.uca.local ; dbname= dbrorossetto', 'rorossetto', 'tpphp'));
$gateway->removeFlux($flux); $gateway->removeFlux($flux);
} }
public function removeFluxBySrc(string $flux): Flux { public function removeFluxBySrc(string $flux): Flux {
$gateway = new FluxGateway(new Connection( $base, $login, $mdp)); $gateway = new FluxGateway(new Connection('mysql:host= londres.uca.local ; dbname= dbrorossetto', 'rorossetto', 'tpphp'));
$newFlux = new Flux($flux); $newFlux = new Flux($flux);
$gateway->removeFlux($newFlux); $gateway->removeFlux($newFlux);
return $newFlux; return $newFlux;
} }
public function findFlux(Flux $flux){ public function findFlux(Flux $flux){
$gateway = new FluxGateway(new Connection( $base, $login, $mdp)); $gateway = new FluxGateway(new Connection('mysql:host= londres.uca.local ; dbname= dbrorossetto', 'rorossetto', 'tpphp'));
$data = array(); $data = array();
$result = $gateway->findFlux($flux); $result = $gateway->findFlux($flux);
@ -59,7 +59,7 @@ class FluxModel
} }
public function findFluxBySrc(string $flux){ public function findFluxBySrc(string $flux){
$gateway = new FluxGateway(new Connection( $base, $login, $mdp)); $gateway = new FluxGateway(new Connection('mysql:host= londres.uca.local ; dbname= dbrorossetto', 'rorossetto', 'tpphp'));
$data = array(); $data = array();
$result = $gateway->findFluxBySrc($flux); $result = $gateway->findFluxBySrc($flux);

Loading…
Cancel
Save