From d4d1ead7754ed394f5d429c58dc313c0d2c07046 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Fri, 07 Feb 2014 08:18:41 -0500
Subject: [PATCH] Merge remote-tracking branch 'origin/stable-3.0.5'
---
interface/lib/classes/tpl.inc.php | 33 ++++++++++++---------------------
1 files changed, 12 insertions(+), 21 deletions(-)
diff --git a/interface/lib/classes/tpl.inc.php b/interface/lib/classes/tpl.inc.php
index a8533bb..34df2a9 100644
--- a/interface/lib/classes/tpl.inc.php
+++ b/interface/lib/classes/tpl.inc.php
@@ -234,12 +234,12 @@
if (is_array($k)) {
foreach($k as $key => $value){
$key = ($this->OPTIONS['CASELESS']) ? strtolower(trim($key)) : trim($key);
- if (preg_match('/^[A-Za-z]+[A-Za-z0-9_]*$/', $key) && $value !== null ) {
+ if (preg_match('/^[A-Za-z_]+[A-Za-z0-9_]*$/', $key) && $value !== null ) {
$this->_vars[$key] = $value;
}
}
} else {
- if (preg_match('/^[A-Za-z]+[A-Za-z0-9_]*$/', $k) && $v !== null) {
+ if (preg_match('/^[A-Za-z_]+[A-Za-z0-9_]*$/', $k) && $v !== null) {
if ($this->OPTIONS['CASELESS']) $k = strtolower($k);
$this->_vars[trim($k)] = $v;
} else {
@@ -287,7 +287,7 @@
for ($i = 0; $i < $num_args; $i++) {
$var = func_get_arg($i);
if ($this->OPTIONS['CASELESS']) $var = strtolower($var);
- if (!preg_match('/^[A-Za-z]+[A-Za-z0-9_]*$/', $var)) continue;
+ if (!preg_match('/^[A-Za-z_]+[A-Za-z0-9_]*$/', $var)) continue;
unset($this->_vars[$var]);
}
return true;
@@ -344,7 +344,7 @@
*/
public function setLoop($k, $v)
{
- if (is_array($v) && preg_match('/^[A-Za-z]+[A-Za-z0-9_]*$/', $k)) {
+ if (is_array($v) && preg_match('/^[A-Za-z_]+[A-Za-z0-9_]*$/', $k)) {
$k = ($this->OPTIONS['CASELESS']) ? strtolower(trim($k)) : trim($k);
$this->_arrvars[$k] = array();
if ($this->OPTIONS['SET_LOOP_VAR'] && !empty($v)) $this->setvar($k, 1);
@@ -1006,7 +1006,8 @@
* @access private
* @return string used for eval'ing
*/
- function _parseIf ($varname, $value=null, $op=null, $namespace=null, $format=null) {
+ private function _parseIf($varname, $value = null, $op = null, $namespace = null, $format = null)
+ {
if (isset($namespace)) $namespace = substr($namespace, 0, -1);
$comp_str = ''; // used for extended if statements
@@ -1046,14 +1047,14 @@
if ($this->OPTIONS['GLOBAL_VARS'] && empty($namespace)) {
$retstr = '(('.$retstr.'[\''.$varname.'\'] !== null) ? '.$retstr.'[\''.$varname.'\'] : $this->_vars[\''.$varname.'\'])';
if(isset($format) && isset($value) && $format == 'version') {
- return 'version_compare(' . $retstr . ', \'' . $value . '\', ' . (!empty($op) ? $op : '==') . ')';
+ return 'version_compare(' . $retstr . ', \'' . $value . '\', \'' . (!empty($op) ? $op : '==') . '\')';
} else {
return $retstr.$comp_str;
}
}
else {
if(isset($format) && isset($value) && $format == 'version') {
- return 'version_compare(' . $retstr."['".$varname."']" . ', \'' . $value . '\', ' . (!empty($op) ? $op : '==') . ')';
+ return 'version_compare(' . $retstr."['".$varname."']" . ', \'' . $value . '\', \'' . (!empty($op) ? $op : '==') . '\')';
} else {
return $retstr."['".$varname."']".$comp_str;
}
@@ -1183,8 +1184,7 @@
if ($tag == 'loop' || $tag == 'endloop') array_pop($this->_namespace);
if ($tag == 'comment' || $tag == 'endcomment') {
return '<?php */ ?>';
- }
- else {
+ } else {
return '<?php } ?>';
}
}
@@ -1207,6 +1207,7 @@
$$key = $match[2];
}
}
+
$var = ($this->OPTIONS['CASELESS']) ? strtolower($name) : $name;
if ($this->_debug && !empty($var)) {
@@ -1228,47 +1229,37 @@
if (empty($escape) && (!empty($this->OPTIONS['DEFAULT_ESCAPE']) && strtolower($this->OPTIONS['DEFAULT_ESCAPE']) != 'none')) {
$escape = strtolower($this->OPTIONS['DEFAULT_ESCAPE']);
}
- return '<?php '.$this->_parseVar ($wholetag, $tag, $var, @$escape, @$format, @$namespace).' ?>'."\n";
- break;
+ return '<?php '.$this->_parseVar ($wholetag, $tag, $var, @$escape, @$format, @$namespace)." ?>\n";
case 'if':
return '<?php if ('. $this->_parseIf($var, @$value, @$op, @$namespace, @$format) .') { ?>';
- break;
case 'unless':
return '<?php if (!'. $this->_parseIf($var, @$value, @$op, @$namespace, @$format) .') { ?>';
- break;
case 'elseif':
return '<?php } elseif ('. $this->_parseIf($var, @$value, @$op, @$namespace, @$format) .') { ?>';
- break;
case 'loop':
return '<?php '. $this->_parseLoop($var) .'?>';
- break;
case 'comment':
if (empty($var)) { // full open/close style comment
return '<?php /* ?>';
- }
- else { // just ignore tag if it was a one line comment
+ } else { // just ignore tag if it was a one line comment
return;
}
- break;
case 'phpinclude':
if ($this->OPTIONS['ENABLE_PHPINCLUDE']) {
return '<?php include(\''.$file.'\'); ?>';
}
- break;
case 'include':
return '<?php $this->_getData($this->_fileSearch(\''.$file.'\'), 1); ?>';
- break;
case 'dyninclude':
return '<?php $this->_getData($this->_fileSearch($this->_dyninclude[\''.$name.'\']), 1); ?>';
- break;
default:
if ($this->OPTIONS['STRICT']) vlibTemplateError::raiseError('VT_ERROR_INVALID_TAG', KILL, htmlspecialchars($wholetag, ENT_QUOTES));
--
Gitblit v1.9.1