Вход Регистрация
Файл: libs/other/Pagination.php
Строк: 62
<?php

class Pagination {

    public function 
menu($table, $url, $pager, $where = "", $per_page = PAGES, $offset = 2, $type = NULL){

        if (
$type != 'search') {
            
$sql = "SELECT COUNT(*) FROM `$table` $where";
            
$query = Flight::db()->query($sql);
            
$rows = $query->fetchColumn();
        } else {
            
$v = Flight::db()->prepare("SELECT * FROM video WHERE {$_SESSION['s_type']} LIKE CONCAT('%', :search, '%')");
            
$v->execute(array(':search' => $_SESSION['s_query']));
            
            
            
$rows = count($v->fetchAll());         
        }
        
        if (!empty(
$per_page))
            
$per_page = (int)$per_page;
        else
            
$per_page = 10;

        
$last = ceil($rows / $per_page );

        if (
$last < 1)
            
$last = 1;

        
$pagenum = 1;

        if (isset(
$pager))
            
$pagenum = (int)$pager;

        if (
$pagenum < 1)
            
$pagenum = 1;
        elseif (
$pagenum > $last)
            
$pagenum = $last;

        
$limit = 'LIMIT '.($pagenum - 1) * $per_page.','.$per_page;
        
$this->limit = $limit;

        
$paginationCtrls = '<div class="pagination"><center>';

        if (
$last != 1){

            if (
$pagenum == 1){
                
$paginationCtrls .= '<span class="active"> <<</span> ';
            }

            if (
$pagenum > 1){
                
$previous = $pagenum - 1;
                
$paginationCtrls .= '<a href="'.$url.'/page/1"> <<</a> ';
                for (
$i = $pagenum-$offset; $i< $pagenum; $i++){
                    if (
$i>0){
                        
$paginationCtrls .= '<a href="'.$url.'/page/'.$i.'"> '.$i.'</a> ';
                    }
                }
            }

            
$paginationCtrls .= '<span class="active"> '.$pagenum.'</span> ';

            for (
$i = $pagenum+1; $i<=$last; $i++){
                
$paginationCtrls .= '<a href="'.$url.'/page/'.$i.'"> '.$i.'</a> ';
                if (
$i >= $pagenum+$offset){
                    break;
                }
            }

            if (
$pagenum != $last) {
                
$next = $pagenum + 1;
                
$paginationCtrls .= '<a href="' . $url . '/page/' . $last . '"> >></a> ';
            }

            if (
$pagenum == $last){
                
$paginationCtrls .= '<span class="active"> >></div> ';
            }
        }

        
$paginationCtrls .= "</center></div>";
        return 
$paginationCtrls;

    }
    public function 
limit(){
        return 
$this->limit;
    }
}
Онлайн: 2
Реклама