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

// Постраничная навигация

class Pagination {

    public 
$k_post$post$k_page$page$start$end;
    private 
$link '?';
    private 
$get 'page';

    function 
__construct($k_post$post) {

        
$this->k_post intval($k_post);
        
$this->post intval($post);

        
$this->k_page $this->k_post != ceil($this->k_post $this->post) : 1;
        
$this->page $this->page();
        
$this->end $this->post $this->page;
        
$this->start $this->end $this->post;

    }

    
/* Сортировка массива для постраничной навигации */

    
public function pageDataArray($dataArray) {

        
$pagedData = [];

        
$indArr 0;

        foreach (
$dataArray as $value) {

            if (
$indArr >= $this->start &&
                
$indArr $this->end)
                    
$pagedData[] = $value;

            
$indArr++;

        }

        return 
$pagedData;

    }

    public function 
setLink($link) {

        
$this->link $link;

    }

    public function 
setGET($get) {

        
$this->get $get;
        
$this->page $this->page();
        
$this->end $this->post $this->page;
        
$this->start $this->end $this->post;

    }

    public function 
page() {

        if (isset(
$_GET[$this->get])) {

            if (
$_GET[$this->get] == 'end') {

                
$page $this->k_page;

            } elseif (
is_numeric($_GET[$this->get])) {

                
$page $_GET[$this->get];

            }

            if (
$page 1) {

                
$page 1;

            } else {

                if (
$page $this->k_page) {

                     
$page $this->k_page;

                }

            }

        } else {

            
$page 1;

        }

        return 
intval($page);

    }

    public function 
navigation($return false) {

        
$output NULL;

        if (
$this->k_page 1) {

            
$output .= '<div class="menu">
            <div class="page">'
;

            if (
$this->page != 1) {

                
$output .= '<a href="' $this->link $this->get '=1">1</a>';

            } else {

                
$output .= '<span>1</span>';

            }

            for (
$i = -3$i <= 3$i++) {

                if (
$this->page $i && $this->page $i $this->k_page) {

                    if (
$i == -&& $this->page $i 2) {

                        
$output .= '<span>...</span>';

                    }

                    if (
$i != 0) {

                        
$output .= '<a href="' $this->link $this->get '=' . ($this->page $i) . '">' . ($this->page $i) . '</a>';

                    } else {

                        
$output .= '<span>' . ($this->page $i) . '</span>';

                    }

                    if (
$i == && $this->page $i $this->k_page 1) {

                        
$output .= '<span>...</span>';

                    }

                }

            }

            if (
$this->page != $this->k_page) {

                
$output .= '<a href="' $this->link $this->get '=end" class="end">' $this->k_page '</a>';

            } elseif (
$this->k_page 1) {

                
$output .= '<span>' $this->k_page '</span>';

            }

            
$output .= '</div></div>';

        }

        if (
$return) {

            return 
$output;

        } else {

            echo 
$output;

        }

    }

}
Онлайн: 0
Реклама