Просмотр файла gta/functions/func_pagination.php

Размер файла: 2.2Kb
  1. <?
  2.  
  3. function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE,$wml_device=TRUE)
  4. {
  5. global $lang;
  6. global $wml_device ;
  7.  
  8. $total_pages = ceil($num_items/$per_page);
  9.  
  10. if ( $total_pages == 1 )
  11. {
  12. return '';
  13. }
  14.  
  15. $on_page = floor($start_item / $per_page) + 1;
  16.  
  17. $page_string = '';
  18.  
  19. if ( $total_pages > 7 )
  20. {
  21. $init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;
  22.  
  23. for($i = 1; $i < $init_page_max + 1; $i++)
  24. {
  25. $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . $base_url . "" . ( ( $i - 1 ) * $per_page) . '">' . $i . '</a>';
  26. if ( $i < $init_page_max )
  27. {
  28. $page_string .= ", ";
  29. }
  30. }
  31.  
  32. if ( $total_pages > 3 )
  33. {
  34. if ( $on_page > 1 && $on_page < $total_pages )
  35. {
  36. $page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';
  37.  
  38. $init_page_min = ( $on_page > 4 ) ? $on_page : 5;
  39. $init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;
  40.  
  41. for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++)
  42. {
  43. $page_string .= ($i == $on_page) ? '<b>' . $i . '</b>' : '<a href="' . $base_url . "" . ( ( $i - 1 ) * $per_page ) . '">' . $i . '</a>';
  44. if ( $i < $init_page_max + 1 )
  45. {
  46. $page_string .= ', ';
  47. }
  48. }
  49.  
  50. $page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', ';
  51. }
  52. else
  53. {
  54. $page_string .= ' ... ';
  55. }
  56.  
  57. for($i = $total_pages - 2; $i < $total_pages + 1; $i++)
  58. {
  59. $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . $base_url . "" . ( ( $i - 1 ) * $per_page ) . '">' . $i . '</a>';
  60. if( $i < $total_pages )
  61. {
  62. $page_string .= ", ";
  63. }
  64. }
  65. }
  66. }
  67. else
  68. {
  69. for($i = 1; $i < $total_pages + 1; $i++)
  70. {
  71. $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . $base_url . "" . ( ( $i - 1 ) * $per_page ) . '">' . $i . '</a>';
  72. if ( $i < $total_pages )
  73. {
  74. $page_string .= ', ';
  75. }
  76. }
  77. }
  78.  
  79. if ( $add_prevnext_text )
  80. {
  81.  
  82. if ( $on_page > 1 )
  83. {
  84. $page_string = '<a href="' . $base_url . "" . ( ( $on_page - 2 ) * $per_page ) . '">&#x41F;&#x440;&#x435;&#x434;.</a>&nbsp;&nbsp;' . $page_string;
  85. }
  86. if ( $on_page < $total_pages )
  87. {
  88. $page_string = '<a href="' . $base_url . "" . ( $on_page * $per_page ) . '">C&#x43B;&#x435;&#x434;.</a>&nbsp;' . $page_string;
  89. }
  90.  
  91. }
  92.  
  93. return $page_string;
  94. }
  95. ?>