<?php
 ##################################################################
 ## Development by CoMMoN web site author http://mirmastera.ru   ##
 ## fportal web site scripts http://fportal.tk                   ##
 ## All rights reserved authors                                  ##
 ##################################################################
class Navigation { 
  
/* Автор класса Okula (Александр Третьяков) 
Немного коментариев: 
$page это номер страницы переданной из $_GET параметра, предварительно отфильтрованна 
$pnumber это число элементов выводимых на страницу 
$begin это число от которого начинается отсчёт в SQl запросе 
$colp это общее количество элементов находящихся в базе
$urlp это url модуля 
*/ 
     public $pnumber, $begin, $page, $colp; 
  
     function __construct($pnumber, $page, $colp, $urlp) { 
        $this->pnumber = $pnumber; 
        $this->page = $page; 
        $this->colp = $colp; 
        $this->urlp = $urlp;
    } 
  
     /** 
     * Готовим данные для навигации 
     */ 
    function navi() { 
        if($this->page == 0) $this->page = 1; 
         
        if($this->colp/$this->pnumber < $this->page) $this->page = ceil($this->colp/$this->pnumber); 
        $this->begin=($this->page-1)*$this->pnumber; 
    } 
  
    /** 
     * Постаничная навигация 
     */ 
    function Navigation() { 
        $number = (int) ($this->colp/$this->pnumber); 
        if($this->colp >= ($this->pnumber+1)) { 
        if((float) ($this->colp/$this->pnumber)-$number !=0) $number++; 
        echo '<div class="menu">'; 
        if($this->page == "1") {echo"<< Пред. ";} 
  
        if($this->begin>0) { 
            echo "<a class='pagenav' href='".$this->urlp."&amp;page=".($this->page-1)."'><< Пред.</a>"; 
        } 

  
        $all = ceil($this->colp/$this->pnumber); $i=1;   $c="";   $tt=$this->page; 
        while($i<=$all) { 
            if($i<=3  || $i==$tt- 1  || $i==$tt || $i==$tt+1  || $i>=$all-2) { 
            $ii="<a class='pagenav' href='".$this->urlp."&amp;page=".$i."'>".$i."</a>"; 
            if($i==$tt) { 
                if($i!=$all){ $c.= "<b>".$i."</b>,"; 
                } else {$c.= "<b>".$i."</b>";} 
            } 
            else { if($i!=$all){ $c.= $ii.",";} else{$c.= $ii;} 
            } 
            } else {$c.= "."; } 
            $i++; 
        } 
        $c = preg_replace("/[,][.]+/", "...", $c); 
        echo " ".$c." ";
		
		
		  
        if($this->colp>$this->begin+$this->pnumber) {
        
            echo " <a class='pagenav' href='".$this->urlp."&amp;page=".($this->page+1)."'> След.>></a>"; 
        } 
        if($number == $this->page) {echo" След.>>";} 
		
		echo"</div>"; 
        } 
    } 
}

?>