Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* Setup page vars for display. */
- if ($page == 0) $page = 1; //if no page var is given, default to 1.
- $prev = $page - 1; //previous page is page - 1
- $next = $page + 1; //next page is page + 1
- $lastpage = ceil($total_pages/$limit); //lastpage is = total pages / items per page, rounded up.
- $lpm1 = $lastpage - 1; //last page minus 1
- /*
- Now we apply our rules and draw the pagination object.
- We're actually saving the code to a variable in case we want to draw it more than once.
- */
- $pagination = "";
- if($lastpage > 1)
- {
- $pagination .= "<div class=\"pagination\">";
- //previous buttons
- if ($page > 1)
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$prev\">previous</a>";
- else
- $pagination.= "<a class='disabled'><buttons disabled>previous</buttons></a>";
- //pages
- if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up
- {
- for ($counter = 1; $counter <= $lastpage; $counter++)
- {
- if ($counter == $page)
- $pagination.= "<a class='current'><buttons style='background-color:#CEF6F5'>$counter</buttons></a>";
- else
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$counter\">$counter</a>";
- }
- }
- elseif($lastpage > 5 + ($adjacents * 2)) //enough pages to hide some
- {
- //close to beginning; only hide later pages
- if($page < 1 + ($adjacents * 2))
- {
- for ($counter = 1; $counter < 1 + ($adjacents * 2); $counter++)
- {
- if ($counter == $page)
- $pagination.= "<a class='current'><buttons style='background-color:#CEF6F5'>$counter</buttons></a>";
- else
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$counter\">$counter</a>";
- }
- $pagination.= "...";
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$lpm1\">$lpm1</a>";
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$lastpage\">$lastpage</a>";
- }
- //in middle; hide some front and some back
- elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
- {
- $pagination.= "<a class='buttons' href=\"$targetpage?page=1\"> 1 </a>";
- $pagination.= "<a class='buttons' href=\"$targetpage?page=2\"> 2 </a>";
- $pagination.= "...";
- for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
- {
- if ($counter == $page)
- $pagination.= "<a class='current'><buttons style='background-color:#CEF6F5'>$counter</buttons></a>";
- else
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$counter\">$counter</a>";
- }
- $pagination.= "...";
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$lpm1\">$lpm1</a>";
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$lastpage\">$lastpage</a>";
- }
- //close to end; only hide early pages
- else
- {
- $pagination.= "<a href=\"$targetpage?page=1\">1</a>";
- $pagination.= "<a href=\"$targetpage?page=2\">2</a>";
- $pagination.= "...";
- for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
- {
- if ($counter == $page)
- $pagination.= "<a class='current'><buttons style='background-color:#CEF6F5'>$counter</buttons></a>";
- else
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$counter\">$counter</a>";
- }
- }
- }
- //next buttons
- if ($page < $counter - 1)
- $pagination.= "<a class='buttons' href=\"$targetpage?page=$next\">next</a>";
- else
- $pagination.= "<a class='buttons'>next</a>";
- $pagination.= "</div>\n";
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement