71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * CFormStringElement 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/
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * CFormStringElement represents a string in a form.
 | |
|  *
 | |
|  * @property string $on Scenario names separated by commas. Defaults to null.
 | |
|  *
 | |
|  * @author Qiang Xue <qiang.xue@gmail.com>
 | |
|  * @package system.web.form
 | |
|  * @since 1.1
 | |
|  */
 | |
| class CFormStringElement extends CFormElement
 | |
| {
 | |
| 	/**
 | |
| 	 * @var string the string content
 | |
| 	 */
 | |
| 	public $content;
 | |
| 
 | |
| 	private $_on;
 | |
| 
 | |
| 	/**
 | |
| 	 * Returns a value indicating under which scenarios this string is visible.
 | |
| 	 * If the value is empty, it means the string is visible under all scenarios.
 | |
| 	 * Otherwise, only when the model is in the scenario whose name can be found in
 | |
| 	 * this value, will the string be visible. See {@link CModel::scenario} for more
 | |
| 	 * information about model scenarios.
 | |
| 	 * @return string scenario names separated by commas. Defaults to null.
 | |
| 	 */
 | |
| 	public function getOn()
 | |
| 	{
 | |
| 		return $this->_on;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @param string $value scenario names separated by commas.
 | |
| 	 */
 | |
| 	public function setOn($value)
 | |
| 	{
 | |
| 		$this->_on=preg_split('/[\s,]+/',$value,-1,PREG_SPLIT_NO_EMPTY);
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Renders this element.
 | |
| 	 * The default implementation simply returns {@link content}.
 | |
| 	 * @return string the string content
 | |
| 	 */
 | |
| 	public function render()
 | |
| 	{
 | |
| 		return $this->content;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Evaluates the visibility of this element.
 | |
| 	 * This method will check the {@link on} property to see if
 | |
| 	 * the model is in a scenario that should have this string displayed.
 | |
| 	 * @return boolean whether this element is visible.
 | |
| 	 */
 | |
| 	protected function evaluateVisible()
 | |
| 	{
 | |
| 		return empty($this->_on) || in_array($this->getParent()->getModel()->getScenario(),$this->_on);
 | |
| 	}
 | |
| }
 |