💩 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
namespace DAL;
use Exception;
use metier\Article;
use PDO;
class ArticleGateway
@ -15,22 +16,36 @@ class ArticleGateway
$this->con = $con;
}
/**
* @throws Exception
*/
public function getAllArticles():array
{
$query = 'SELECT * FROM Article;';
$this->con->executeQuery($query, array());
return $this->con->getResults();
try {
$query = 'SELECT * FROM Article;';
$this->con->executeQuery($query, array());
return $this->con->getResults();
}catch (\PDOException $e){
throw new Exception("PDO error");
}
}
/**
* @throws Exception
*/
public function addArticle(Article $article){
$query = 'INSERT INTO Article VALUES (:id,:title,to_date(:date,"Dy, DD Mon YYYY"),:description,:guid,:link,:mediaContent,:provenance);';
$this->con->executeQuery($query, array( ':id' => array($article->getId(), PDO::PARAM_STR),
':title' => array($article->getTitle(), PDO::PARAM_STR),
':date' => array($article->getDate(),PDO::PARAM_STR),
':description' => array($article->getDescription(),PDO::PARAM_STR),
':guid' => array($article->getGuid(),PDO::PARAM_STR),
':link' => array($article->getLink(),PDO::PARAM_STR),
':mediaContent' => array($article->getMediaContent(),PDO::PARAM_STR),
':provenance' => array($article->getProvenance(),PDO::PARAM_INT)));
try {
$query = 'INSERT INTO Article VALUES (:id,:title,to_date(:date,"Dy, DD Mon YYYY"),:description,:guid,:link,:mediaContent,:provenance);';
$this->con->executeQuery($query, array(':id' => array($article->getId(), PDO::PARAM_STR),
':title' => array($article->getTitle(), PDO::PARAM_STR),
':date' => array($article->getDate(), PDO::PARAM_STR),
':description' => array($article->getDescription(), PDO::PARAM_STR),
':guid' => array($article->getGuid(), PDO::PARAM_STR),
':link' => array($article->getLink(), PDO::PARAM_STR),
':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){
$query = 'INSERT INTO Flux VALUES (:flux);';
$this->con->executeQuery($query, array(':flux' => array($flux->getFlux(), PDO::PARAM_STR)));
try{
$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){
$query = 'DELETE FROM Flux WHERE flux = :flux;';
$this->con->executeQuery($query, array(':flux' => array($flux->getFlux(), PDO::PARAM_STR)));
try{
$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(){
$query = 'SELECT * FROM Flux;';
$this->con->executeQuery($query);
return $this->con->getResults();
try{
$query = 'SELECT * FROM Flux;';
$this->con->executeQuery($query);
return $this->con->getResults();
}catch (\PDOException $e){
throw new \Exception("PDO error");
}
}
public function findFlux(Flux $flux){
@ -34,8 +46,12 @@ class FluxGateway
}
public function findFluxBySrc(string $flux){
$query = 'SELECT * FROM Flux WHERE flux = :flux;';
$this->con->executeQuery($query, array(':flux' => array($flux, PDO::PARAM_STR)));
return $this->con->getResults();
try{
$query = 'SELECT * FROM Flux WHERE flux = :flux;';
$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/",
"config\\": "config/",
"model\\": "model/",
"DAL\\": "DAL/"
"DAL\\": "DAL/",
"metier\\": "metier/"
}
}
}

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

@ -1,4 +1,5 @@
<?php
echo "hey";
//chargement config
require_once __DIR__ . '/config/config.php';
@ -14,3 +15,5 @@ $twig = new \Twig\Environment($loader, [
]);
$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;
use DAL\{ArticleGateway,Connection};
use DAL\{AdminGateway, ArticleGateway, Connection};
use metier;
require ('../DAL/ArticleGateway.php');
require ('../DAL/Connection.php');
class ArticleModel
{
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();
foreach($res as $row){
$tabArticle[] = new metier\Article($row['id'], $row['title'],$row['datePub'],$row['description'],$row['guid'],$row['link'],$row['mediaContent'],$row['provenance'] );
}
return $tabArticle;
}
}
}
var_dump(ArticleModel::getArticles());

@ -10,7 +10,7 @@ require_once "config/config.php";
class FluxModel
{
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();
$result = $gateway->findAllFlux();
@ -21,7 +21,7 @@ class FluxModel
}
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);
if ($data == array()) {
$gateway->addFlux($flux);
@ -29,26 +29,26 @@ class FluxModel
}
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);
$gateway->addFlux($newFlux);
return $newFlux;
}
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);
}
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);
$gateway->removeFlux($newFlux);
return $newFlux;
}
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();
$result = $gateway->findFlux($flux);
@ -59,7 +59,7 @@ class FluxModel
}
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();
$result = $gateway->findFluxBySrc($flux);

Loading…
Cancel
Save