Server IP : 103.233.192.212 / Your IP : 18.118.155.106 Web Server : Apache/2 System : Linux sv1.inde.co.th 3.10.0-1160.36.2.el7.x86_64 #1 SMP Wed Jul 21 11:57:15 UTC 2021 x86_64 User : sumpatuan ( 1058) PHP Version : 5.5.38 Disable Function : symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,putenv,passthru,escapeshellarg,escapeshellcmd,pcntl_exec,proc_get_status,proc_nice,proc_terminate,pclose,ini_alter,virtual,openlog,ini_restore MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/sumpatuan/public_html/backup/protected/extensions/bootstrap/widgets/ |
Upload File : |
<?php /** * TbGridView class file. * @author Christoffer Niska <ChristofferNiska@gmail.com> * @copyright Copyright © Christoffer Niska 2011- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License * @package bootstrap.widgets */ Yii::import('zii.widgets.grid.CGridView'); Yii::import('bootstrap.widgets.TbDataColumn'); /** * Bootstrap Zii grid view. */ class TbGridView extends CGridView { // Table types. const TYPE_STRIPED = 'striped'; const TYPE_BORDERED = 'bordered'; const TYPE_CONDENSED = 'condensed'; const TYPE_HOVER = 'hover'; /** * @var string|array the table type. * Valid values are 'striped', 'bordered' and/or 'condensed'. */ public $type; /** * @var string the CSS class name for the pager container. Defaults to 'pagination'. */ public $pagerCssClass = 'pagination'; /** * @var array the configuration for the pager. * Defaults to <code>array('class'=>'ext.bootstrap.widgets.TbPager')</code>. */ public $pager = array('class'=>'bootstrap.widgets.TbPager'); /** * @var string the URL of the CSS file used by this grid view. * Defaults to false, meaning that no CSS will be included. */ public $cssFile = false; /** * Initializes the widget. */ public function init() { parent::init(); $classes = array('table'); if (isset($this->type)) { if (is_string($this->type)) $this->type = explode(' ', $this->type); if (!empty($this->type)) { $validTypes = array(self::TYPE_STRIPED, self::TYPE_BORDERED, self::TYPE_CONDENSED, self::TYPE_HOVER); foreach ($this->type as $type) { if (in_array($type, $validTypes)) $classes[] = 'table-'.$type; } } } if (!empty($classes)) { $classes = implode(' ', $classes); if (isset($this->itemsCssClass)) $this->itemsCssClass .= ' '.$classes; else $this->itemsCssClass = $classes; } } /** * Creates column objects and initializes them. */ protected function initColumns() { foreach ($this->columns as $i => $column) { if (is_array($column) && !isset($column['class'])) $this->columns[$i]['class'] = 'bootstrap.widgets.TbDataColumn'; } parent::initColumns(); } /** * Creates a column based on a shortcut column specification string. * @param mixed $text the column specification string * @return \TbDataColumn|\CDataColumn the column instance * @throws CException if the column format is incorrect */ protected function createDataColumn($text) { if (!preg_match('/^([\w\.]+)(:(\w*))?(:(.*))?$/', $text, $matches)) throw new CException(Yii::t('zii', 'The column must be specified in the format of "Name:Type:Label", where "Type" and "Label" are optional.')); $column = new TbDataColumn($this); $column->name = $matches[1]; if (isset($matches[3]) && $matches[3] !== '') $column->type = $matches[3]; if (isset($matches[5])) $column->header = $matches[5]; return $column; } }