3rd time parser repared! beware when we merge 💖

feature/afficheRox
Roxane ROSSETTO 1 year ago
parent c7df3cfa91
commit d0a30f6f59

@ -5,6 +5,7 @@ use Exception;
use metier\Article;
use metier\Flux;
use PDO;
use DateTime;
class ArticleGateway
{
private $con;
@ -22,17 +23,24 @@ class ArticleGateway
*/
public function getAllArticles():array
{
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),
try {
$query = 'INSERT INTO Article VALUES (:id,:title,:datePub,:description,:guid,:link,:mediaContent,:provenance);';
$this->con->executeQuery($query, array(':id' => array($article->getId(), PDO::PARAM_INT),
':title' => array($article->getTitle(), PDO::PARAM_STR),
':datePub' => array($article->getDate(), PDO::PARAM_STR),
':description' => array($article->getDescription(), PDO::PARAM_STR),
@ -40,12 +48,22 @@ class ArticleGateway
':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");
}
}
public function removeAllArticleForParser(){
try{
$query = 'DELETE FROM Article;';
$this->con->executeQuery($query);
}catch(\PDOException $p){
throw new Exception("Data is not delete.");
}
}
public function findArticleByFlux(int $flux){
$query = 'SELECT * FROM Article WHERE provenance = :flux;';

@ -61,8 +61,9 @@ class AdminControleur
global $twig;
$articleModel = new ArticleModel();
if (AdminModel::isAdmin()) {
$data = $articleModel->getArticles();
$dVue = [
'data' => $articleModel->findAllArticleByAllFlux()
'data' => $data
];
echo $twig->render('listArticleAdmin.html', [
'dVue' => $dVue,

@ -17,7 +17,7 @@ class FrontControleur
global $twig;
$router = new AltoRouter();
$router->setBasePath('~mapoint2/SAE/Php_RSS/fluxRSS/');
$router->setBasePath('~rorossetto/Php_RSS/fluxRSS/');
$router->map('GET', '/', 'UserControleur');
$router->map('GET|POST','/user/[a:action]?','UserControleur');
$router->map('GET|POST','/admin/[a:action]?','AdminControleur');

@ -7,10 +7,17 @@ class Flux
private int $id;
private string $flux;
public function __construct(string $flux, int $id=null){
$this->id =$id;
/**
* @param int $id
* @param string $flux
*/
public function __construct(int $id, string $flux)
{
$this->id = $id;
$this->flux = $flux;
}
/**
* @return string
*/

@ -36,7 +36,7 @@ class ArticleModel
foreach ($res as $row){
$tabArticle[] = new Article($row['id'], $row['title'],$row['datePub'],$row['description'],$row['guid'],$row['link'],$row['mediaContent'],$row['provenance'] );
}
$dicoFluxArticle[] = [$flux,$tabArticle];
$dicoFluxArticle = [$flux,$tabArticle];
return $dicoFluxArticle;
}
@ -47,8 +47,8 @@ class ArticleModel
$res = $gwFlux->findAllFlux();
foreach ($res as $row) {
$flux = new Flux($row['flux'], (int)($row['id']));
$tabFluxArticle[] = $this->findArticleByFluxAsStr($flux);
$flux = new Flux((int)($row['id']), $row['flux']);
$tabFluxArticle[] = $this->findArticleByFlux($flux);
}
return $tabFluxArticle;
}

@ -10,4 +10,5 @@ require '../../vendor/autoload.php';
$gwArt = new ArticleGateway(new Connection('mysql:host=londres.uca.local;dbname=dbrorossetto', 'rorossetto', 'tpphp'));
$gwFl = new FluxGateway(new Connection('mysql:host=londres.uca.local;dbname=dbrorossetto', 'rorossetto', 'tpphp'));
$pars = new Parser( $gwFl,$gwArt);
var_dump($pars);
$pars->addAllArticles();

@ -7,6 +7,10 @@
<body>
admin
{% for value in dVue.data %}
<p>
{{value}}
</p>
<!--
<div>
{{ value.0.getFlux() }}
<form method="post" action="deleteFlux">
@ -19,6 +23,7 @@ admin
</p>
{% endfor %}
</div>
-->
{% endfor %}
<a href="/~mapoint2/SAE/Php_RSS/fluxRSS/">Vue user</a>
<a href="/~mapoint2/SAE/Php_RSS/fluxRSS/admin/deconnection">Déconnection</a>

Loading…
Cancel
Save