From fe9a23f542bc56c1c0b6dc30257418e38ff7bd3a Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Sat, 08 Jun 2013 18:57:40 -0400 Subject: [PATCH] - Fixed FS#2936 - Please check and limit username input length. --- interface/web/sites/shell_user_edit.php | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 deletions(-) diff --git a/interface/web/sites/shell_user_edit.php b/interface/web/sites/shell_user_edit.php index 8f2a93f..b14963a 100644 --- a/interface/web/sites/shell_user_edit.php +++ b/interface/web/sites/shell_user_edit.php @@ -79,13 +79,10 @@ if ($this->dataRecord['username'] != ""){ /* REMOVE the restriction */ - $app->tpl->setVar("username", preg_replace('/'.$shelluser_prefix.'/', '', $this->dataRecord['username'], 1)); + $app->tpl->setVar("username", $app->tools_sites->removePrefix($this->dataRecord['username'], $this->dataRecord['username_prefix'], $shelluser_prefix)); } - if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) { - $app->tpl->setVar("username_prefix", $global_config['shelluser_prefix']); - } else { - $app->tpl->setVar("username_prefix", $shelluser_prefix); - } + + $app->tpl->setVar("username_prefix", $app->tools_sites->getPrefix($this->dataRecord['username_prefix'], $shelluser_prefix, $global_config['shelluser_prefix'])); if($this->id > 0) { //* we are editing a existing record @@ -124,7 +121,7 @@ $blacklist = file(ISPC_LIB_PATH.'/shelluser_blacklist'); foreach($blacklist as $line) { if(strtolower(trim($line)) == strtolower(trim($this->dataRecord['username']))){ - $app->tform->errorMessage .= 'The username is not allowed.'; + $app->tform->errorMessage .= $app->tform->lng('username_not_allowed_txt'); } } unset($blacklist); @@ -138,8 +135,11 @@ $global_config = $app->getconf->get_global_config('sites'); $shelluser_prefix = $app->tools_sites->replacePrefix($global_config['shelluser_prefix'], $this->dataRecord); + $this->dataRecord['username_prefix'] = $shelluser_prefix; /* restrict the names */ $this->dataRecord['username'] = $shelluser_prefix . $this->dataRecord['username']; + + if(strlen($this->dataRecord['username']) > 32) $app->tform->errorMessage .= $app->tform->lng("username_must_not_exceed_32_chars_txt"); } parent::onBeforeInsert(); } @@ -168,7 +168,7 @@ $blacklist = file(ISPC_LIB_PATH.'/shelluser_blacklist'); foreach($blacklist as $line) { if(strtolower(trim($line)) == strtolower(trim($this->dataRecord['username']))){ - $app->tform->errorMessage .= 'The username is not allowed.'; + $app->tform->errorMessage .= $app->tform->lng('username_not_allowed_txt'); } } unset($blacklist); @@ -184,8 +184,14 @@ $global_config = $app->getconf->get_global_config('sites'); $shelluser_prefix = $app->tools_sites->replacePrefix($global_config['shelluser_prefix'], $this->dataRecord); + $old_record = $app->tform->getDataRecord($this->id); + $shelluser_prefix = $app->tools_sites->getPrefix($old_record['username_prefix'], $shelluser_prefix); + $this->dataRecord['username_prefix'] = $shelluser_prefix; + /* restrict the names */ $this->dataRecord['username'] = $shelluser_prefix . $this->dataRecord['username']; + + if(strlen($this->dataRecord['username']) > 32) $app->tform->errorMessage .= $app->tform->lng("username_must_not_exceed_32_chars_txt"); } } -- Gitblit v1.9.1