<?php
class pages
{


var $pages = 0; // количество страниц
var $posts = 0; // количество пунктов всего
var $items_per_page = 10; // количество пунктов на одну страницу
var $this_page = 1; // текущая страница


function pages($posts=0){
global $user;
$this->items_per_page=$user->items_per_page;
$this->posts = $posts;
}

// получение текущей страницы
function this_page(){
$this->count();
if (isset($_GET['page'])){
if ($_GET['page']=='end')
$this->this_page=$this->pages;
elseif(is_numeric($_GET['page']))
$this->this_page= max(1,min($this->pages,intval($_GET['page'])));
else $this->this_page=1;
}
else $this->this_page=1;
}

// старт извлечения из базы
function my_start(){
return $this->items_per_page*($this->this_page-1);
}

// конец
function end(){
return $this->items_per_page*$this->this_page;
}

// пересчет количества страниц
function count(){
if (!$this->posts)
$this->pages=1;
else $this->pages=ceil($this->posts/$this->items_per_page);
}

// вывод списка страниц
function listing($link){
if ($this->pages>1){
$list = new design();
$list->assign('link',$link);
$list->assign('k_page',$this->pages);
$list->assign('page',$this->this_page);
$list->display('design.pages.tpl');
}
}

}
?>