PageRenderTime 49ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/includes/Paginator.class.php

http://flumpshop.googlecode.com/
PHP | 81 lines | 57 code | 7 blank | 17 comment | 22 complexity | 97a3ff03f0b4dcef78e51eb7254d49e2 MD5 | raw file
  1. <?php
  2. class Paginator {
  3. function paginate($cpage,$perPage,$items,$urlprefix,$ajax = NULL,$rewrite = false) {
  4. global $config;
  5. $pages = ceil($items/$perPage);
  6. if (stristr($urlprefix,"?")) $join = "&"; else $join = "?";
  7. $return = "<div class='ui-state-default' style='text-align: center;'>";
  8. if ($cpage != 1) {
  9. //First/Previous page links
  10. if ($ajax != NULL) {
  11. //Ajax mode
  12. $return .= "<a href='javascript:void(0);' onclick='$(\"#".$ajax."\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=1\");'>".$config->getNode('messages','firstPage')."</a>&nbsp;";
  13. $return .= "<a href='javascript:void(0);' onclick='$(\"#{$ajax}\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=".($cpage-1)."\");'>".$config->getNode('messages','previousPage')."</a>&nbsp;";
  14. } elseif ($rewrite) {
  15. //URL Rewrite Mode
  16. $return .= "<a href='".$urlprefix."1'>".$config->getNode('messages','firstPage')."</a>&nbsp;";
  17. $return .= "<a href='".$urlprefix.($cpage-1)."'>".$config->getNode('messages','previousPage')."</a>&nbsp;";
  18. } else {
  19. //Normal
  20. $return .= "<a href='".$urlprefix.$join."page=1'>".$config->getNode('messages','firstPage')."</a>&nbsp;";
  21. $return .= "<a href='".$urlprefix.$join."page=".($cpage-1)."'>".$config->getNode('messages','previousPage')."</a>&nbsp;";
  22. }
  23. }
  24. for ($i = $cpage-10; $i < $cpage; $i++) {
  25. //Previous 10 pages links
  26. if ($i > 0) {
  27. if ($ajax != NULL) {
  28. //AJAX
  29. $return .= "<a href='javascript:void(0);' onclick='$(\"#$ajax\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=$i\");'>".$i."</a>&nbsp;";
  30. } elseif ($rewrite) {
  31. //Rewrite
  32. $return .= "<a href='".$urlprefix."$i'>".$i."</a>&nbsp;";
  33. } else {
  34. //Normal
  35. $return .= "<a href='".$urlprefix.$join."page=$i'>".$i."</a>&nbsp;";
  36. }
  37. }
  38. }
  39. //Current Page
  40. $return .= "<span class='ui-state-active'>".$cpage."</span>&nbsp;";
  41. //Next 10 pages links
  42. for ($i = $cpage+1; $i <= $pages && $i < $cpage+10; $i++) {
  43. if ($ajax != NULL) {
  44. //Ajax
  45. $return .= "<a href='javascript:void(0);' onclick='$(\"#$ajax\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=$i\");'>".$i."</a>&nbsp;";
  46. } elseif ($rewrite) {
  47. //Rewrite
  48. $return .= "<a href='".$urlprefix.$i."'>".$i."</a>&nbsp;";
  49. } else {
  50. //Normal
  51. $return .= "<a href='".$urlprefix.$join."page=$i'>".$i."</a>&nbsp;";
  52. }
  53. }
  54. if ($cpage != $pages) {
  55. //Next and last pages links
  56. if ($ajax != NULL) {
  57. //Ajax
  58. $return .= "<a href='javascript:void(0);' onclick='$(\"#$ajax\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=".($cpage+1)."\");'>".$config->getNode('messages','nextPage')."</a>&nbsp;";
  59. $return .= "<a href='javascript:void(0);' onclick='$(\"#$ajax\").html(loadMsg(\"Loading Content...\")).load(\"".$urlprefix.$join."page=$pages\");'>".$config->getNode('messages','lastPage')."</a>&nbsp;";
  60. } elseif ($rewrite) {
  61. //Rewrite
  62. $return .= "<a href='".$urlprefix.($cpage+1)."'>".$config->getNode('messages','nextPage')."</a>&nbsp;";
  63. $return .= "<a href='".$urlprefix.$pages."'>".$config->getNode('messages','lastPage')."</a>&nbsp;";
  64. } else {
  65. //Normal
  66. $return .= "<a href='".$urlprefix.$join."page=".($cpage+1)."'>".$config->getNode('messages','nextPage')."</a>&nbsp;";
  67. $return .= "<a href='".$urlprefix.$join."page=$pages'>".$config->getNode('messages','lastPage')."</a>&nbsp;";
  68. }
  69. }
  70. $return .= "</div>";
  71. return $return;
  72. }
  73. }
  74. ?>