indexController.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. class indexController extends ActionController {
  3. public function indexAction () {
  4. $entryDAO = new EntryDAO ();
  5. $catDAO = new CategoryDAO ();
  6. $mode = Session::param ('mode', $this->view->conf->defaultView ());
  7. $get = Request::param ('get');
  8. $order = $this->view->conf->sortOrder ();
  9. // Récupère les flux par catégorie, favoris ou tous
  10. if ($get == 'favoris') {
  11. $entries = $entryDAO->listFavorites ($mode, $order);
  12. } elseif ($get != false) {
  13. $entries = $entryDAO->listByCategory ($get, $mode, $order);
  14. }
  15. // Cas où on ne choisie ni catégorie ni les favoris
  16. // ou si la catégorie ne correspond à aucune
  17. if (!isset ($entries)) {
  18. $entries = $entryDAO->listEntries ($mode, $order);
  19. }
  20. // Gestion pagination
  21. $page = Request::param ('page', 1);
  22. $this->view->entryPaginator = new Paginator ($entries);
  23. $this->view->entryPaginator->_nbItemsPerPage ($this->view->conf->postsPerPage ());
  24. $this->view->entryPaginator->_currentPage ($page);
  25. $this->view->cat_aside = $catDAO->listCategories ();
  26. }
  27. public function changeModeAction () {
  28. $mode = Request::param ('mode');
  29. if ($mode == 'not_read') {
  30. Session::_param ('mode', 'not_read');
  31. } else {
  32. Session::_param ('mode', 'all');
  33. }
  34. Request::forward (array (), true);
  35. }
  36. }