query($wpdb->prepare(“SELECT video_id, video_title, video_description, video_width, video_height, video_thumbnail FROM $wpdb->vvi_videos ORDER BY video_added DESC”));
$limit = 150; //how many items to show per page
$page = isset($_GET[‘page’]) ? $_GET[‘page’] : false;
if ($page)
$start = ($page – 1) * $limit;
else
$start = 0;
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_videos/$limit); //lastpage is = total pages / items per page, rounded up.
$lpm1 = $lastpage – 1; //last page minus 1
$pagination = “”;
if($lastpage > 1)
{
$pagination .= “
“;
//previous button
if ($page > 1)
$pagination.= “
◄“;
//pages
if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "$counter“;
else
$pagination.= “$counter“;
}
}
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 < 4 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= "$counter“;
else
$pagination.= “$counter“;
}
$pagination.= “…“;
$pagination.= “$lpm1“;
$pagination.= “$lastpage“;
}
//in middle; hide some front and some back
elseif($lastpage – ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= “1“;
$pagination.= “2“;
$pagination.= “…“;
for ($counter = $page – $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= "$counter“;
else
$pagination.= “$counter“;
}
$pagination.= “…“;
$pagination.= “$lpm1“;
$pagination.= “$lastpage“;
}
//close to end; only hide early pages
else
{
$pagination.= “1“;
$pagination.= “2“;
$pagination.= “…“;
for ($counter = $lastpage – %2