class Pager {
var $page;
var $perpage;
var $total;
var $link;
var $pages;
var $maxpage;
var $minpage;
var $rest;
function __construct($page,$perpage,$total,$link='',$GETPram=''){
$mode='1';$next='1';$prev='1';$end='1';$start='1';
// if (substr($link,0,4)!='http')
// = "?";
// إن لم يتواجد رقم الصفحة
if ($page == 0){$page=1;}
$resvar='';
// إدخال القيم للفئة
$this->page = $page;
$this->perpage = $perpage;
$this->total = $total;
$this->link = $link;
// لإضفة & فى حالة إضافة متغيرات أخرى
if((isset($this->link))&&($this->link!='')){
$this->link = $this->link.'/';
}
// فى حالة أن عدد النتائج أكبر من العدد المفترض أن يكون فى الصفحة الأولى
if ($this->total > $this->perpage){
// سيتم حساب عدد الصفحات وتقريبها إلى الأكبر
$this->pages = ceil($this->total/$this->perpage);
// لعرض زر أول صفحة
if ($start == 1 && $this->page > 1){
$resvar .= "link."1".$GETPram."\" title=\"".__('First Page')."\">«\n";
}
// لعرض زر السابق
if ($prev == 1 && $this->page > 1){
$page_prev = $this->page-1;
$resvar .= "link.$page_prev.$GETPram."\" title=\"".__('Previous')."\"><\n";
}
if ($mode == 1){
// لتحديد بداية التكرار
if ($this->page-3 <= $this->pages && $this->page-3 > 1){
$this->minpage = $this->page-3;
//$resvar .= '[1].. ';
}elseif ($this->page-2 <= $this->pages && $this->page-2 > 1){
$this->minpage = $this->page-3;
}elseif ($this->page-1 <= $this->pages && $this->page-1 > 1){
$this->minpage = $this->page-2;
}elseif ($this->page <= $this->pages && $this->page > 1){
$this->minpage = $this->page-1;
}else{
$this->minpage = $this->page;
}
// لتحديد نهاية التكرار
if ($this->page+3 <= $this->pages){
$this->maxpage = $this->page+3;
//$resvar .= '..[10] ';
}elseif ($this->page+2 <= $this->pages){
$this->maxpage = $this->page+2;
}elseif ($this->page+1 < $this->pages){
$this->maxpage = $this->page+1;
}else{
$this->maxpage = $this->pages;
}
// عمل تكرار لعد الصفحات
for ($i=$this->minpage ; $i<=$this->maxpage ; $i++){
if ($this->page == $i && $this->page == 1){
// فى حالة أنها هى الصفحة الحالية
$resvar .= "".$i."\n";
}elseif ($this->page == $i && $this->page <> 1 && $this->page <> $this->pages){
// فى حالة أنها هى الصفحة الحالية
$resvar .= "".$i."\n";
}elseif ($this->page == $i && $this->page == $this->pages){
// فى حالة أنها هى الصفحة الحالية
$resvar .= "".$i."\n";
}else{
$resvar .= "link.$i.$GETPram."\">".$i." \n";
}
}
}else{
// عمل تكرار لعد الصفحات
for ($i=1 ; $i<=$this->pages ; $i++){
if ($this->page == $i && $this->page == 1){
// فى حالة أنها هى الصفحة الحالية
$resvar .= "".$i.".. \n";
}elseif ($this->page == $i && $this->page <> 1 && $this->page <> $this->pages){
// فى حالة أنها هى الصفحة الحالية
$resvar .= "..".$i."..\n";
}elseif ($this->page == $i && $this->page == $this->pages){
// فى حالة أنها هى الصفحة الحالية
$resvar .= "".$i."\n";
}else{
$resvar .= "link.$i.$GETPram."\">".$i." \n";
}
}
}
// لعرض زر التالى
if ($next == 1 && $this->page < $this->pages){
$page_next = $this->page+1;
$resvar .= "link.$page_next.$GETPram."\" title=\"".__('Next')."\">>\n";
}
// لعرض زر أخر صفحة
if ($end == 1 && $this->page < $this->pages){
$resvar .= "link.$this->pages.$GETPram."\" title=\"".__('Last Page')."\">»\n";
}
}
$this->rest = $resvar;
}
function GetLinks(){
return $this->rest;
}
}
function ShowTheLinks($T12){
return $T12;
}
?>