diff options
| author | 2013-03-17 21:34:14 +0100 | |
|---|---|---|
| committer | 2013-03-17 21:34:14 +0100 | |
| commit | caf8d18c1d887f0c918ba181d1c48d9e08af6ea0 (patch) | |
| tree | b6d778c7c852432ca060470c41c44d7db7b1cab2 /app/controllers/entryController.php | |
| parent | dbb0de4e368b814f8cab9e7e1a1462a2839471dc (diff) | |
Début fix bug #22 : possibilité d'ajouter des notes à des articles et les mettre ou non en public
Diffstat (limited to 'app/controllers/entryController.php')
| -rwxr-xr-x | app/controllers/entryController.php | 93 |
1 files changed, 83 insertions, 10 deletions
diff --git a/app/controllers/entryController.php b/app/controllers/entryController.php index b772e1703..f5277fa6d 100755 --- a/app/controllers/entryController.php +++ b/app/controllers/entryController.php @@ -8,7 +8,8 @@ class entryController extends ActionController { array ('error' => array ('Vous n\'avez pas le droit d\'accéder à cette page')) ); } - + + $this->redirect = false; $ajax = Request::param ('ajax'); if ($ajax) { $this->view->_useLayout (false); @@ -16,7 +17,7 @@ class entryController extends ActionController { } public function lastAction () { $ajax = Request::param ('ajax'); - if (!$ajax) { + if (!$ajax && $this->redirect) { Request::forward (array ( 'c' => 'index', 'a' => 'index', @@ -28,17 +29,19 @@ class entryController extends ActionController { } public function readAction () { + $this->redirect = true; + $id = Request::param ('id'); $is_read = Request::param ('is_read'); $get = Request::param ('get'); $dateMax = Request::param ('dateMax', time ()); - + if ($is_read) { $is_read = true; } else { $is_read = false; } - + $entryDAO = new EntryDAO (); if ($id == false) { if (!$get) { @@ -55,7 +58,7 @@ class entryController extends ActionController { $this->params = array ('get' => 'f_' . $get); } } - + // notif $notif = array ( 'type' => 'good', @@ -66,28 +69,98 @@ class entryController extends ActionController { $entryDAO->updateEntry ($id, array ('is_read' => $is_read)); } } - + public function bookmarkAction () { + $this->redirect = true; + $id = Request::param ('id'); $is_fav = Request::param ('is_favorite'); - + if ($is_fav) { $is_fav = true; } else { $is_fav = false; } - + $entryDAO = new EntryDAO (); if ($id != false) { $entry = $entryDAO->searchById ($id); - + if ($entry != false) { $values = array ( 'is_favorite' => $is_fav, ); - + $entryDAO->updateEntry ($entry->id (), $values); } } } + + public function noteAction () { + $not_found = false; + $entryDAO = new EntryDAO (); + $catDAO = new CategoryDAO (); + + $id = Request::param ('id'); + if ($id) { + $entry = $entryDAO->searchById ($id); + + if ($entry) { + $feed = $entry->feed (true); + + if (Request::isPost ()) { + $note = htmlspecialchars (Request::param ('note', '')); + $public = Request::param ('public', 'no'); + if ($public == 'yes') { + $public = true; + } else { + $public = false; + } + + $values = array ( + 'annotation' => $note, + 'is_public' => $public + ); + + if ($entryDAO->updateEntry ($id, $values)) { + $notif = array ( + 'type' => 'good', + 'content' => 'Modifications enregistrées' + ); + } else { + $notif = array ( + 'type' => 'bad', + 'content' => 'Une erreur est survenue' + ); + } + Session::_param ('notification', $notif); + Request::forward (array ( + 'c' => 'entry', + 'a' => 'note', + 'params' => array ( + 'id' => $id + ) + ), true); + } + } else { + $not_found = true; + } + } else { + $not_found = true; + } + + if ($not_found) { + Error::error ( + 404, + array ('error' => array ('La page que vous cherchez n\'existe pas')) + ); + } else { + $this->view->entry = $entry; + $this->view->cat_aside = $catDAO->listCategories (); + $this->view->nb_favorites = $entryDAO->countFavorites (); + $this->view->nb_total = $entryDAO->count (); + $this->view->get_c = $feed->category (); + $this->view->get_f = $feed->id (); + } + } } |
