/includes/Paginator.class.php
PHP | 81 lines | 57 code | 7 blank | 17 comment | 22 complexity | 97a3ff03f0b4dcef78e51eb7254d49e2 MD5 | raw file
- <?php
- class Paginator {
-
- function paginate($cpage,$perPage,$items,$urlprefix,$ajax = NULL,$rewrite = false) {
- global $config;
-
- $pages = ceil($items/$perPage);
-
- if (stristr($urlprefix,"?")) $join = "&"; else $join = "?";
- $return = "<div class='ui-state-default' style='text-align: center;'>";
- if ($cpage != 1) {
- //First/Previous page links
- if ($ajax != NULL) {
- //Ajax mode
- $return .= "<a href='javascript:void(0);' onclick='$(\"#".$ajax."\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=1\");'>".$config->getNode('messages','firstPage')."</a> ";
- $return .= "<a href='javascript:void(0);' onclick='$(\"#{$ajax}\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=".($cpage-1)."\");'>".$config->getNode('messages','previousPage')."</a> ";
- } elseif ($rewrite) {
- //URL Rewrite Mode
- $return .= "<a href='".$urlprefix."1'>".$config->getNode('messages','firstPage')."</a> ";
- $return .= "<a href='".$urlprefix.($cpage-1)."'>".$config->getNode('messages','previousPage')."</a> ";
- } else {
- //Normal
- $return .= "<a href='".$urlprefix.$join."page=1'>".$config->getNode('messages','firstPage')."</a> ";
- $return .= "<a href='".$urlprefix.$join."page=".($cpage-1)."'>".$config->getNode('messages','previousPage')."</a> ";
- }
- }
-
- for ($i = $cpage-10; $i < $cpage; $i++) {
- //Previous 10 pages links
- if ($i > 0) {
- if ($ajax != NULL) {
- //AJAX
- $return .= "<a href='javascript:void(0);' onclick='$(\"#$ajax\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=$i\");'>".$i."</a> ";
- } elseif ($rewrite) {
- //Rewrite
- $return .= "<a href='".$urlprefix."$i'>".$i."</a> ";
- } else {
- //Normal
- $return .= "<a href='".$urlprefix.$join."page=$i'>".$i."</a> ";
- }
- }
- }
-
- //Current Page
- $return .= "<span class='ui-state-active'>".$cpage."</span> ";
-
- //Next 10 pages links
- for ($i = $cpage+1; $i <= $pages && $i < $cpage+10; $i++) {
- if ($ajax != NULL) {
- //Ajax
- $return .= "<a href='javascript:void(0);' onclick='$(\"#$ajax\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=$i\");'>".$i."</a> ";
- } elseif ($rewrite) {
- //Rewrite
- $return .= "<a href='".$urlprefix.$i."'>".$i."</a> ";
- } else {
- //Normal
- $return .= "<a href='".$urlprefix.$join."page=$i'>".$i."</a> ";
- }
- }
-
- if ($cpage != $pages) {
- //Next and last pages links
- if ($ajax != NULL) {
- //Ajax
- $return .= "<a href='javascript:void(0);' onclick='$(\"#$ajax\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=".($cpage+1)."\");'>".$config->getNode('messages','nextPage')."</a> ";
- $return .= "<a href='javascript:void(0);' onclick='$(\"#$ajax\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=$pages\");'>".$config->getNode('messages','lastPage')."</a> ";
- } elseif ($rewrite) {
- //Rewrite
- $return .= "<a href='".$urlprefix.($cpage+1)."'>".$config->getNode('messages','nextPage')."</a> ";
- $return .= "<a href='".$urlprefix.$pages."'>".$config->getNode('messages','lastPage')."</a> ";
- } else {
- //Normal
- $return .= "<a href='".$urlprefix.$join."page=".($cpage+1)."'>".$config->getNode('messages','nextPage')."</a> ";
- $return .= "<a href='".$urlprefix.$join."page=$pages'>".$config->getNode('messages','lastPage')."</a> ";
- }
- }
- $return .= "</div>";
- return $return;
- }
- }
- ?>