function paginate( $offset, $total_recs, $max_rec, $url)
{
global $TPL;
$total_pages = ceil( $total_recs / $max_rec );
// build first page and prev link
if( $offset > 1 )
{
$link_pages .= "« First ";
$link_pages .= "«";
}
else
{
$link_pages .= "« First ";
$link_pages .= "«";
}
if( $offset - 5 < 1 )
{
$link_page_start = 0;
$link_page_end = ( 10 < $total_pages ) ? 10 : $total_pages ;
}
elseif( $offset + 5 > $total_pages )
{
$link_page_start = $total_pages - 10;
$link_page_end = $total_pages;
}
else
{
$link_page_start = $offset - 5;
$link_page_end = $offset + 5;
}
// build page links html
for( $i = $link_page_start; $i < $link_page_end; $i++ )
{
if( ($i + 1) == $offset )
{
$link_pages .= " " . ($i + 1) . " ";
}
else
{
$link_pages .= " " . ($i + 1) . " ";
}
}
// build last page and next link
if( $offset < $total_pages )
{
$link_pages .= "»";
$link_pages .= " Last »";
}
else
{
$link_pages .= "» ";
$link_pages .= " Last » ";
}
$TPL->assign_var("PAGINATION", $link_pages);
}