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