From 3ff51a59ba97f3ef1df3c26df16d9a3ab5789843 Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Thu, 25 Oct 2012 19:06:32 +0200 Subject: Ajout fonctionnalité connexion avec Persona (à améliorer sans doute) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/feedController.php | 181 +++++++++++++++++++++---------------- 1 file changed, 101 insertions(+), 80 deletions(-) (limited to 'app/controllers/feedController.php') diff --git a/app/controllers/feedController.php b/app/controllers/feedController.php index 4ef4039f6..0c0528202 100755 --- a/app/controllers/feedController.php +++ b/app/controllers/feedController.php @@ -2,46 +2,53 @@ class feedController extends ActionController { public function addAction () { - if (Request::isPost ()) { - $url = Request::param ('url_rss'); + if (login_is_conf ($this->view->conf) && !is_logged ()) { + Error::error ( + 403, + array ('error' => array ('Vous n\'avez pas le droit d\'accéder à cette page')) + ); + } else { + if (Request::isPost ()) { + $url = Request::param ('url_rss'); - try { - $feed = new Feed ($url); - $feed->load (); - - $feedDAO = new FeedDAO (); - $values = array ( - 'id' => $feed->id (), - 'url' => $feed->url (), - 'category' => null, - 'name' => $feed->name (), - 'website' => $feed->website (), - 'description' => $feed->description (), - ); - $feedDAO->addFeed ($values); + try { + $feed = new Feed ($url); + $feed->load (); - $entryDAO = new EntryDAO (); - $entries = $feed->entries (); - foreach ($entries as $entry) { + $feedDAO = new FeedDAO (); $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 () + 'id' => $feed->id (), + 'url' => $feed->url (), + 'category' => null, + 'name' => $feed->name (), + 'website' => $feed->website (), + 'description' => $feed->description (), ); - $entryDAO->addEntry ($values); + $feedDAO->addFeed ($values); + + $entryDAO = new EntryDAO (); + $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); + } + } catch (Exception $e) { + // TODO ajouter une erreur : url non valide } - } catch (Exception $e) { - // TODO ajouter une erreur : url non valide - } - Request::forward (array (), true); + Request::forward (array (), true); + } } } @@ -78,64 +85,78 @@ class feedController extends ActionController { } public function massiveImportAction () { - $entryDAO = new EntryDAO (); - $feedDAO = new FeedDAO (); - $catDAO = new CategoryDAO (); + if (login_is_conf ($this->view->conf) && !is_logged ()) { + Error::error ( + 403, + array ('error' => array ('Vous n\'avez pas le droit d\'accéder à cette page')) + ); + } else { + $entryDAO = new EntryDAO (); + $feedDAO = new FeedDAO (); + $catDAO = new CategoryDAO (); - $categories = Request::param ('categories', array ()); - $feeds = Request::param ('feeds', array ()); + $categories = Request::param ('categories', array ()); + $feeds = Request::param ('feeds', array ()); - foreach ($categories as $cat) { - $values = array ( - 'id' => $cat->id (), - 'name' => $cat->name (), - 'color' => $cat->color () - ); - $catDAO->addCategory ($values); - } + foreach ($categories as $cat) { + $values = array ( + 'id' => $cat->id (), + 'name' => $cat->name (), + 'color' => $cat->color () + ); + $catDAO->addCategory ($values); + } - foreach ($feeds as $feed) { - $feed->load (); - $entries = $feed->entries (); + foreach ($feeds as $feed) { + $feed->load (); + $entries = $feed->entries (); - // Chargement du flux - foreach ($entries as $entry) { + // Chargement du flux + 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 $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 () + 'id' => $feed->id (), + 'url' => $feed->url (), + 'category' => $feed->category (), + 'name' => $feed->name (), + 'website' => $feed->website (), + 'description' => $feed->description (), ); - $entryDAO->addEntry ($values); + $feedDAO->addFeed ($values); } - - // Enregistrement du flux - $values = array ( - 'id' => $feed->id (), - 'url' => $feed->url (), - 'category' => $feed->category (), - 'name' => $feed->name (), - 'website' => $feed->website (), - 'description' => $feed->description (), - ); - $feedDAO->addFeed ($values); - } - Request::forward (array ('c' => 'configure', 'a' => 'importExport')); + Request::forward (array ('c' => 'configure', 'a' => 'importExport')); + } } public function deleteAction () { - $id = Request::param ('id'); + if (login_is_conf ($this->view->conf) && !is_logged ()) { + Error::error ( + 403, + array ('error' => array ('Vous n\'avez pas le droit d\'accéder à cette page')) + ); + } else { + $id = Request::param ('id'); - $feedDAO = new FeedDAO (); - $feedDAO->deleteFeed ($id); + $feedDAO = new FeedDAO (); + $feedDAO->deleteFeed ($id); - Request::forward (array ('c' => 'configure', 'a' => 'flux')); + Request::forward (array ('c' => 'configure', 'a' => 'flux')); + } } } -- cgit v1.2.3