aboutsummaryrefslogtreecommitdiff
path: root/app/models/Feed.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2012-12-08 13:28:53 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2012-12-08 13:28:53 +0100
commitba37c6e06fc7db2d33eab0a5b120c0186039a1ca (patch)
tree7f9ac69dddd0ac1d07781f7d267b6d6e0ef47a4c /app/models/Feed.php
parentacc0c6f424fb7d4a4ab8ac52995ac746b0c1c1a5 (diff)
optimisation de la mise à jour des flux --> attention, modification de la BDD nécessaire
Diffstat (limited to 'app/models/Feed.php')
-rw-r--r--app/models/Feed.php35
1 files changed, 34 insertions, 1 deletions
diff --git a/app/models/Feed.php b/app/models/Feed.php
index c88a4d527..2db9af40d 100644
--- a/app/models/Feed.php
+++ b/app/models/Feed.php
@@ -7,6 +7,7 @@ class Feed extends Model {
private $name = '';
private $website = '';
private $description = '';
+ private $lastUpdate = 0;
public function __construct ($url) {
$this->_url ($url);
@@ -37,6 +38,9 @@ class Feed extends Model {
public function description () {
return $this->description;
}
+ public function lastUpdate () {
+ return $this->lastUpdate;
+ }
public function nbEntries () {
$feedDAO = new FeedDAO ();
return $feedDAO->countEntries ($this->id ());
@@ -74,6 +78,9 @@ class Feed extends Model {
}
$this->description = $value;
}
+ public function _lastUpdate ($value) {
+ $this->lastUpdate = $value;
+ }
public function load () {
if (!is_null ($this->url)) {
@@ -130,7 +137,7 @@ class Feed extends Model {
class FeedDAO extends Model_pdo {
public function addFeed ($valuesTmp) {
- $sql = 'INSERT INTO feed (id, url, category, name, website, description) VALUES(?, ?, ?, ?, ?, ?)';
+ $sql = 'INSERT INTO feed (id, url, category, name, website, description, lastUpdate) VALUES(?, ?, ?, ?, ?, ?, ?)';
$stm = $this->bd->prepare ($sql);
$values = array (
@@ -140,6 +147,7 @@ class FeedDAO extends Model_pdo {
$valuesTmp['name'],
$valuesTmp['website'],
$valuesTmp['description'],
+ $valuesTmp['lastUpdate'],
);
if ($stm && $stm->execute ($values)) {
@@ -171,6 +179,22 @@ class FeedDAO extends Model_pdo {
}
}
+ public function updateLastUpdate ($id) {
+ $sql = 'UPDATE feed SET lastUpdate=? WHERE id=?';
+ $stm = $this->bd->prepare ($sql);
+
+ $values = array (
+ time (),
+ $id
+ );
+
+ if ($stm && $stm->execute ($values)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
public function deleteFeed ($id) {
$sql = 'DELETE FROM feed WHERE id=?';
$stm = $this->bd->prepare ($sql);
@@ -209,6 +233,14 @@ class FeedDAO extends Model_pdo {
return HelperFeed::daoToFeed ($stm->fetchAll (PDO::FETCH_ASSOC));
}
+ public function listFeedsOrderUpdate () {
+ $sql = 'SELECT * FROM feed ORDER BY lastUpdate';
+ $stm = $this->bd->prepare ($sql);
+ $stm->execute ();
+
+ return HelperFeed::daoToFeed ($stm->fetchAll (PDO::FETCH_ASSOC));
+ }
+
public function listByCategory ($cat) {
$sql = 'SELECT * FROM feed WHERE category=? ORDER BY name';
$stm = $this->bd->prepare ($sql);
@@ -254,6 +286,7 @@ class HelperFeed {
$list[$key]->_name ($dao['name']);
$list[$key]->_website ($dao['website']);
$list[$key]->_description ($dao['description']);
+ $list[$key]->_lastUpdate ($dao['lastUpdate']);
}
return $list;