Update version.php to 3.3.0
[isso.git] / Pagination.php
index ae824258f5cd37a31e01265e46789b9f9a019563..e66af2370cd0b8caa1f841a0abf6262970185b85 100644 (file)
@@ -2,7 +2,7 @@
 /*=====================================================================*\
 || ###################################################################
 || # Blue Static ISSO Framework
-|| # Copyright (c)2005-2008 Blue Static
+|| # Copyright (c)2005-2009 Blue Static
 || #
 || # This program is free software; you can redistribute it and/or modify
 || # it under the terms of the GNU General Public License as published by
 \*=====================================================================*/
 
 /**
-* Pagination System (Pagination.php)
-*
-* @package     ISSO
-*/
+ * Pagination System (Pagination.php)
+ *
+ * @package    ISSO
+ */
 
 /**
-* Pagination System
-*
-* On many pages, it is necessary to limit the amount of records to display.
-* Using this class, you can set the maximum and minimum values to display,
-* and then the input variables for page number and perpage. This will
-* then create a page navigator and manage the SQL LIMIT statements.
-*
-* @author              Blue Static
-* @copyright   Copyright (c)2005 - 2008, Blue Static
-* @package             ISSO
-* 
-*/
+ * Pagination System
+ *
+ * On many pages, it is necessary to limit the amount of records to display.
+ * Using this class, you can set the maximum and minimum values to display,
+ * and then the input variables for page number and perpage. This will
+ * then create a page navigator and manage the SQL LIMIT statements.
+ *
+ * @author             Blue Static
+ * @copyright  Copyright (c)2005 - 2009, Blue Static
+ * @package            ISSO
+ 
+ */
 abstract class BSPagination
 {
        /**
-       * Current page number
-       * @var  integer
-       */
-       protected $page;
+        * Current page number
+        * @var integer
+        */
+       public $page;
        
        /**
-       * Per-page value
-       * @var  integer
-       */
-       protected $perpage;
+        * Per-page value
+        * @var integer
+        */
+       public $perpage;
        
        /**
-       * Number of page links
-       * @var  integer
-       */
+        * Number of page links
+        * @var integer
+        */
        protected $pagelinks;
        
        /**
-       * Total number of results
-       * @var  integer
-       */
+        * Total number of results
+        * @var integer
+        */
        protected $total;
        
        /**
-       * Total number of pages
-       * @var  integer
-       */
+        * Total number of pages
+        * @var integer
+        */
        protected $pagecount;
        
        /**
-       * Maximum number of per-page results
-       * @var  integer
-       */
+        * Maximum number of per-page results
+        * @var integer
+        */
        protected $maxperpage = 100;
        
        /**
-       * Default number of per-page results
-       * @var  integer
-       */
+        * Default number of per-page results
+        * @var integer
+        */
        protected $defaultperpage = 20;
        
-       // ###################################################################
        /**
         * Callback public function for the processing of an indivdual page link
         * 
@@ -94,7 +93,6 @@ abstract class BSPagination
         */
        protected abstract function _bitProcessor($baselink, $isCurrent, $pagenumber);
        
-       // ###################################################################
        /**
         * Callback public function for the processing the entire page navigator
         * 
@@ -124,55 +122,50 @@ abstract class BSPagination
                }
        }
        
-       // ###################################################################
        /**
-       * Returns the current page number
-       *
-       * @return       integer Current page
-       */
+        * Returns the current page number
+        *
+        * @return      integer Current page
+        */
        public function getPage()
        {
                return $this->page;
        }
        
-       // ###################################################################
        /**
-       * Returns the current perpage value
-       *
-       * @return       integer Current perpage
-       */
+        * Returns the current perpage value
+        *
+        * @return      integer Current perpage
+        */
        public function getPerPage()
        {
                return $this->perpage;
        }
        
-       // ###################################################################
        /**
-       * Sets total
-       *
-       * @param        integer Total number
-       */
+        * Sets total
+        *
+        * @param       integer Total number
+        */
        public function setTotal($total)
        {
                $this->total = $total;
        }
        
-       // ###################################################################
        /**
-       * Returns the number of pages to be in the navigator
-       *
-       * @param        integer Number of pages
-       */
+        * Returns the number of pages to be in the navigator
+        *
+        * @param       integer Number of pages
+        */
        public function getPageCount()
        {
                return $this->pagecount;
        }
                
-       // ###################################################################
        /**
-       * Takes all of the information from the set() functions and then
-       * prepares all of the data through verification
-       */
+        * Takes all of the information from the set() functions and then
+        * prepares all of the data through verification
+        */
        public function processIncomingData()
        {
                $this->_setVariables();
@@ -197,10 +190,9 @@ abstract class BSPagination
                $this->perpage = BSApp::$input->clean($this->perpage, TYPE_INT);
        }
        
-       // ###################################################################
        /**
-       * Takes the variables and splits up the pages
-       */
+        * Takes the variables and splits up the pages
+        */
        public function splitPages()
        {
                $this->pagecount = ceil($this->total / $this->perpage);
@@ -210,14 +202,13 @@ abstract class BSPagination
                }
        }
        
-       // ###################################################################
        /**
-       * Returns the lower limit of the pages
-       *
-       * @param        integer Page number
-       *
-       * @return       integer Lower result limit
-       */
+        * Returns the lower limit of the pages
+        *
+        * @param       integer Page number
+        *
+        * @return      integer Lower result limit
+        */
        public function fetchLimit($page = null)
        {
                if ($page === null)
@@ -252,15 +243,14 @@ abstract class BSPagination
                }
        }
        
-       // ###################################################################
        /**
-       * Constructs the page navigator
-       *
-       * @param        string  Base link path
-       * @param        bool    Add a ? or a & to the path so it's link-friendly
-       *
-       * @return       string  Generated HTML page navigator
-       */
+        * Constructs the page navigator
+        *
+        * @param       string  Base link path
+        * @param       bool    Add a ? or a & to the path so it's link-friendly
+        *
+        * @return      string  Generated HTML page navigator
+        */
        public function constructPageNav($baselink, $addParam = true)
        {
                // handle base link