From 2b3a08e3dd5bf936d6d76a5f5282933e3ca6aeea Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Wed, 24 Oct 2012 00:15:30 +0200 Subject: Passage à du stockage en base de données MySQL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/configureController.php | 2 - app/controllers/entryController.php | 15 ++-- app/controllers/feedController.php | 123 +++++++++++++------------------- app/controllers/indexController.php | 14 ++-- 4 files changed, 58 insertions(+), 96 deletions(-) (limited to 'app/controllers') diff --git a/app/controllers/configureController.php b/app/controllers/configureController.php index 00bc571da..b382b2794 100755 --- a/app/controllers/configureController.php +++ b/app/controllers/configureController.php @@ -32,8 +32,6 @@ class configureController extends ActionController { $catDAO->addCategory ($values); } - $catDAO->save (); - } $this->view->categories = $catDAO->listCategories (); diff --git a/app/controllers/entryController.php b/app/controllers/entryController.php index a99038068..753994a2b 100755 --- a/app/controllers/entryController.php +++ b/app/controllers/entryController.php @@ -24,19 +24,14 @@ class entryController extends ActionController { $is_read = false; } + $values = array ( + 'is_read' => $is_read, + ); + $entryDAO = new EntryDAO (); if ($id == false) { - $entries = $entryDAO->listEntries ('not_read'); + $entryDAO->updateEntries ($values); } else { - $entry = $entryDAO->searchById ($id); - $entries = $entry !== false ? array ($entry) : array (); - } - - foreach ($entries as $entry) { - $values = array ( - 'is_read' => $is_read, - ); - $entryDAO->updateEntry ($entry->id (), $values); } } diff --git a/app/controllers/feedController.php b/app/controllers/feedController.php index 789d2a901..6dad1ac08 100755 --- a/app/controllers/feedController.php +++ b/app/controllers/feedController.php @@ -8,29 +8,24 @@ class feedController extends ActionController { try { $feed = new Feed ($url); $feed->load (); - $entries = $feed->entries (false); - $feed_entries = array (); + $entries = $feed->entries (); - 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 (), - 'feed' => $feed->id () - ); - $entryDAO->addEntry ($values); - - $feed_entries[] = $entry->id (); - } + $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 (), + 'id_feed' => $feed->id () + ); + $entryDAO->addEntry ($values); } $feedDAO = new FeedDAO (); @@ -38,7 +33,6 @@ class feedController extends ActionController { 'id' => $feed->id (), 'url' => $feed->url (), 'category' => $feed->category (), - 'entries' => $feed_entries, 'name' => $feed->name (), 'website' => $feed->website (), 'description' => $feed->description (), @@ -60,37 +54,25 @@ class feedController extends ActionController { foreach ($feeds as $feed) { $feed->load (); - $entries = $feed->entries (false); - $feed_entries = $feed->entries (); + $entries = $feed->entries (); + + 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 (), + 'id_feed' => $feed->id () + ); + $entryDAO->addEntry ($values); - if ($entries !== false) { - foreach ($entries as $entry) { - if (!in_array ($entry->id (), $feed_entries)) { - $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 (), - 'feed' => $feed->id () - ); - $entryDAO->addEntry ($values); - - $feed_entries[] = $entry->id (); - } - - // TODO gérer suppression des articles trop vieux (à paramétrer) - } + // TODO gérer suppression des articles trop vieux (à paramétrer) } - - $values = array ( - 'entries' => $feed_entries - ); - $feedDAO->updateFeed ($values); } Request::forward (array (), true); @@ -111,33 +93,27 @@ class feedController extends ActionController { 'color' => $cat->color () ); $catDAO->addCategory ($values); - $catDAO->save (); } foreach ($feeds as $feed) { $feed->load (); - $entries = $feed->entries (false); - $feed_entries = array (); + $entries = $feed->entries (); // Chargement du flux - 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 (), - 'feed' => $feed->id () - ); - $entryDAO->addEntry ($values); - - $feed_entries[] = $entry->id (); - } + 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 (), + 'id_feed' => $feed->id () + ); + $entryDAO->addEntry ($values); } // Enregistrement du flux @@ -145,7 +121,6 @@ class feedController extends ActionController { 'id' => $feed->id (), 'url' => $feed->url (), 'category' => $feed->category (), - 'entries' => $feed_entries, 'name' => $feed->name (), 'website' => $feed->website (), 'description' => $feed->description (), diff --git a/app/controllers/indexController.php b/app/controllers/indexController.php index b8908dee3..e7e3797ef 100755 --- a/app/controllers/indexController.php +++ b/app/controllers/indexController.php @@ -7,25 +7,19 @@ class indexController extends ActionController { $mode = Session::param ('mode', $this->view->conf->defaultView ()); $get = Request::param ('get'); + $order = $this->view->conf->sortOrder (); // Récupère les flux par catégorie, favoris ou tous if ($get == 'favoris') { - $entries = $entryDAO->listFavorites ($mode); + $entries = $entryDAO->listFavorites ($mode, $order); } elseif ($get != false) { - $entries = $entryDAO->listByCategory ($get, $mode); + $entries = $entryDAO->listByCategory ($get, $mode, $order); } // Cas où on ne choisie ni catégorie ni les favoris // ou si la catégorie ne correspond à aucune if (!isset ($entries)) { - $entries = $entryDAO->listEntries ($mode); - } - - // Tri par date - if ($this->view->conf->sortOrder () == 'high_to_low') { - usort ($entries, 'sortReverseEntriesByDate'); - } else { - usort ($entries, 'sortEntriesByDate'); + $entries = $entryDAO->listEntries ($mode, $order); } // Gestion pagination -- cgit v1.2.3