Guest User

Untitled

a guest
Jun 27th, 2021
38
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function pagination($total, $p = null, $limit = null, $ech = true, $defnew = null) {
  2.     $def = array(
  3.         'button-back' => 'pagesBackFoward',
  4.         'button-foward' => 'pagesBackFoward',
  5.         'button-current' => 'pagesLinksCurrent',
  6.         'button-link' => 'pagesLinks',
  7.         'get-title' => 'page',
  8.     );
  9.  
  10.     if (sizeof($defnew)) {
  11.         foreach ($defnew as $k => $v) {
  12.             if ($v !== null && $v !== '') {
  13.                 if (in_array($k, $def)) {
  14.                     $def[$k] = $v;
  15.                 }
  16.             }
  17.         }
  18.     }
  19.    
  20.     if (empty($p)) $p = 1;
  21.  
  22.     $num_pages = ceil($total / $limit);
  23.  
  24.     if (substr_count(get_full_url(), '?') == 1) {
  25.         if (strripos(get_full_url(), $def['get-title']) !== false) {
  26.             $str = substr(get_full_url(), 0, strripos(get_full_url(), $def['get-title']));
  27.             if (strripos($str, '&')) {
  28.                 $page_link = substr(get_full_url(), 0, strripos(get_full_url(), $def['get-title']) - 1).'&';
  29.             } else {
  30.                 $page_link = substr(get_full_url(), 0, strripos(get_full_url(), $def['get-title']));
  31.             }
  32.         } else {
  33.             $page_link = get_full_url().'&';
  34.         }
  35.     } else {
  36.         if (strripos(get_full_url(), $def['get-title']) !== false) {
  37.             $page_link = substr(get_full_url(), 0, strripos(get_full_url(), $def['get-title']));
  38.         } else {
  39.             $page_link = get_full_url().'?';
  40.         }
  41.     }
  42.  
  43.     if ($num_pages > 5) {
  44.         if ($p < 5) {
  45.             $pp = 5;
  46.             $pm = 1;
  47.         }
  48.         if ($p >= 5) {
  49.             $pm = $p - 2;
  50.             if ($pp < $num_pages) {
  51.                 $pp = $p + 2;
  52.             }
  53.             if ($pp > $num_pages) {
  54.                 $pp = $num_pages;
  55.             }
  56.             $echo .= '<a class="'.$def['button-back'].'" href="'.$page_link.$def['get-title'].'=1">В Начало</a>';
  57.         }
  58.     } else {
  59.         $pm = 1;
  60.         $pp = $num_pages;
  61.     }
  62.  
  63.     if ($num_pages > 1) {
  64.         for ($i = $pm;$i <= $pp; $i++) {
  65.             if ($i == $p) {
  66.                 $echo .= '<div class="'.$def['button-current'].'">'.$i."</div>\n";
  67.             } else {
  68.                 $echo .= '<a class="'.$def['button-link'].'" href="'.$page_link.$def['get-title'].'='.$i.'">'.$i."</a>\n";
  69.             }
  70.         }
  71.         if ($p != $num_pages) {
  72.             if ($p < $num_pages) {
  73.                 $next = $p + 1;
  74.             }
  75.             $echo .= '<a class="'.$def['button-foward'].'" href="'.$page_link.$def['get-title'].'='.$next.'">дальше</a>';
  76.         }
  77.         if ($ech == true) {
  78.             echo $echo;
  79.         } else {
  80.             return $echo;
  81.         }
  82.     }
  83. }
RAW Paste Data