aboutsummaryrefslogtreecommitdiff
path: root/app/models/Entry.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2012-10-23 18:29:43 +0200
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2012-10-23 18:29:43 +0200
commitfca236dc6d6ff6e09182c560f3566904cbc7a70a (patch)
tree850bfab52359702dad2a9eccd03f01b5c68c9bcb /app/models/Entry.php
parent9a95cb844e80512205c519da69ec373e046b7f52 (diff)
affichage par catégories + meilleur exportation opml
Diffstat (limited to 'app/models/Entry.php')
-rwxr-xr-xapp/models/Entry.php56
1 files changed, 36 insertions, 20 deletions
diff --git a/app/models/Entry.php b/app/models/Entry.php
index 67d255c55..dbbdc1362 100755
--- a/app/models/Entry.php
+++ b/app/models/Entry.php
@@ -133,31 +133,44 @@ class EntryDAO extends Model_array {
}
}
- public function listEntries () {
+ public function listEntries ($mode) {
$list = $this->array;
if (!is_array ($list)) {
$list = array ();
}
- return HelperEntry::daoToEntry ($list);
+ return HelperEntry::daoToEntry ($list, $mode);
}
- public function listNotReadEntries () {
+ public function listFavorites ($mode) {
$list = $this->array;
- $list_not_read = array ();
if (!is_array ($list)) {
$list = array ();
}
- foreach ($list as $key => $entry) {
- if (!$entry['is_read']) {
- $list_not_read[$key] = $entry;
+ return HelperEntry::daoToEntry ($list, $mode, true);
+ }
+
+ public function listByCategory ($cat, $mode) {
+ $feedDAO = new FeedDAO ();
+ $feeds = $feedDAO->listByCategory ($cat);
+
+ $list = array ();
+ foreach ($feeds as $feed) {
+ foreach ($feed->entries () as $id) {
+ if (isset ($this->array[$id])) {
+ $list[$id] = $this->array[$id];
+ }
}
}
- return HelperEntry::daoToEntry ($list_not_read);
+ return HelperEntry::daoToEntry ($list, $mode);
+ }
+
+ public function listNotReadEntries () {
+
}
public function count () {
@@ -166,7 +179,7 @@ class EntryDAO extends Model_array {
}
class HelperEntry {
- public static function daoToEntry ($listDAO) {
+ public static function daoToEntry ($listDAO, $mode = 'all', $favorite = false) {
$list = array ();
if (!is_array ($listDAO)) {
@@ -174,17 +187,20 @@ class HelperEntry {
}
foreach ($listDAO as $key => $dao) {
- $list[$key] = new Entry (
- $dao['feed'],
- $dao['guid'],
- $dao['title'],
- $dao['author'],
- $dao['content'],
- $dao['link'],
- $dao['date'],
- $dao['is_read'],
- $dao['is_favorite']
- );
+ if (($mode != 'not_read' || !$dao['is_read'])
+ && ($favorite == false || $dao['is_favorite'])) {
+ $list[$key] = new Entry (
+ $dao['feed'],
+ $dao['guid'],
+ $dao['title'],
+ $dao['author'],
+ $dao['content'],
+ $dao['link'],
+ $dao['date'],
+ $dao['is_read'],
+ $dao['is_favorite']
+ );
+ }
}
return $list;