|
|
@ -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;';
|
|
|
|