Add {{ if a==b }} and {{ if a!=b }} to templates

This commit is contained in:
Fabio Comuni 2011-06-13 18:02:40 +02:00
parent e14d5851a7
commit f80521923d

View file

@ -41,9 +41,24 @@
* IF node
*
* {{ if <$var> }}...{{ endif }}
* {{ if <$var>==<val|$var> }}...{{ endif }}
* {{ if <$var>!=<val|$var> }}...{{ endif }}
*/
private function _replcb_if($args){
$val = $this->_get_var($args[2]);
if (strpos($args[2],"==")>0){
list($a,$b) = array_map("trim",explode("==",$args[2]));
$a = $this->_get_var($a);
if ($b[0]=="$") $b = $this->_get_var($b);
$val = ($a == $b);
} else if (strpos($args[2],"!=")>0){
list($a,$b) = explode("!=",$args[2]);
$a = $this->_get_var($a);
if ($b[0]=="$") $b = $this->_get_var($b);
$val = ($a != $b);
} else {
$val = $this->_get_var($args[2]);
}
return ($val?$args[3]:"");
}