Вход Регистрация
Файл: vzabave/class/navigator.php
Строк: 69
<?php
##########################################
# ~ Разработка отдельных модулей ~~~~~~~ #
# ~ и написание скриптов на php (c)KoT ~ #
# ~ ICQ: 7675072 ~~~~~~~~~~~~~~~~~~~~~~~ #
# ~ Site: 4atlove.ru ~~~~~~~~~~~~~~~~~~~ #
# ~ E-mail: notefree@bk.ru ~~~~~~~~~~~~~ #
##########################################

class navigator {
    public 
$all 0;
    public 
$page;
    public 
$start 0;
    public 
$end 0;
    public 
$limit 'LIMIT 0';

    public 
$htmlForm =  '<form action="%s" method="post"><div>К странице: <input type="text" name="page" size="3"  value="%s"><input type="submit" name="" value="&gt;&gt;"></div></form>';

    public 
$buttonBack '&laquo;<a href="%s&amp;page=%s">Назад</a>';

    public 
$buttonBackName '&laquo;Назад';

    public 
$buttonForward '<a href="%s&amp;page=%s">Вперед</a>&raquo;<br />';

    public 
$buttonForwardName 'Вперед&raquo;<br />';

    public 
$separator ' | ';

    public 
$listStr 'Стр: %s <a href="%s&amp;page=%s" title="Вперед">&raquo;</a><br />';

    public 
$blocAllNavi '%1$s  %2$s %3$s';

    function 
__construct($all$pnumber$skript '')
    {
        
$this->all $all;
        
$this->skript $skript == '' $_SERVER['SCRIPT_NAME'].'?' rtrim($skript);
        
$this->page = isset($_REQUEST['page']) && (int)$_REQUEST['page'] ? (int)$_REQUEST['page'] : 1;
        
$this->num_pages ceil($all $pnumber);
        if(isset(
$_GET['last'])) $this->page $this->num_pages;
        if(
$this->page $this->num_pages || $this->page 1$this->page 1;
        if(
$all){
            
$this->start $this->page $pnumber $pnumber;
            
$this->end = ($end $this->start $pnumber) > $all $all $end;
            
$this->limit sprintf('LIMIT %s,%s'$this->start$pnumber);
        }

        
$this->pnumber $pnumber;
    }
    function 
form(){
        return (
$this->num_pages 2) ? '' sprintf($this->htmlForm$this->skript$this->page);
    }
    function 
button()
    {
        
$back $this->page sprintf($this->buttonBack$this->skript$this->page-1) : $this->buttonBackName;
        
$forward $this->page != $this->num_pages sprintf($this->buttonForward$this->skript$this->page+1) : $this->buttonForwardName;
        return (
$this->num_pages 2) ? '' $back.$this->separator.$forward;
    }
    function 
str()
    {
        
$buff '';
        for(
$pr ''$i 1$i <= $this->num_pages$i++) {
            
$buff .= $pr = (($i == || $i == $this->num_pages || abs($i $this->page) < 3) ? ($i == $this->page '['.$i.']' sprintf(' <a href="%spage=%s">%2$s</a> '$this->skript$i)) : (($pr == ' ... ' || $pr == '') ? '' ' ... '));
        }
        return (
$this->num_pages 2) ? '' :  sprintf($this->listStr$buff$this->skript, ($this->page != $this->num_pages $this->page+$this->page) );
    }
    function 
navi($str true$button false$form false)
    {
        
$str $str $this->str() : '';
        
$button $button $this->button() : '';
        
$form $form $this->form() : '';
        return 
sprintf($this->blocAllNavi$button$str$form);
    }
}

?>
Онлайн: 3
Реклама