From d63eddf0c5a563d11c880bb700dafc889ee87a3d Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Sun, 17 Mar 2013 00:01:40 +0100 Subject: Ajout d'options : possibilité de changer l'ordre des articles + possibilité de marquer comme lu au choix : tous, antérieurs à 1 jour, antérieurs à 1 semaine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/entryController.php | 9 +++++---- app/controllers/indexController.php | 27 ++++++++++++++++++++++----- 2 files changed, 27 insertions(+), 9 deletions(-) (limited to 'app/controllers') diff --git a/app/controllers/entryController.php b/app/controllers/entryController.php index cb309c567..b772e1703 100755 --- a/app/controllers/entryController.php +++ b/app/controllers/entryController.php @@ -31,6 +31,7 @@ class entryController extends ActionController { $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; @@ -41,16 +42,16 @@ class entryController extends ActionController { $entryDAO = new EntryDAO (); if ($id == false) { if (!$get) { - $entryDAO->markReadEntries ($is_read); + $entryDAO->markReadEntries ($is_read, $dateMax); } else { $typeGet = $get[0]; $get = substr ($get, 2); if ($typeGet == 'c') { - $entryDAO->markReadCat ($get, $is_read); + $entryDAO->markReadCat ($get, $is_read, $dateMax); $this->params = array ('get' => 'c_' . $get); } elseif ($typeGet == 'f') { - $entryDAO->markReadFeed ($get, $is_read); + $entryDAO->markReadFeed ($get, $is_read, $dateMax); $this->params = array ('get' => 'f_' . $get); } } @@ -62,7 +63,7 @@ class entryController extends ActionController { ); Session::_param ('notification', $notif); } else { - $entryDAO->updateEntry ($id, $values); + $entryDAO->updateEntry ($id, array ('is_read' => $is_read)); } } diff --git a/app/controllers/indexController.php b/app/controllers/indexController.php index 79d430f99..04c74028c 100755 --- a/app/controllers/indexController.php +++ b/app/controllers/indexController.php @@ -10,11 +10,14 @@ class indexController extends ActionController { $feedDAO = new FeedDAO (); $catDAO = new CategoryDAO (); + $error = false; + // pour optimiser $page = Request::param ('page', 1); $entryDAO->_nbItemsPerPage ($this->view->conf->postsPerPage ()); $entryDAO->_currentPage ($page); + // mode de vue (tout ou seulement non lus) $default_view = $this->view->conf->defaultView (); $mode = Session::param ('mode'); if ($mode == false) { @@ -25,14 +28,16 @@ class indexController extends ActionController { } } - $get = Request::param ('get'); - $this->view->get_c = false; - $this->view->get_f = false; - $order = $this->view->conf->sortOrder (); + // ordre de listage des flux + $order = Session::param ('order', $this->view->conf->sortOrder ()); + // recherche sur les titres (pour le moment) $search = Request::param ('search'); - $error = false; + // récupération de la catégorie/flux à filtrer + $get = Request::param ('get'); + $this->view->get_c = false; + $this->view->get_f = false; // Récupère les flux par catégorie, favoris ou tous if ($get == 'favoris') { @@ -72,6 +77,7 @@ class indexController extends ActionController { } $this->view->mode = $mode; + $this->view->order = $order; // Cas où on ne choisie ni catégorie ni les favoris // ou si la catégorie ne correspond à aucune @@ -110,6 +116,17 @@ class indexController extends ActionController { Request::forward (array (), true); } + public function changeOrderAction () { + $order = Request::param ('order'); + + if ($order == 'low_to_high') { + Session::_param ('order', 'low_to_high'); + } else { + Session::_param ('order', 'high_to_low'); + } + + Request::forward (array (), true); + } public function loginAction () { $this->view->_useLayout (false); -- cgit v1.2.3