aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2012-11-05 21:40:58 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2012-11-05 21:40:58 +0100
commit209fb252dcce8b69d05f796a914beb0e0bb7f9eb (patch)
tree90b5e72a280f5bae15e4d7895f4f6fc9adb34fce /app
parent33e47c5ac4cb622b51b0b23c7cad03d91ca1e26c (diff)
Fix issue #4 : ajout des retours utilisateur
Diffstat (limited to 'app')
-rw-r--r--app/App_FrontController.php10
-rwxr-xr-xapp/controllers/configureController.php35
-rwxr-xr-xapp/controllers/entryController.php7
-rwxr-xr-xapp/controllers/feedController.php35
-rw-r--r--app/layout/layout.phtml6
5 files changed, 92 insertions, 1 deletions
diff --git a/app/App_FrontController.php b/app/App_FrontController.php
index 80c566781..83d4372eb 100644
--- a/app/App_FrontController.php
+++ b/app/App_FrontController.php
@@ -13,6 +13,7 @@ class App_FrontController extends FrontController {
Session::init (); // lancement de la session doit se faire après chargement des modèles sinon bug (pourquoi ?)
$this->loadParamsView ();
$this->loadStylesAndScripts ();
+ $this->loadNotifications ();
}
private function loadLibs () {
@@ -31,6 +32,7 @@ class App_FrontController extends FrontController {
View::prependStyle (Url::display ('/theme/base.css'));
View::appendScript ('https://login.persona.org/include.js');
View::appendScript (Url::display ('/scripts/jquery.js'));
+ View::appendScript (Url::display ('/scripts/notification.js'));
}
private function loadParamsView () {
@@ -39,4 +41,12 @@ class App_FrontController extends FrontController {
$entryDAO = new EntryDAO ();
View::_param ('nb_not_read', $entryDAO->countNotRead ());
}
+
+ private function loadNotifications () {
+ $notif = Session::param ('notification');
+ if ($notif) {
+ View::_param ('notification', $notif);
+ Session::_param ('notification');
+ }
+ }
}
diff --git a/app/controllers/configureController.php b/app/controllers/configureController.php
index 40c514b5a..d86cda14c 100755
--- a/app/controllers/configureController.php
+++ b/app/controllers/configureController.php
@@ -41,6 +41,14 @@ class configureController extends ActionController {
$catDAO->addCategory ($values);
}
+ // notif
+ $notif = array (
+ 'type' => 'good',
+ 'content' => 'Les catégories ont été mises à jour'
+ );
+ Session::_param ('notification', $notif);
+
+ Request::forward (array ('c' => 'configure', 'a' => 'categorize'), true);
}
$this->view->categories = $catDAO->listCategories ();
@@ -75,6 +83,15 @@ class configureController extends ActionController {
$feedDAO->updateFeed ($id, $values);
$this->view->flux->_category ($cat);
+
+ // notif
+ $notif = array (
+ 'type' => 'good',
+ 'content' => 'Le flux a été mis à jour'
+ );
+ Session::_param ('notification', $notif);
+
+ Request::forward (array ('c' => 'configure', 'a' => 'feed', 'params' => array ('id' => $id)), true);
}
View::prependTitle ('Gestion des flux RSS - ' . $this->view->flux->name () . ' - ');
@@ -113,6 +130,15 @@ class configureController extends ActionController {
$confDAO->update ($values);
Session::_param ('conf', $this->view->conf);
Session::_param ('mail', $this->view->conf->mailLogin ());
+
+ // notif
+ $notif = array (
+ 'type' => 'good',
+ 'content' => 'La configuration a été mise à jour'
+ );
+ Session::_param ('notification', $notif);
+
+ Request::forward (array ('c' => 'configure', 'a' => 'display'), true);
}
View::prependTitle ('Gestion générale et affichage - ');
@@ -183,6 +209,15 @@ class configureController extends ActionController {
$confDAO = new RSSConfigurationDAO ();
$confDAO->update ($values);
Session::_param ('conf', $this->view->conf);
+
+ // notif
+ $notif = array (
+ 'type' => 'good',
+ 'content' => 'Les raccourcis ont été mis à jour'
+ );
+ Session::_param ('notification', $notif);
+
+ Request::forward (array ('c' => 'configure', 'a' => 'shortcut'), true);
}
View::prependTitle ('Gestion des raccourcis - ');
diff --git a/app/controllers/entryController.php b/app/controllers/entryController.php
index cf510e362..ca702191f 100755
--- a/app/controllers/entryController.php
+++ b/app/controllers/entryController.php
@@ -40,6 +40,13 @@ class entryController extends ActionController {
$entryDAO = new EntryDAO ();
if ($id == false) {
$entryDAO->updateEntries ($values);
+
+ // notif
+ $notif = array (
+ 'type' => 'good',
+ 'content' => 'Tous les flux ont été marqués comme lu'
+ );
+ Session::_param ('notification', $notif);
} else {
$entryDAO->updateEntry ($id, $values);
}
diff --git a/app/controllers/feedController.php b/app/controllers/feedController.php
index eed8ccafa..d459ba0cb 100755
--- a/app/controllers/feedController.php
+++ b/app/controllers/feedController.php
@@ -43,8 +43,20 @@ class feedController extends ActionController {
);
$entryDAO->addEntry ($values);
}
+
+ // notif
+ $notif = array (
+ 'type' => 'good',
+ 'content' => 'Le flux <em>' . $feed->url () . '</em> a bien été ajouté'
+ );
+ Session::_param ('notification', $notif);
} catch (Exception $e) {
- // TODO ajouter une erreur : url non valide
+ // notif
+ $notif = array (
+ 'type' => 'bad',
+ 'content' => 'L\'url <em>' . $url . '</em> est invalide'
+ );
+ Session::_param ('notification', $notif);
}
Request::forward (array (), true);
@@ -81,6 +93,13 @@ class feedController extends ActionController {
$entryDAO->cleanOldEntries ($this->view->conf->oldEntries ());
+ // notif
+ $notif = array (
+ 'type' => 'good',
+ 'content' => 'Les flux ont été mis à jour'
+ );
+ Session::_param ('notification', $notif);
+
Request::forward (array (), true);
}
@@ -139,6 +158,13 @@ class feedController extends ActionController {
);
$feedDAO->addFeed ($values);
}
+
+ // notif
+ $notif = array (
+ 'type' => 'good',
+ 'content' => 'Les flux ont été importés'
+ );
+ Session::_param ('notification', $notif);
Request::forward (array ('c' => 'configure', 'a' => 'importExport'));
}
@@ -155,6 +181,13 @@ class feedController extends ActionController {
$feedDAO = new FeedDAO ();
$feedDAO->deleteFeed ($id);
+
+ // notif
+ $notif = array (
+ 'type' => 'good',
+ 'content' => 'Le flux a été supprimé'
+ );
+ Session::_param ('notification', $notif);
Request::forward (array ('c' => 'configure', 'a' => 'feed'), true);
}
diff --git a/app/layout/layout.phtml b/app/layout/layout.phtml
index e73f14ba1..bae395033 100644
--- a/app/layout/layout.phtml
+++ b/app/layout/layout.phtml
@@ -17,5 +17,11 @@
<?php $this->partial ('persona'); ?>
+<?php if (isset ($this->notification)) { ?>
+<div id="notification" class="<?php echo $this->notification['type']; ?>">
+<?php echo $this->notification['content']; ?>
+<a class="close" href="">X</a>
+</div>
+<?php } ?>
</body>
</html>