aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/feedController.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2012-10-25 19:06:32 +0200
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2012-10-25 19:06:32 +0200
commit3ff51a59ba97f3ef1df3c26df16d9a3ab5789843 (patch)
tree89de7b553f5b8240ad0d9f766800973f9845a121 /app/controllers/feedController.php
parent48a1aa7d52e712d5f64a33a003b31f23a00b99f5 (diff)
Ajout fonctionnalité connexion avec Persona (à améliorer sans doute)
Diffstat (limited to 'app/controllers/feedController.php')
-rwxr-xr-xapp/controllers/feedController.php181
1 files changed, 101 insertions, 80 deletions
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'));
+ }
}
}