82 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			82 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
| 
 | |
|                         <div class="text-center">
 | |
|                             <div class="pagination">
 | |
| <?php
 | |
|     $param = '';
 | |
|     if (isset($_REQUEST['id'])) {
 | |
|         $param .= '&id=' . htmlspecialchars($_REQUEST['id']);
 | |
|     }
 | |
|     if (isset($_REQUEST['name'])) {
 | |
|         $param .= '&name=' . htmlspecialchars($_REQUEST['name']);
 | |
|     }
 | |
|     if (isset($_REQUEST['ip'])) {
 | |
|         $param .= '&ip=' . htmlspecialchars($_REQUEST['ip']);
 | |
|     }
 | |
|     if (isset($_REQUEST['event'])) {
 | |
|         $param .= '&event=' . htmlspecialchars($_REQUEST['event']);
 | |
|     }
 | |
|     if (isset($_REQUEST['from_time'])) {
 | |
|         $param .= '&from_time=' . htmlspecialchars($from_time);
 | |
|     }
 | |
|     if (isset($_REQUEST['until_time'])) {
 | |
|         $param .= '&until_time=' . htmlspecialchars($until_time);
 | |
|     }
 | |
| 
 | |
|     $max_visible_pages = 10;
 | |
|     $step_pages = 10;
 | |
| 
 | |
|     if ($browse_page > 1) {
 | |
|         echo '<span><a href="' . htmlspecialchars($url) . '&p=1">first</a></span>';
 | |
|     } else {
 | |
|         echo '<span>first</span>';
 | |
|     }
 | |
| 
 | |
|     for ($i = 1; $i <= $page_count; $i++) {
 | |
|         // always show the first, last, step pages (10, 20, 30, etc.),
 | |
|         // and the pages close to the current one
 | |
|         if (
 | |
|             $i === 1 || // first page
 | |
|             $i === $page_count || // last page
 | |
|             $i === $browse_page || // current page
 | |
|             $i === $browse_page -1 ||
 | |
|             $i === $browse_page +1 ||
 | |
|             $i === $browse_page -2 ||
 | |
|             $i === $browse_page +2 ||
 | |
|             ($i % $step_pages === 0 && $i > $max_visible_pages) // the step pages - 10, 20, etc.
 | |
|         ) {
 | |
|             if ($i === $browse_page) {
 | |
|                 // current page, no link
 | |
|                 if ($browse_page > 1) {
 | |
|                     echo '<span><a href="' . htmlspecialchars($app_root) . '?platform=' . htmlspecialchars($platform_id) . '&page=' . htmlspecialchars($page) . $param . '&p=' . (htmlspecialchars($browse_page) -1) . '"><<</a></span>';
 | |
|                 } else {
 | |
|                     echo '<span><<</span>';
 | |
|                 }
 | |
|                 echo '[' . htmlspecialchars($i) . ']';
 | |
| 
 | |
|                 if ($browse_page < $page_count) {
 | |
|                     echo '<span><a href="' . htmlspecialchars($app_root) . '?platform=' . htmlspecialchars($platform_id) . '&page=' . htmlspecialchars($page) . $param . '&p=' . (htmlspecialchars($browse_page) +1) . '">>></a></span>';
 | |
|                 } else {
 | |
|                     echo '<span>>></span>';
 | |
|                 }
 | |
|             } else {
 | |
|                 // other pages
 | |
|                 echo '<span><a href="' . htmlspecialchars($app_root) . '?platform=' . htmlspecialchars($platform_id) . '&page=' . htmlspecialchars($page) . $param . '&p=' . htmlspecialchars($i) . '">[' . htmlspecialchars($i) . ']</a></span>';
 | |
|             }
 | |
|         // show ellipses between distant pages
 | |
|         } elseif (
 | |
|             $i === $browse_page -3 ||
 | |
|             $i === $browse_page +3
 | |
|         ) {
 | |
|             echo '<span>...</span>';
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     if ($browse_page < $page_count) {
 | |
|         echo '<span><a href="' . htmlspecialchars($app_root) . '?platform=' . htmlspecialchars($platform_id) . '&page=' . htmlspecialchars($page) . $param . '&p=' . (htmlspecialchars($page_count)) . '">last</a></span>';
 | |
|     } else {
 | |
|         echo '<span>last</span>';
 | |
|     }
 | |
| ?>
 | |
|                             </div>
 | |
|                         </div>
 |