$total) { $next_offset = $start; } // Prev $prev_offset = $start - $limit; if ($prev_offset < 0) { $prev_offset = '0'; } /* Calculate how many pages total exist */ $pages = ceil($total/$limit); /* Calculate current page and how many we have on each side */ $page_data = array('up'=>array(),'down'=>array()); // Can't Divide by 0 if ($start> 0) { $current_page = floor($start/$limit); } else { $current_page = 0; } /* Create 10 pages in either direction */ // Down First $page = $current_page; $i = 0; /* While we have pages left */ while ($page > 0) { if ($i == $sides) { $page_data['down'][1] = '...'; $page_data['down'][0] = '0'; break; } $i++; $page = $page - 1; $page_data['down'][$page] = $page * $limit; } // while page > 0 // Up Next $page = $current_page+1; $i = 0; /* While we have pages left */ while ($page <= $pages) { if ($page * $limit > $total) { break; } if ($i == $sides) { $key = $pages - 1; if (!$page_data['up'][$key]) { $page_data['up'][$key] = '...'; } $page_data['up'][$pages] = ($pages-1) * $limit; break; } $i++; $page = $page + 1; $page_data['up'][$page] = ($page-1) * $limit; } // end while // Sort These Arrays of Hotness ksort($page_data['up']); ksort($page_data['down']); $browse_type = Browse::get_type(); // are there enough items to even need this view? if ($pages > 1) { ?>
$offset) { if ($offset === '...') { echo '... '; } else { // Hack Alert $page++; echo Ajax::text('?page=browse&action=page&type=' . $browse_type .'&start=' . $offset,$page,'browse_' . $uid . 'page_' . $page,'','page-nb'); } } // end foreach down /* Echo Out current Page */ $current_page = $current_page +1; ?> $offset) { if ($offset === '...') { echo '... '; } else { echo Ajax::text('?page=browse&action=page&type=' . $browse_type . '&start=' . $offset,$page,'browse_' . $uid . 'page_' . $page,'','page-nb'); } // end else } // end foreach up ?>