diff options
| author | 2013-03-14 20:10:15 +0100 | |
|---|---|---|
| committer | 2013-03-14 20:10:15 +0100 | |
| commit | 47196182e53ed25a73ba6e5129675df99df5b671 (patch) | |
| tree | 885ad6a5e80a5c76fc7b6fc6b23fbf27aedcdc47 | |
| parent | d2c20395c0aa74f2e1c039b56dfda618415be617 (diff) | |
Fix bug #25 mais le code ne me convient pas. Le bug #28 devra corriger ce soucis
| -rwxr-xr-x | app/controllers/indexController.php | 4 | ||||
| -rwxr-xr-x | app/models/Entry.php | 23 | ||||
| -rw-r--r-- | app/views/index/index.phtml | 7 |
3 files changed, 23 insertions, 11 deletions
diff --git a/app/controllers/indexController.php b/app/controllers/indexController.php index 916f77c98..b6a7de281 100755 --- a/app/controllers/indexController.php +++ b/app/controllers/indexController.php @@ -74,9 +74,7 @@ class indexController extends ActionController { try { $this->view->entryPaginator = $entryDAO->getPaginator ($entries); - } catch (CurrentPagePaginationException $e) { - $error = true; - } + } catch (CurrentPagePaginationException $e) { } $this->view->cat_aside = $catDAO->listCategories (); $this->view->nb_favorites = $entryDAO->countFavorites (); diff --git a/app/models/Entry.php b/app/models/Entry.php index 0e1d69921..8a1ee1449 100755 --- a/app/models/Entry.php +++ b/app/models/Entry.php @@ -247,7 +247,7 @@ class EntryDAO extends Model_pdo { $res = $stm->fetchAll (PDO::FETCH_ASSOC); $this->nbItems = $res[0]['count']; - $deb = ($this->currentPage - 1) * $this->nbItemsPerPage; + $deb = ($this->currentPage () - 1) * $this->nbItemsPerPage; $fin = $this->nbItemsPerPage; $sql = 'SELECT * FROM entry' . $where @@ -281,7 +281,7 @@ class EntryDAO extends Model_pdo { $sql = 'SELECT * FROM entry' . $where . ' ORDER BY date' . $order; } else { - $deb = ($this->currentPage - 1) * $this->nbItemsPerPage; + $deb = ($this->currentPage () - 1) * $this->nbItemsPerPage; $fin = $this->nbItemsPerPage; $sql = 'SELECT * FROM entry' . $where @@ -314,7 +314,7 @@ class EntryDAO extends Model_pdo { $res = $stm->fetchAll (PDO::FETCH_ASSOC); $this->nbItems = $res[0]['count']; - $deb = ($this->currentPage - 1) * $this->nbItemsPerPage; + $deb = ($this->currentPage () - 1) * $this->nbItemsPerPage; $fin = $this->nbItemsPerPage; $sql = 'SELECT e.* FROM entry e INNER JOIN feed f ON e.id_feed = f.id' . $where . ' ORDER BY date' . $order @@ -348,7 +348,7 @@ class EntryDAO extends Model_pdo { $res = $stm->fetchAll (PDO::FETCH_ASSOC); $this->nbItems = $res[0]['count']; - $deb = ($this->currentPage - 1) * $this->nbItemsPerPage; + $deb = ($this->currentPage () - 1) * $this->nbItemsPerPage; $fin = $this->nbItemsPerPage; $sql = 'SELECT * FROM entry e' . $where . ' ORDER BY date' . $order @@ -400,12 +400,25 @@ class EntryDAO extends Model_pdo { public function _currentPage ($value) { $this->currentPage = $value; } + public function currentPage () { + if ($this->currentPage < 1) { + return 1; + } + + $maxPage = ceil ($this->nbItems / $this->nbItemsPerPage); + if ($this->currentPage > $maxPage) { + return $maxPage; + } + + return $this->currentPage; + + } public function getPaginator ($entries) { $paginator = new Paginator ($entries); $paginator->_nbItems ($this->nbItems); $paginator->_nbItemsPerPage ($this->nbItemsPerPage); - $paginator->_currentPage ($this->currentPage); + $paginator->_currentPage ($this->currentPage ()); return $paginator; } diff --git a/app/views/index/index.phtml b/app/views/index/index.phtml index 6ecbfd72f..7733c6313 100644 --- a/app/views/index/index.phtml +++ b/app/views/index/index.phtml @@ -1,6 +1,5 @@ <?php $this->partial ('aside_flux'); ?> -<?php $items = $this->entryPaginator->items (true); ?> <div class="nav_menu"> <a class="btn" href="<?php echo Url::display (array ('c' => 'feed', 'a' => 'actualize')); ?>"><i class="icon refresh"></i></a> @@ -13,8 +12,10 @@ <?php } ?> </div> -<?php if (!empty ($items)) { ?> - +<?php +if (isset ($this->entryPaginator)) { + $items = $this->entryPaginator->items (true); +?> <div id="stream"> <?php $display_today = true; |
