diff --git a/interface/web/admin/lib/lang/en_users.lng b/interface/web/admin/lib/lang/en_users.lng
index 9eec3222a509286923710d0aea91cb635e51c99a..09b8ac3057382b237c0d5a9b17ad0225989f49ef 100644
--- a/interface/web/admin/lib/lang/en_users.lng
+++ b/interface/web/admin/lib/lang/en_users.lng
@@ -30,4 +30,5 @@ $wb['repeat_password_txt'] = 'Repeat Password';
 $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 5eab80a9b242ffcf6695e2364626419c6d0a1242..2b1be7f0fc7df0c6622db8e12b797d2a0476ca76 100644
--- a/interface/web/admin/users_edit.php
+++ b/interface/web/admin/users_edit.php
@@ -66,7 +66,14 @@ class page_action extends tform_actions {
 		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 b4d8ca2aa718c75e4292cb45bd963f050dc8d40b..6dc49132a370a0fb514556f08caa48ddffbb2567 100644
--- a/server/lib/classes/tpl.inc.php
+++ b/server/lib/classes/tpl.inc.php
@@ -962,6 +962,16 @@ if (!defined('vlibTemplateClassLoaded')) {
 				$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 @@ if (!defined('vlibTemplateClassLoaded')) {
 			$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 @@ if (!defined('vlibTemplateClassLoaded')) {
 			}
 
 			// 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';