1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| function pagerData($request,$as,$limit=10,$getpage,$url=false,$host=false,$rewrite=false,$namepage=null,$debug=false){
$num = '';
foreach ($request as $t) $num_pages = $t[$as];
$num_pages = ceil($num_pages/$limit);
$totalpage = $num_pages;
$page = max($getpage, 1);
$page = min($getpage, $num_pages);
if($getpage > $limit || $getpage <= 0) {
$page = 1;
}
$debug?self::debugPager($page,$num_pages,$limit,$getpage):false;
$offset = $getpage;
if($offset > $num_pages)
{
$offset = $num_pages;
}
$offset = $this->pageOffset($limit,$getpage);
if ($rewrite == false) {
$rewrite = 'page=';
}else{
$rewrite = $namepage.'/';
}
if($getpage > 1)
{
$num .= '<a href="'.magixcjquery_html_helpersHtml::getUrl().$url.$rewrite.(min($getpage, 1)).$host.'">««</a>';
$num .= '<a href="'.magixcjquery_html_helpersHtml::getUrl().$url.$rewrite.($getpage - 1).$host.'">«</a>';
}
if($num_pages>1){
/*for($i=1; $i<=$num_pages; $i++){
if($i==$getpage){
$num .= '<div class="current">'.$i.'</div>';
}else{
$num .= '<a href="'.magixcjquery_html_helpersHtml::getUrl().$url.$rewrite.$i.$host.'">'.$i.'</a>';
}
}*/
foreach(self::listeLien($num_pages, $totalpage) as $i){
$num .= '<a href="'.magixcjquery_html_helpersHtml::getUrl().$url.$rewrite.$i.$host.'">'.$i.'</a>';
}
}
if ($getpage < $num_pages) {
$num .= '<a href="'.magixcjquery_html_helpersHtml::getUrl().$url.$rewrite.($getpage + 1).$host.'">»</a>';
$num .= '<a href="'.magixcjquery_html_helpersHtml::getUrl().$url.$rewrite.max($getpage, $num_pages).$host.'">»»</a>';
}
return $num;
}
/*print_r( listeLien( 3 , 20 ) );
print_r( listeLien( 10 , 20 ) );
print_r( listeLien( 18 , 20 ) );*/
function listeLien( $indexCourant , $max ){
if( $indexCourant <= 3 ){
$listeDebut = array();
$listeCourante = range( 1 , $indexCourant + 2 );
$listeFin = array_merge( array( '...' ) , range( $max - 2 , $max ) );
}
else if( $indexCourant >= $max -3 ){
$listeDebut = array_merge( range( 1 , 3 ) , array( '...' ) );
$listeCourante = range( $indexCourant - 2 , $max );
$listeFin = array();
}
else{
$listeDebut = array_merge( range( 1 , 3 ) , array( '...' ) );
$listeCourante = range( $indexCourant - 2 , $indexCourant + 2 );
$listeFin = array_merge( array( '...' ) , range( $max - 2 , $max ) );
}
return array_merge( $listeDebut , $listeCourante , $listeFin );
} |
Partager