Added new (clean) yii boilerplate
This commit is contained in:
88
framework/web/widgets/pagers/CListPager.php
Normal file
88
framework/web/widgets/pagers/CListPager.php
Normal file
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
/**
|
||||
* CListPager class file.
|
||||
*
|
||||
* @author Qiang Xue <qiang.xue@gmail.com>
|
||||
* @link http://www.yiiframework.com/
|
||||
* @copyright 2008-2013 Yii Software LLC
|
||||
* @license http://www.yiiframework.com/license/
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* CListPager displays a dropdown list that contains options leading to different pages of target.
|
||||
*
|
||||
* @author Qiang Xue <qiang.xue@gmail.com>
|
||||
* @package system.web.widgets.pagers
|
||||
* @since 1.0
|
||||
*/
|
||||
class CListPager extends CBasePager
|
||||
{
|
||||
/**
|
||||
* @var string the text shown before page buttons. Defaults to 'Go to page: '.
|
||||
*/
|
||||
public $header;
|
||||
/**
|
||||
* @var string the text shown after page buttons.
|
||||
*/
|
||||
public $footer;
|
||||
/**
|
||||
* @var string the text displayed as a prompt option in the dropdown list. Defaults to null, meaning no prompt.
|
||||
*/
|
||||
public $promptText;
|
||||
/**
|
||||
* @var string the format string used to generate page selection text.
|
||||
* The sprintf function will be used to perform the formatting.
|
||||
*/
|
||||
public $pageTextFormat;
|
||||
/**
|
||||
* @var array HTML attributes for the enclosing 'div' tag.
|
||||
*/
|
||||
public $htmlOptions=array();
|
||||
|
||||
/**
|
||||
* Initializes the pager by setting some default property values.
|
||||
*/
|
||||
public function init()
|
||||
{
|
||||
if($this->header===null)
|
||||
$this->header=Yii::t('yii','Go to page: ');
|
||||
if(!isset($this->htmlOptions['id']))
|
||||
$this->htmlOptions['id']=$this->getId();
|
||||
if($this->promptText!==null)
|
||||
$this->htmlOptions['prompt']=$this->promptText;
|
||||
if(!isset($this->htmlOptions['onchange']))
|
||||
$this->htmlOptions['onchange']="if(this.value!='') {window.location=this.value;};";
|
||||
}
|
||||
|
||||
/**
|
||||
* Executes the widget.
|
||||
* This overrides the parent implementation by displaying the generated page buttons.
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
if(($pageCount=$this->getPageCount())<=1)
|
||||
return;
|
||||
$pages=array();
|
||||
for($i=0;$i<$pageCount;++$i)
|
||||
$pages[$this->createPageUrl($i)]=$this->generatePageText($i);
|
||||
$selection=$this->createPageUrl($this->getCurrentPage());
|
||||
echo $this->header;
|
||||
echo CHtml::dropDownList($this->getId(),$selection,$pages,$this->htmlOptions);
|
||||
echo $this->footer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates the list option for the specified page number.
|
||||
* You may override this method to customize the option display.
|
||||
* @param integer $page zero-based page number
|
||||
* @return string the list option for the page number
|
||||
*/
|
||||
protected function generatePageText($page)
|
||||
{
|
||||
if($this->pageTextFormat!==null)
|
||||
return sprintf($this->pageTextFormat,$page+1);
|
||||
else
|
||||
return $page+1;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user