From 6a361945eaf86a978b82bd6fb3442fe64428d9df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Mon, 5 Aug 2013 21:56:32 +0200 Subject: new design, pagination & more --- inc/3rdparty/paginator.php | 198 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 inc/3rdparty/paginator.php (limited to 'inc/3rdparty/paginator.php') diff --git a/inc/3rdparty/paginator.php b/inc/3rdparty/paginator.php new file mode 100644 index 00000000..e8801555 --- /dev/null +++ b/inc/3rdparty/paginator.php @@ -0,0 +1,198 @@ +_instance = $instance; + $this->_perPage = $perPage; + $this->set_instance(); + } + + /** + * get_start + * + * creates the starting point for limiting the dataset + * @return numeric + */ + private function get_start(){ + return ($this->_page * $this->_perPage) - $this->_perPage; + } + + /** + * set_instance + * + * sets the instance parameter, if numeric value is 0 then set to 1 + * + * @var numeric + */ + private function set_instance(){ + $this->_page = (int) (!isset($_GET[$this->_instance]) ? 1 : $_GET[$this->_instance]); + $this->_page = ($this->_page == 0 ? 1 : $this->_page); + } + + /** + * set_total + * + * collect a numberic value and assigns it to the totalRows + * + * @var numeric + */ + public function set_total($_totalRows){ + $this->_totalRows = $_totalRows; + } + + /** + * get_limit + * + * returns the limit for the data source, calling the get_start method and passing in the number of items perp page + * + * @return string + */ + public function get_limit(){ + return "LIMIT ".$this->get_start().",$this->_perPage"; + } + + /** + * page_links + * + * create the html links for navigating through the dataset + * + * @var sting $path optionally set the path for the link + * @var sting $ext optionally pass in extra parameters to the GET + * @return string returns the html menu + */ + public function page_links($path='?',$ext=null) + { + $adjacents = "2"; + $prev = $this->_page - 1; + $next = $this->_page + 1; + $lastpage = ceil($this->_totalRows/$this->_perPage); + $lpm1 = $lastpage - 1; + + $pagination = ""; + if($lastpage > 1) + { + $pagination .= "\n"; + } + + + return $pagination; + } +} -- cgit v1.2.3 From bc1ee8524e0769ad37e3c4c02cfe96d2f60e52f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Wed, 7 Aug 2013 14:24:07 +0200 Subject: postgres --- inc/3rdparty/paginator.php | 354 +++++++++++++++++++++++---------------------- 1 file changed, 179 insertions(+), 175 deletions(-) (limited to 'inc/3rdparty/paginator.php') diff --git a/inc/3rdparty/paginator.php b/inc/3rdparty/paginator.php index e8801555..306756c0 100644 --- a/inc/3rdparty/paginator.php +++ b/inc/3rdparty/paginator.php @@ -9,99 +9,103 @@ class Paginator{ /** - * set the number of items per page. - * - * @var numeric - */ - private $_perPage; - - /** - * set get parameter for fetching the page number - * - * @var string - */ - private $_instance; - - /** - * sets the page number. - * - * @var numeric - */ - private $_page; - - /** - * set the limit for the data source - * - * @var string - */ - private $_limit; - - /** - * set the total number of records/items. - * - * @var numeric - */ - private $_totalRows = 0; - - - - /** - * __construct - * - * pass values when class is istantiated - * - * @param numeric $_perPage sets the number of iteems per page - * @param numeric $_instance sets the instance for the GET parameter - */ - public function __construct($perPage,$instance){ - $this->_instance = $instance; - $this->_perPage = $perPage; - $this->set_instance(); - } - - /** - * get_start - * - * creates the starting point for limiting the dataset - * @return numeric - */ - private function get_start(){ - return ($this->_page * $this->_perPage) - $this->_perPage; - } - - /** - * set_instance - * - * sets the instance parameter, if numeric value is 0 then set to 1 - * - * @var numeric - */ - private function set_instance(){ - $this->_page = (int) (!isset($_GET[$this->_instance]) ? 1 : $_GET[$this->_instance]); - $this->_page = ($this->_page == 0 ? 1 : $this->_page); - } - - /** - * set_total - * - * collect a numberic value and assigns it to the totalRows - * - * @var numeric - */ - public function set_total($_totalRows){ - $this->_totalRows = $_totalRows; - } - - /** - * get_limit - * - * returns the limit for the data source, calling the get_start method and passing in the number of items perp page - * - * @return string - */ - public function get_limit(){ - return "LIMIT ".$this->get_start().",$this->_perPage"; + * set the number of items per page. + * + * @var numeric + */ + private $_perPage; + + /** + * set get parameter for fetching the page number + * + * @var string + */ + private $_instance; + + /** + * sets the page number. + * + * @var numeric + */ + private $_page; + + /** + * set the limit for the data source + * + * @var string + */ + private $_limit; + + /** + * set the total number of records/items. + * + * @var numeric + */ + private $_totalRows = 0; + + + + /** + * __construct + * + * pass values when class is istantiated + * + * @param numeric $_perPage sets the number of iteems per page + * @param numeric $_instance sets the instance for the GET parameter + */ + public function __construct($perPage,$instance){ + $this->_instance = $instance; + $this->_perPage = $perPage; + $this->set_instance(); + } + + /** + * get_start + * + * creates the starting point for limiting the dataset + * @return numeric + */ + private function get_start(){ + return ($this->_page * $this->_perPage) - $this->_perPage; + } + + /** + * set_instance + * + * sets the instance parameter, if numeric value is 0 then set to 1 + * + * @var numeric + */ + private function set_instance(){ + $this->_page = (int) (!isset($_GET[$this->_instance]) ? 1 : $_GET[$this->_instance]); + $this->_page = ($this->_page == 0 ? 1 : $this->_page); + } + + /** + * set_total + * + * collect a numberic value and assigns it to the totalRows + * + * @var numeric + */ + public function set_total($_totalRows){ + $this->_totalRows = $_totalRows; + } + + /** + * get_limit + * + * returns the limit for the data source, calling the get_start method and passing in the number of items perp page + * + * @return string + */ + public function get_limit(){ + if (STORAGE == 'postgres') { + return "LIMIT ".$this->_perPage." OFFSET ".$this->get_start(); + } else { + return "LIMIT ".$this->get_start().",".$this->_perPage; } + } /** * page_links @@ -112,87 +116,87 @@ class Paginator{ * @var sting $ext optionally pass in extra parameters to the GET * @return string returns the html menu */ - public function page_links($path='?',$ext=null) - { - $adjacents = "2"; - $prev = $this->_page - 1; - $next = $this->_page + 1; - $lastpage = ceil($this->_totalRows/$this->_perPage); - $lpm1 = $lastpage - 1; - - $pagination = ""; - if($lastpage > 1) - { - $pagination .= "\n"; - } - - - return $pagination; - } + public function page_links($path='?',$ext=null) + { + $adjacents = "2"; + $prev = $this->_page - 1; + $next = $this->_page + 1; + $lastpage = ceil($this->_totalRows/$this->_perPage); + $lpm1 = $lastpage - 1; + + $pagination = ""; + if($lastpage > 1) + { + $pagination .= "\n"; + } + + + return $pagination; + } } -- cgit v1.2.3