openrat-cms

# OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs

If.class.php (1471B)


      1 <?php
      2 
      3 namespace template_engine\components;
      4 
      5 class IfComponent extends Component
      6 {
      7 	public $true;
      8 	public $false;
      9 	public $contains;
     10 	public $value;
     11 	public $empty;
     12 	public $equals;
     13 	public $lessthan;
     14 	public $greaterthan;
     15 	public $present;
     16 	public $not;
     17 	
     18 	
     19 	public function begin()
     20 	{
     21 		echo <<<'HTML'
     22 HTML;
     23 
     24 		echo '<?php $if'.$this->getDepth().'='.(!isset($this->not)?'':'!').'(';
     25 		if	( !empty($this->true ))
     26 			echo $this->value($this->true);
     27 		elseif (! empty($this->false))
     28 			echo '!' . $this->value($this->false);
     29 		elseif (! empty($this->contains))
     30 			echo 'in_array('.$this->value($this->value).',explode(",",'.$this->value($this->contains).')';
     31 		elseif (! empty($this->equals))
     32 			echo '' . $this->value($this->value).'=='.$this->value($this->equals);
     33 		elseif (strlen($this->lessthan)>0)
     34 			echo 'intval(' . $this->value($this->lessthan).')>intval('.$this->value($this->value).')';
     35 		elseif (strlen($this->greaterthan)>0)
     36 			echo 'intval(' . $this->value($this->greaterthan).')<intval('.$this->value($this->value).')';
     37 		elseif (! empty($this->present))
     38 			echo 'isset(' . $this->textasvarname($this->present).')'; // 'isset' verwenden! Nicht empty(), da false empty ist.
     39 		elseif (! empty($this->empty))
     40 			echo '(' . $this->textasvarname($this->empty).')==FALSE';
     41 		else
     42 			throw new \LogicException("Element 'if' has not enough parameters.");
     43 		
     44 		echo '); if($if'.$this->getDepth().'){?>';
     45 	}
     46 
     47 	public function end() {
     48 	    echo '<?php } ?>';
     49 	}
     50 }
     51 
     52 ?>