From daf67b7c2c17d84e06436468d96ee3599f38a21e Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 23 Jan 2014 04:38:06 -0500
Subject: [PATCH] Merge branch 'stable-3.0.5' of /home/git/repositories/ispconfig/ispconfig3

---
 interface/web/admin/lib/lang/en_users.lng |    1 +
 server/lib/classes/tpl.inc.php            |   14 ++++++++++++--
 interface/web/admin/users_edit.php        |    7 +++++++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/interface/web/admin/lib/lang/en_users.lng b/interface/web/admin/lib/lang/en_users.lng
index 9eec322..09b8ac3 100644
--- a/interface/web/admin/lib/lang/en_users.lng
+++ b/interface/web/admin/lib/lang/en_users.lng
@@ -30,4 +30,5 @@
 $wb['password_mismatch_txt'] = 'The passwords do not match.';
 $wb['password_match_txt'] = 'The passwords do match.';
 $wb['username_error_collision'] = 'The username may not be web or web plus a number."';
+$wb['client_not_admin_err'] = 'A user that belongs to a client can not be set to type: admin';
 ?>
diff --git a/interface/web/admin/users_edit.php b/interface/web/admin/users_edit.php
index 5eab80a..2b1be7f 100644
--- a/interface/web/admin/users_edit.php
+++ b/interface/web/admin/users_edit.php
@@ -66,7 +66,14 @@
 		if(@is_array($this->dataRecord['modules']) && !in_array($this->dataRecord['startmodule'], $this->dataRecord['modules'])) {
 			$app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
 		}
+		
 		$this->oldDataRecord = $app->tform->getDataRecord($this->id);
+		
+		//* A user that belongs to a client record (client or reseller) may not have typ admin
+		if(isset($this->dataRecord['typ']) && $this->dataRecord['typ'][0] == 'admin'  && $this->oldDataRecord['client_id'] > 0) {
+			$app->tform->errorMessage .= $app->tform->wordbook['client_not_admin_err'];
+		}
+		
 	}
 
 	/*
diff --git a/server/lib/classes/tpl.inc.php b/server/lib/classes/tpl.inc.php
index b4d8ca2..6dc4913 100644
--- a/server/lib/classes/tpl.inc.php
+++ b/server/lib/classes/tpl.inc.php
@@ -962,6 +962,16 @@
 				$regex.=    '[^\"\']*|[a-z0-9_\.]*)';
 				$regex.=    '[\"\']?';
 				$regex.= ')?\s*';
+				$regex.= '(?:';
+				$regex.=    '(?:';
+				$regex.=        '(name|format|escape|op|value)';
+				$regex.=        '\s*=\s*';
+				$regex.=    ')';
+				$regex.=    '(?:[\"\'])?';
+				$regex.=    '((?<=[\"\'])';
+				$regex.=    '[^\"\']*|[a-z0-9_\.]*)';
+				$regex.=    '[\"\']?';
+				$regex.= ')?\s*';
 				$regex.= '(?:>|\/>|}|-->){1}';
 				$regex.= '/i';
 				//$regex.= '([\r\n|\n|\r])?/ie';
@@ -1290,7 +1300,7 @@
 			$wholetag = $args[0];
 			$openclose = $args[1];
 			$tag = strtolower($args[2]);
-			$newline = $args[9];
+			$newline = $args[11];
 			//echo "1#$newline#2";
 
 			if ($tag == 'else') return '<?php } else { ?>'.$newline;
@@ -1307,7 +1317,7 @@
 			}
 
 			// arrange attributes
-			for ($i=3; $i < 8; $i=($i+2)) {
+			for ($i=3; $i < 10; $i=($i+2)) {
 				if (empty($args[$i]) && empty($args[($i+1)])) break;
 				$key = (empty($args[$i])) ? 'name' : strtolower($args[$i]);
 				if ($key == 'name' && preg_match('/^(php)?include$/', $tag)) $key = 'file';

--
Gitblit v1.9.1