feature/article #3

Merged
maxime.point2 merged 7 commits from feature/article into pre-master 1 year ago

@ -1,7 +1,7 @@
<?php
namespace DAL;
use App\modeles\Article;
use metier\Article;
use PDO;
class ArticleGateway
{
@ -22,4 +22,15 @@ class ArticleGateway
return $this->con->getResults();
}
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)));
}
}

@ -2,7 +2,39 @@
namespace DAL;
use PDO;
class FluxGateway
{
private Connection $con;
public function __construct(Connection $con){
$this->con = $con;
}
public function addFlux($flux){
$query = 'INSERT INTO Flux VALUES (:flux);';
$this->con->executeQuery($query, array(':flux' => array($flux->getFlux(), PDO::PARAM_STR)));
}
public function removeFlux($flux){
$query = 'DELETE FROM Flux WHERE flux = :flux;';
$this->con->executeQuery($query, array(':flux' => array($flux->getFlux(), PDO::PARAM_STR)));
}
public function findAllFlux(){
$query = 'SELECT * FROM Flux;';
$this->con->executeQuery($query);
return $this->con->getResults();
}
public function findFlux(Flux $flux){
return $this->findFluxBySrc($flux->getFlux());
}
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();
}
}

@ -9,6 +9,6 @@ $rep = __DIR__ . '/../';
//BD
$base = 'sasa';
$login = '';
$mdp = '';
$base = 'dbrorossetto';
$login = 'rorossetto';
$mdp = 'tpphp';

@ -4,5 +4,21 @@ namespace metier;
class Flux
{
private string $flux;
/**
* @return string
*/
public function getFlux(): string
{
return $this->flux;
}
/**
* @param string $flux
*/
public function setFlux(string $flux): void
{
$this->flux = $flux;
}
}

@ -4,11 +4,13 @@ namespace model;
use DAL;
use metier;
require_once "config/config.php";
class ArticleModel
{
public static function getArticles() : array
{
$gwArticle = new DAL\ArticleGateway(new DAL\Connection('mysql:host = localhost; dbname = dbrorossetto', 'rorossetto', 'tpphp'));
$gwArticle = new DAL\ArticleGateway(new DAL\Connection( $base, $login, $mdp));
$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'] );

@ -2,7 +2,67 @@
namespace model;
use DAL\FluxGateway;
use metier\Flux;
class FluxModel
{
private FluxGateway $gateway;
public function __construct(FluxGateway $fluxGateway){
$this->gateway = $fluxGateway;
}
public function FindAllFlux(){
$data = array();
$result = $this->gateway->findAllFlux();
foreach ($result as $row){
$data[] = new Flux($row['$flux']);
}
return $data;
}
public function addFlux(Flux $flux)
{
$data = $this->findFlux($flux);
if ($data == array()) {
$this->gateway->addFlux($flux);
}
}
public function addFluxBySrc(string $flux): Flux {
$newFlux = new Flux($flux);
$this->gateway->addFlux($newFlux);
return $newFlux;
}
public function removeFlux(Flux $flux){
$this->gateway->removeFlux($flux);
}
public function removeFluxBySrc(string $flux): Flux {
$newFlux = new Flux($flux);
$this->gateway->removeFlux($newFlux);
return $newFlux;
}
public function findFlux(Flux $flux){
$data = array();
$result = $this->gateway->findFlux($flux);
foreach ($result as $row){
$data[] = new Flux($row['$flux']);
}
return $data;
}
public function findFluxBySrc(string $flux){
$data = array();
$result = $this->gateway->findFluxBySrc($flux);
foreach ($result as $row){
$data[] = new Flux($row['$flux']);
}
return $data;
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save