58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * TbFormButtonElement class file.
 | |
|  * @author Christoffer Niska <christoffer.niska@gmail.com>
 | |
|  * @copyright Copyright © Christoffer Niska 2013-
 | |
|  * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
 | |
|  * @package bootstrap.form
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Bootstrap form button element.
 | |
|  */
 | |
| class TbFormButtonElement extends CFormButtonElement
 | |
| {
 | |
| 	/**
 | |
|      * Renders this button.
 | |
|      * @return string the rendering result.
 | |
|      */
 | |
|     public function render()
 | |
|     {
 | |
|         if (isset(self::$coreTypes[$this->type]))
 | |
| 		{
 | |
| 			return $this->renderCore();
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			return parent::render();
 | |
| 		}
 | |
|     }
 | |
| 
 | |
| 	/**
 | |
| 	 * This function renders a built in button type.
 | |
| 	 * The implementation is essentially a direct copy from
 | |
| 	 * CFormButtonElement::render, the only difference is it uses TbHtml.
 | |
| 	 * @return string the rendering result.
 | |
| 	 */
 | |
| 	public function renderCore()
 | |
| 	{
 | |
| 		$attributes=$this->attributes;
 | |
| 		$method=self::$coreTypes[$this->type];
 | |
| 		if($method==='linkButton')
 | |
| 		{
 | |
| 			if(!isset($attributes['params'][$this->name]))
 | |
| 				$attributes['params'][$this->name]=1;
 | |
| 		}
 | |
| 		elseif($method==='htmlButton')
 | |
| 		{
 | |
| 			$attributes['type']=$this->type==='htmlSubmit' ? 'submit' : ($this->type==='htmlReset' ? 'reset' : 'button');
 | |
| 			$attributes['name']=$this->name;
 | |
| 		}
 | |
| 		else
 | |
| 			$attributes['name']=$this->name;
 | |
| 		if($method==='imageButton')
 | |
| 			return TbHtml::imageButton(isset($attributes['src']) ? $attributes['src'] : '',$attributes);
 | |
| 		else
 | |
| 			return TbHtml::$method($this->label,$attributes);
 | |
| 	}
 | |
| } |