Вход Регистрация
Файл: protected/components/extended/web/widgets/MyCLinkPager.php
Строк: 115
<?

class MyCLinkPager extends CLinkPager
{
    public 
$pageVar;
    public 
$displayVar;

    public function 
init()
    {
        
parent::init();
    }

    protected function 
createPageButtons()
    {
        if((
$pageCount=$this->getPageCount())<=1)
            return array();

        list(
$beginPage,$endPage)=$this->getPageRange();
        
$currentPage=$this->getCurrentPage(false); // currentPage is calculated in getPageRange()
        
$buttons=array();

        
// first page
        
if($beginPage!=0)
            
$buttons[]=$this->createFirstPageButton(1,0,$this->firstPageCssClass,$currentPage<=0,false);

        
// prev page
        
if(($page=$currentPage-1)<0)
            
$page=0;
        if(
$currentPage != $beginPage)
            
$buttons[]=$this->createPageButton($this->prevPageLabel,$page,$this->previousPageCssClass,$currentPage<=0,false);

        
// internal pages
        
for($i=$beginPage;$i<=$endPage;++$i)
            
$buttons[]=$this->createPageButton($i+1,$i,$this->internalPageCssClass,false,$i==$currentPage);

        
// next page
        
if(($page=$currentPage+1)>=$pageCount-1)
            
$page=$pageCount-1;
        if(
$currentPage != $endPage)
            
$buttons[]=$this->createPageButton($this->nextPageLabel,$page,$this->nextPageCssClass,$currentPage>=$pageCount-1,false);

        
// last page
        
if($endPage!=$pageCount-1)
            
$buttons[]=$this->createLastPageButton($pageCount,$pageCount-1,$this->lastPageCssClass,$currentPage>=$pageCount-1,false);

        return 
$buttons;
    }
    protected function 
createFirstPageButton($label,$page,$class,$hidden,$selected){
        
$page++;
        
$link "?$this->pageVar=$page&";
        list(
$beginPage,$endPage)=$this->getPageRange();
        if(
$display Yii::app()->request->getParam('display'))
            
$link.="&display=$display&";

        if(
$hidden || $selected)
            
$class.=' '.($hidden $this->hiddenPageCssClass $this->selectedPageCssClass);
        if(
$page == $beginPage)
            return 
'<li class="'.$class.'"><a href="'.$link.$this->getUrlParams().'">'.$label.'</a></li>';
        return 
'<li class="'.$class.'"><a href="'.$link.$this->getUrlParams().'">'.$label.'</a> ...</li>';
    }
    protected function 
createLastPageButton($label,$page,$class,$hidden,$selected){
        
$page++;
        
$link "?$this->pageVar=$page&";
        list(
$beginPage,$endPage)=$this->getPageRange();
        if(
$display Yii::app()->request->getParam('display'))
            
$link.="&display=$display&";

        if(
$hidden || $selected)
            
$class.=' '.($hidden $this->hiddenPageCssClass $this->selectedPageCssClass);
        if(
$page-== $endPage)
            return 
'<li class="'.$class.'"><a href="'.$link.$this->getUrlParams().'">'.$label.'</a></li>';
        return 
'<li class="'.$class.'">... <a href="'.$link.$this->getUrlParams().'">'.$label.'</a></li>';
    }
    protected function 
createPageButton($label,$page,$class,$hidden,$selected)
    {
        
$page++;
        
$link "?$this->pageVar=$page&";
        if(
$display Yii::app()->request->getParam('display'))
            
$link.="&display=$display&";

        if(
$hidden || $selected)
            
$class.=' '.($hidden $this->hiddenPageCssClass $this->selectedPageCssClass);
        return 
'<li class="'.$class.'"><a href="'.$link.$this->getUrlParams().'">'.$label.'</a></li>';
    }
    public function  
getUrlParams(){
        
$params $_GET;
        unset(
$params[$this->pageVar]);
//        unset($params[$this->displayVar]);
        
return http_build_query($params);
    }
}
Онлайн: 0
Реклама