aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-03-14 20:10:15 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-03-14 20:10:15 +0100
commit47196182e53ed25a73ba6e5129675df99df5b671 (patch)
tree885ad6a5e80a5c76fc7b6fc6b23fbf27aedcdc47
parentd2c20395c0aa74f2e1c039b56dfda618415be617 (diff)
Fix bug #25 mais le code ne me convient pas. Le bug #28 devra corriger ce soucis
-rwxr-xr-xapp/controllers/indexController.php4
-rwxr-xr-xapp/models/Entry.php23
-rw-r--r--app/views/index/index.phtml7
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;