diff options
| author | 2012-12-08 13:28:53 +0100 | |
|---|---|---|
| committer | 2012-12-08 13:28:53 +0100 | |
| commit | ba37c6e06fc7db2d33eab0a5b120c0186039a1ca (patch) | |
| tree | 7f9ac69dddd0ac1d07781f7d267b6d6e0ef47a4c /app/models/Feed.php | |
| parent | acc0c6f424fb7d4a4ab8ac52995ac746b0c1c1a5 (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.php | 35 |
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; |
