From fb57be5a5af3a2fb46b2dbf2b503ffe78eb5cf49 Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Sun, 21 Oct 2012 18:47:57 +0200 Subject: First commit --- app/controllers/feedController.php | 89 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100755 app/controllers/feedController.php (limited to 'app/controllers/feedController.php') diff --git a/app/controllers/feedController.php b/app/controllers/feedController.php new file mode 100755 index 000000000..3b4a90b64 --- /dev/null +++ b/app/controllers/feedController.php @@ -0,0 +1,89 @@ +loadEntries (); + $feed_entries = array (); + + if ($entries !== false) { + $entryDAO = new EntryDAO (); + + foreach ($entries as $entry) { + $values = array ( + 'id' => $entry->id (), + 'guid' => $entry->guid (), + 'title' => $entry->title (), + 'author' => $entry->author (), + 'content' => $entry->content (), + 'link' => $entry->link (), + 'date' => $entry->date (true), + 'is_read' => $entry->isRead (), + 'is_favorite' => $entry->isFavorite (), + ); + $entryDAO->addEntry ($values); + + $feed_entries[] = $entry->id (); + } + } + + $feedDAO = new FeedDAO (); + $values = array ( + 'id' => $feed->id (), + 'url' => $feed->url (), + 'categories' => $feed->categories (), + 'entries' => $feed_entries + ); + $feedDAO->addFeed ($values); + } catch (Exception $e) { + // TODO ajouter une erreur : url non valide + } + + Request::forward (array (), true); + } + } + + public function actualizeAction () { + $feedDAO = new FeedDAO (); + $entryDAO = new EntryDAO (); + + $feeds = $feedDAO->listFeeds (); + + foreach ($feeds as $feed) { + $entries = $feed->loadEntries (); + $feed_entries = $feed->entries (); + + if ($entries !== false) { + foreach ($entries as $entry) { + $values = array ( + 'id' => $entry->id (), + 'guid' => $entry->guid (), + 'title' => $entry->title (), + 'author' => $entry->author (), + 'content' => $entry->content (), + 'link' => $entry->link (), + 'date' => $entry->date (true), + 'is_read' => $entry->isRead (), + 'is_favorite' => $entry->isFavorite (), + ); + $entryDAO->addEntry ($values); + + if (!in_array ($entry->id (), $feed_entries)) { + $feed_entries[] = $entry->id (); + } + } + } + + $values = array ( + 'entries' => $feed_entries + ); + $feedDAO->updateFeed ($values); + } + + Request::forward (array (), true); + } +} -- cgit v1.2.3