<?php
class Paging{
	function cariPosisi($batas){
		$halaman = @$_GET['halaman'];
		if(empty($halaman)){
			$position = 0;
			$halaman = 1;
		}else{
			$position = ($halaman - 1) * $batas;
		}
		return $position;
	}
	
	function jmlHalaman($jmlData,$batas){
		$jmlHal = ceil($jmlData/$batas);
		return $jmlHal;
	}
	
	Function linkHal($halamanAktif,$jumlahHalaman){
		
		$link_halaman = "<nav aria-label='Page navigation'>
  						<ul class='pagination'>";
		$file = $_SERVER['PHP_SELF'];
		
		// Link First dan Previous
		$prev = $halamanAktif-1;
		if($halamanAktif < 2){
			$link_halaman .= "";
		}else{
			$link_halaman .= "
			<li>
      			<a href='$file?halaman=1' aria-label='Previous'>
        		<span aria-hidden='true'>&laquo;</span>
      			</a>
    			</li>  ";
		}
		
		// link halaman 1,2,3,...
		// Angka awal
		$angka = ($halamanAktif > 10 ? "<li class='disabled'><a disabled>...</a></li> " : " ");
		for($i=$halamanAktif-9;$i<$halamanAktif;$i++){
			if ($i < 1 )continue;
			$angka .= "<li><a href='$file?halaman=$i'>$i</a></li>";
		}
		
		// Angka tengah
		$angka .= "<li class='active'><a disabled>$halamanAktif</a></li>";
		for($i=$halamanAktif+1;$i<($halamanAktif+10);$i++){
			if($i > $jumlahHalaman) break;
			$angka .= "<li><a href='$file?halaman=$i'>$i</a></li>";
		}
		
		// ANgka Akhir
		$angka .= ($halamanAktif+10<$jumlahHalaman ? " <li class='disabled'><a disabled>...</a></li>  " : "");
		
		$link_halaman .= $angka;
		
		// Link Next dan Last
		if($halamanAktif < $jumlahHalaman){
			$next = $halamanAktif+1;
			$link_halaman .= "
    <li><a href=$file?halaman=$jumlahHalaman><span aria-hidden='true'>&raquo;</span></a></li>
   ";
		}else{
			$link_halaman .="</ul></nav>";
		}
		return $link_halaman;
	}
}
?>
