aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-03-17 21:47:25 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-03-17 21:47:25 +0100
commit1c57c2b7bdf360728abd61b19ead39e390cfb250 (patch)
treeb70415fd04998ed9418ce52c0484b50b0522c9e1
parentcaf8d18c1d887f0c918ba181d1c48d9e08af6ea0 (diff)
Changement API : export (Uniflux) du flux public à la place du flux des favoris avec content = notes et gestion des tags
-rwxr-xr-xapp/controllers/apiController.php24
-rwxr-xr-xapp/controllers/entryController.php4
-rwxr-xr-xapp/models/Entry.php17
-rw-r--r--app/views/api/getPublicFeed.phtml (renamed from app/views/api/getFavorites.phtml)0
4 files changed, 34 insertions, 11 deletions
diff --git a/app/controllers/apiController.php b/app/controllers/apiController.php
index 5ef0f5b03..bc08386b5 100755
--- a/app/controllers/apiController.php
+++ b/app/controllers/apiController.php
@@ -7,29 +7,33 @@ class apiController extends ActionController {
$this->view->_useLayout (false);
}
- public function getFavoritesAction () {
+ public function getPublicFeedAction () {
$entryDAO = new EntryDAO ();
$entryDAO->_nbItemsPerPage (-1);
- $entries_tmp = $entryDAO->listFavorites ('all', 'low_to_high');
+ $entries_tmp = $entryDAO->listPublic ('low_to_high');
$entries = array ();
foreach ($entries_tmp as $e) {
$author = $e->author ();
- $feed = $e->feed (true);
- $content = 'Article publié initialement sur <a href="' . $feed->website () . '">' . $feed->name () . '</a>';
- if($author != '') {
- $content .= ' par ' . $author;
+
+ $notes = $e->notes ();
+ if ($notes == '') {
+ $feed = $e->feed (true);
+ $notes = 'Article publié initialement sur <a href="' . $feed->website () . '">' . $feed->name () . '</a>';
+ if($author != '') {
+ $notes .= ' par ' . $author;
+ }
+ $notes .= ', mis en favoris dans <a href="https://github.com/marienfressinaud/FreshRSS">FreshRSS</a>';
}
- $content .= ', mis en favoris dans <a href="https://github.com/marienfressinaud/FreshRSS">FreshRSS</a>';
$id = $e->id ();
$entries[$id] = array ();
$entries[$id]['title'] = $e->title ();
- $entries[$id]['content'] = $content;
+ $entries[$id]['content'] = $notes;
$entries[$id]['date'] = $e->date (true);
- $entries[$id]['lastUpdate'] = $e->date (true);
- $entries[$id]['tags'] = array ();
+ $entries[$id]['lastUpdate'] = $e->lastUpdate (true);
+ $entries[$id]['tags'] = $e->tags ();
$entries[$id]['url'] = $e->link ();
$entries[$id]['type'] = 'url';
}
diff --git a/app/controllers/entryController.php b/app/controllers/entryController.php
index f5277fa6d..d812587cf 100755
--- a/app/controllers/entryController.php
+++ b/app/controllers/entryController.php
@@ -89,6 +89,7 @@ class entryController extends ActionController {
if ($entry != false) {
$values = array (
'is_favorite' => $is_fav,
+ 'lastUpdate' => time ()
);
$entryDAO->updateEntry ($entry->id (), $values);
@@ -119,7 +120,8 @@ class entryController extends ActionController {
$values = array (
'annotation' => $note,
- 'is_public' => $public
+ 'is_public' => $public,
+ 'lastUpdate' => time ()
);
if ($entryDAO->updateEntry ($id, $values)) {
diff --git a/app/models/Entry.php b/app/models/Entry.php
index d97cad408..3e90db289 100755
--- a/app/models/Entry.php
+++ b/app/models/Entry.php
@@ -442,6 +442,23 @@ class EntryDAO extends Model_pdo {
return HelperEntry::daoToEntry ($stm->fetchAll (PDO::FETCH_ASSOC));
}
+ public function listPublic ($order = 'high_to_low') {
+ $where = ' WHERE is_public=1';
+
+ if ($order == 'low_to_high') {
+ $order = ' DESC';
+ } else {
+ $order = '';
+ }
+
+ $sql = 'SELECT * FROM entry' . $where . ' ORDER BY date' . $order;
+
+ $stm = $this->bd->prepare ($sql);
+ $stm->execute ();
+
+ return HelperEntry::daoToEntry ($stm->fetchAll (PDO::FETCH_ASSOC));
+ }
+
public function listByCategory ($cat, $mode, $search = false, $order = 'high_to_low') {
$where = ' WHERE category=?';
if ($mode == 'not_read') {
diff --git a/app/views/api/getFavorites.phtml b/app/views/api/getPublicFeed.phtml
index 8eb0774f2..8eb0774f2 100644
--- a/app/views/api/getFavorites.phtml
+++ b/app/views/api/getPublicFeed.phtml