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

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

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

@ -7,10 +7,17 @@ class Flux
private int $id; private int $id;
private string $flux; 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; $this->flux = $flux;
} }
/** /**
* @return string * @return string
*/ */

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

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

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

Loading…
Cancel
Save