summaryrefslogtreecommitdiffstats
path: root/library/Pbs/Pagination.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/Pbs/Pagination.php')
-rw-r--r--library/Pbs/Pagination.php168
1 files changed, 84 insertions, 84 deletions
diff --git a/library/Pbs/Pagination.php b/library/Pbs/Pagination.php
index c83ec74..6468897 100644
--- a/library/Pbs/Pagination.php
+++ b/library/Pbs/Pagination.php
@@ -1,4 +1,4 @@
-<?php
+<? php
/*
* Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
* This program is free software distributed under the GPL version 2.
@@ -10,89 +10,89 @@
* General information about OpenSLX can be found at http://openslx.org/
*/
-class Pbs_Pagination{
+class Pbs_Pagination {
+
+ private $element;
+ private $perpage;
+ private $requestpage;
+ private $maxNumber;
+ private $numpages;
+ private $pageUrl;
+
+ public function pagination($url = null, $selected = null, $max = null) {
+ if($selected == null)
+ { $selected = $this->requestpage; }
+ if($max == null)
+ { $max = $this->numpages; }
+ if($url == null)
+ { $url = $this->pageUrl; }
+
+#print_a($url,$selected,$max);
+
+ $str = "<div class='pbs_pagination'>";
+ if ( 1 <= $selected) {
+ $str . = "<a href='$url/page/0' >&lt;&lt;</a>";
+ $str . = "<a href='$url/page/".(($selected) - 1)."' rel='next'>&lt;</a>";
+ } else {
+ $str . = "<span class='disabled'>&lt;&lt;</span>";
+ $str . = "<span class='disabled'>&lt;</span>";
+ }
+
+#
+ $rightleft = 2;
+ for($i = 0; $i < ($max); $i++) {
+ if($selected == $i)
+ { $str . = "<a class='active'>".($i + 1) ."</a> "; }
+ else if($i >= $selected - $rightleft && $i <= $selected + $rightleft)
+ { $str . = "<a href='$url/page/".($i)."'>".($i + 1) ."</a> "; }
+ }
+
+#
+ if ( $max - 2 >= $selected) {
+ $str . = "<a href='$url/page/".(($selected) + 1)."'>&gt;</a> ";
+ $str . = "<a href='$url/page/".($max - 1)."'>&gt;&gt;</a> ";
+ } else {
+ $str . = "<span class='disabled'>&gt;</span> ";
+ $str . = "<span class='disabled'>&gt;&gt;</span> ";
+ }
+
+ $str . = "</div>";
+ return $str;
+ }
+ public function setPerPage($perpage) {
+ $this->perpage = $perpage;
+ return $this;
+ }
+ public function getPerPage() {
+ return $this->perpage;
+ }
+ public function setRequestPage($requestpage) {
+ if($requestpage < 0 || !is_numeric($requestpage) )
+ { $requestpage = 0; }
+ if($requestpage >= $this->numpages)
+ { $requestpage = $this->numpages - 1; }
+ $this->requestpage = $requestpage;
+ return $this;
+ }
+ public function getRequestPage() {
+ return $this->requestpage;
+ }
+ public function setElement($element) {
+ $this->element = $element;
+ $this->maxNumber = count($element);
+ $this->numpages = ceil(count($element) / $this->perpage);
+ return $this;
+ }
+ public function getStartItem() {
+ return $this->requestpage * $this->perpage;
+ }
+ public function getElements() {
+ return array_slice($this->element, $this->getStartItem(), $this->getPerPage(), true);
+ }
+ public function setPageUrl($url) {
+ $this->pageUrl = $url;
+ return $this;
+ }
- private $element;
- private $perpage;
- private $requestpage;
- private $maxNumber;
- private $numpages;
- private $pageUrl;
-
- public function pagination($url=null,$selected=null,$max=null){
- if($selected == null)
- $selected = $this->requestpage;
- if($max == null)
- $max = $this->numpages;
- if($url == null)
- $url = $this->pageUrl;
-
- #print_a($url,$selected,$max);
-
- $str = "<div class='pbs_pagination'>";
- if ( 1 <= $selected){
- $str .= "<a href='$url/page/0' >&lt;&lt;</a>";
- $str .= "<a href='$url/page/".(($selected)-1)."' rel='next'>&lt;</a>";
- }else{
- $str .= "<span class='disabled'>&lt;&lt;</span>";
- $str .= "<span class='disabled'>&lt;</span>";
- }
-
- #
- $rightleft = 2;
- for($i=0;$i<($max);$i++){
- if($selected == $i)
- $str .= "<a class='active'>".($i+1) ."</a> ";
- else if($i >= $selected -$rightleft && $i <= $selected+$rightleft)
- $str .= "<a href='$url/page/".($i)."'>".($i+1) ."</a> ";
- }
-
- #
- if ( $max-2 >= $selected){
- $str .= "<a href='$url/page/".(($selected)+1)."'>&gt;</a> ";
- $str .= "<a href='$url/page/".($max-1)."'>&gt;&gt;</a> ";
- }else{
- $str .= "<span class='disabled'>&gt;</span> ";
- $str .= "<span class='disabled'>&gt;&gt;</span> ";
- }
-
- $str .= "</div>";
- return $str;
- }
- public function setPerPage($perpage){
- $this->perpage = $perpage;
- return $this;
- }
- public function getPerPage(){
- return $this->perpage;
- }
- public function setRequestPage($requestpage){
- if($requestpage < 0 || !is_numeric($requestpage) )
- $requestpage = 0;
- if($requestpage >= $this->numpages)
- $requestpage = $this->numpages-1;
- $this->requestpage = $requestpage;
- return $this;
- }
- public function getRequestPage(){
- return $this->requestpage;
- }
- public function setElement($element){
- $this->element = $element;
- $this->maxNumber = count($element);
- $this->numpages = ceil(count($element)/$this->perpage);
- return $this;
- }
- public function getStartItem(){
- return $this->requestpage * $this->perpage;
- }
- public function getElements(){
- return array_slice($this->element,$this->getStartItem(),$this->getPerPage(),true);
- }
- public function setPageUrl($url){
- $this->pageUrl = $url;
- return $this;
- }
-
}