diff options
author | Fabio Comuni <fabrix.xm@gmail.com> | 2012-02-29 14:58:37 +0100 |
---|---|---|
committer | Fabio Comuni <fabrix.xm@gmail.com> | 2012-02-29 14:58:37 +0100 |
commit | b71a3af4570ccf349804b9ffa151fc1d35287d88 (patch) | |
tree | 264c012a0c8ca28c4035666d35c547a829968a2a /include/template_processor.php | |
parent | f5b8654818e63a0583e58caecc8a13c2d83c12d5 (diff) | |
parent | fb33b4f2bcd18e63d311e6dba3aaa2ea5efdec3b (diff) | |
download | volse-hubzilla-b71a3af4570ccf349804b9ffa151fc1d35287d88.tar.gz volse-hubzilla-b71a3af4570ccf349804b9ffa151fc1d35287d88.tar.bz2 volse-hubzilla-b71a3af4570ccf349804b9ffa151fc1d35287d88.zip |
Merge remote-tracking branch 'friendica/master' into randomerror
Diffstat (limited to 'include/template_processor.php')
-rwxr-xr-x | include/template_processor.php | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/include/template_processor.php b/include/template_processor.php index 0d476f0e6..28c3f07dd 100755 --- a/include/template_processor.php +++ b/include/template_processor.php @@ -32,11 +32,12 @@ if(is_array($r) && count($r)) { foreach ($r as $k => $v ) { - if (is_array($v)) + if (is_array($v)) { $this->_build_replace($v, "$prefix$k."); - - $this->search[] = $prefix . $k; - $this->replace[] = $v; + } else { + $this->search[] = $prefix . $k; + $this->replace[] = $v; + } } } } @@ -53,7 +54,7 @@ $keys = array_map('trim',explode(".",$name)); $val = $this->r; foreach($keys as $k) { - $val = $val[$k]; + $val = (isset($val[$k]) ? $val[$k] : null); } return $val; } @@ -79,8 +80,8 @@ } else { $val = $this->_get_var($args[2]); } - list($strue, $sfalse)= preg_split("|{{ *else *}}|", $args[3]); - return ($val?$strue:$sfalse); + $x = preg_split("|{{ *else *}}|", $args[3]); + return ( $val ? $x[0] : (isset($x[1]) ? $x[1] : "")); } /** @@ -159,7 +160,8 @@ krsort($this->nodes); return $s; } - + + /* private function _str_replace($str){ #$this->search,$this->replace, $searchs = $this->search; @@ -182,7 +184,7 @@ } return str_replace($this->search,$this->replace, $str); - } + }*/ public function replace($s, $r) { @@ -204,7 +206,8 @@ $os = ""; $count=0; while($os!=$s && $count<10){ $os=$s; $count++; - $s = $this->_str_replace($s); + //$s = $this->_str_replace($s); + $s = str_replace($this->search, $this->replace, $s); } return template_unescape($s); } |