From f528d2c3152e35dcfe66b3bf87322decd847d49d Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Sun, 10 Feb 2013 13:52:39 +0100 Subject: [PATCH] ajout export au format Uniflux --- app/configuration/routes.php | 7 ++++++ app/controllers/apiController.php | 38 +++++++++++++++++++++++++++++++ app/models/Entry.php | 15 ++++++++---- app/views/api/getFavorites.phtml | 3 +++ 4 files changed, 58 insertions(+), 5 deletions(-) create mode 100755 app/controllers/apiController.php create mode 100644 app/views/api/getFavorites.phtml diff --git a/app/configuration/routes.php b/app/configuration/routes.php index fa8c29b3f..2f36daa67 100644 --- a/app/configuration/routes.php +++ b/app/configuration/routes.php @@ -44,6 +44,13 @@ return array ( 'action' => 'main' ), + // API + array ( + 'route' => '/api/get_favorites', + 'controller' => 'api', + 'action' => 'getFavorites' + ), + // Entry array ( 'route' => '/articles/marquer.php\?id=([\w\d\-_]{6})&lu=([\d]{1})', diff --git a/app/controllers/apiController.php b/app/controllers/apiController.php new file mode 100755 index 000000000..88b968cb9 --- /dev/null +++ b/app/controllers/apiController.php @@ -0,0 +1,38 @@ +view->_useLayout (false); + + $entryDAO = new EntryDAO (); + $entryDAO->_nbItemsPerPage (-1); + + $entries_tmp = $entryDAO->listFavorites ('all', 'low_to_high'); + + $entries = array (); + + foreach ($entries_tmp as $e) { + $author = $e->author (); + $feed = $e->feed (true); + $content = 'Article publiƩ initialement sur ' . $feed->name () . ''; + if($author != '') { + $content .= ' par ' . $author; + } + $content .= ', mis en favoris dans FreshRSS'; + + $id = $e->id (); + $entries[$id] = array (); + $entries[$id]['title'] = $e->title (); + $entries[$id]['content'] = $content; + $entries[$id]['date'] = $e->date (true); + $entries[$id]['lastUpdate'] = $e->date (true); + $entries[$id]['tags'] = array (); + $entries[$id]['url'] = $e->link (); + $entries[$id]['type'] = 'url'; + } + + $this->view->entries = $entries; + } +} diff --git a/app/models/Entry.php b/app/models/Entry.php index d434e99f6..4cdcf8265 100755 --- a/app/models/Entry.php +++ b/app/models/Entry.php @@ -250,12 +250,17 @@ class EntryDAO extends Model_pdo { $res = $stm->fetchAll (PDO::FETCH_ASSOC); $this->nbItems = $res[0]['count']; - $deb = ($this->currentPage - 1) * $this->nbItemsPerPage; - $fin = $this->nbItemsPerPage; + if($this->nbItemsPerPage < 0) { + $sql = 'SELECT * FROM entry' . $where + . ' ORDER BY date' . $order; + } else { + $deb = ($this->currentPage - 1) * $this->nbItemsPerPage; + $fin = $this->nbItemsPerPage; - $sql = 'SELECT * FROM entry' . $where - . ' ORDER BY date' . $order - . ' LIMIT ' . $deb . ', ' . $fin; + $sql = 'SELECT * FROM entry' . $where + . ' ORDER BY date' . $order + . ' LIMIT ' . $deb . ', ' . $fin; + } $stm = $this->bd->prepare ($sql); $stm->execute (); diff --git a/app/views/api/getFavorites.phtml b/app/views/api/getFavorites.phtml new file mode 100644 index 000000000..8eb0774f2 --- /dev/null +++ b/app/views/api/getFavorites.phtml @@ -0,0 +1,3 @@ +entries); +?>