r359: Added pagination to the tracker home
authorRobert Sesek <rsesek@bluestatic.org>
Mon, 22 Aug 2005 00:58:19 +0000 (00:58 +0000)
committerRobert Sesek <rsesek@bluestatic.org>
Mon, 22 Aug 2005 00:58:19 +0000 (00:58 +0000)
index.php
templates/trackerhome.tpl

index 9d1b4934e66d77328383606f8fe58e8aa3fec404..fdec8da53982c52240cc04bd5ad842013cdbee7e 100644 (file)
--- a/index.php
+++ b/index.php
@@ -12,7 +12,9 @@
 
 $fetchtemplates = array(
        'TRACKERHOME',
-       'trackerhome_bits'
+       'trackerhome_bits',
+       'pagenav',
+       'pagenav_bit'
 );
 
 define('SVN', '$Id$');
@@ -20,6 +22,7 @@ define('SVN', '$Id$');
 $focus['index'] = 'focus';
 
 require_once('./global.php');
+require_once('./includes/class_pagination.php');
 
 if (!can_perform('canviewbugs'))
 {
@@ -28,7 +31,10 @@ if (!can_perform('canviewbugs'))
 
 // ###################################################################
 
-// #*# pagination needs to be done here
+$pagination = new Pagination('p', 'pp');
+$count = $db->query_first("SELECT COUNT(*) AS count FROM " . TABLE_PREFIX . "bug" . (!can_perform('canviewhidden') ? "WHERE !hidden" : ""));
+$pagination->total = $count['count'];
+$pagination->split_pages();
 
 $bugs_fetch = $db->query("
        SELECT bug.*, user1.displayname AS firstreport, user2.displayname AS lastpost, user3.displayname AS hiddenlastpost
@@ -40,7 +46,8 @@ $bugs_fetch = $db->query("
        LEFT JOIN user AS user3
                ON (bug.hiddenlastpostby = user3.userid)" . ((!can_perform('canviewhidden')) ? "
        WHERE !hidden" : "") . "
-       ORDER BY bug." . ((can_perform('canviewhidden')) ? "lastposttime" : "hiddenlastposttime") . " DESC"
+       ORDER BY bug." . ((can_perform('canviewhidden')) ? "lastposttime" : "hiddenlastposttime") . " DESC
+       LIMIT " . $pagination->fetch_limit($pagination->page - 1) . ", " . $pagination->perpage
 );
 
 while ($bug = $db->fetch_array($bugs_fetch))
@@ -63,6 +70,9 @@ while ($bug = $db->fetch_array($bugs_fetch))
 
 $db->free_result($bugs_fetch);
 
+$show['pagenav'] = (($pagination->pagecount > 1) ? true : false);
+$pagenav = $pagination->construct_page_nav('index.php');
+
 eval('$template->flush("' . $template->fetch('TRACKERHOME') . '");');
 
 /*=====================================================================*\
index e6dd4cabcdcf8068659e5b23a9d5bb0ab42ad939..33052a50cc693f48e51df064a0e9c4eae9eccbbf 100644 (file)
@@ -18,4 +18,12 @@ $header
 $bugs
 </table>
 
+<if condition="$show['pagenav']">
+<!-- pagenav -->
+<div align="right">
+$pagenav
+</div>
+<!-- / pagenav -->
+</if>
+
 $footer
\ No newline at end of file