From aa370627b211a51dc46891cfa4b6e3d2ef3e52db Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Tue, 16 Jul 2013 10:45:17 -0400 Subject: [PATCH] - Fixed FS#2924 - the month will not set automatically in the autoresponder by click now Along with this fixed some display problems with the combo boxes introduced in 3.0.5. Some fields were not correctly displayed with the predefined values if value and text of the underlying option element differ. --- interface/web/sites/shell_user_edit.php | 93 +++++++++++++++++++--------------------------- 1 files changed, 39 insertions(+), 54 deletions(-) diff --git a/interface/web/sites/shell_user_edit.php b/interface/web/sites/shell_user_edit.php index e2613cb..b14963a 100644 --- a/interface/web/sites/shell_user_edit.php +++ b/interface/web/sites/shell_user_edit.php @@ -40,7 +40,6 @@ require_once('../../lib/config.inc.php'); require_once('../../lib/app.inc.php'); -require_once('tools.inc.php'); //* Check permissions for module $app->auth->check_module_permissions('sites'); @@ -56,17 +55,11 @@ // we will check only users, not admins if($_SESSION["s"]["user"]["typ"] == 'user') { - - // Get the limits of the client - $client_group_id = $_SESSION["s"]["user"]["default_group"]; - $client = $app->db->queryOneRecord("SELECT limit_shell_user FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); - - // Check if the user may add another shell user. - if($client["limit_shell_user"] >= 0) { - $tmp = $app->db->queryOneRecord("SELECT count(shell_user_id) as number FROM shell_user WHERE sys_groupid = $client_group_id"); - if($tmp["number"] >= $client["limit_shell_user"]) { - $app->error($app->tform->wordbook["limit_shell_user_txt"]); - } + if(!$app->tform->checkClientLimit('limit_shell_user')) { + $app->error($app->tform->wordbook["limit_shell_user_txt"]); + } + if(!$app->tform->checkResellerLimit('limit_shell_user')) { + $app->error('Reseller: '.$app->tform->wordbook["limit_shell_user_txt"]); } } @@ -80,25 +73,23 @@ * data can be edited */ - $app->uses('getconf'); + $app->uses('getconf,tools_sites'); $global_config = $app->getconf->get_global_config('sites'); - $shelluser_prefix = ($global_config['shelluser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['shelluser_prefix']); + $shelluser_prefix = $app->tools_sites->replacePrefix($global_config['shelluser_prefix'], $this->dataRecord); if ($this->dataRecord['username'] != ""){ /* REMOVE the restriction */ - $app->tpl->setVar("username", str_replace($shelluser_prefix , '', $this->dataRecord['username'])); + $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 - $app->tpl->setVar("parent_domain_id_disabled", 'disabled="disabled"'); + $app->tpl->setVar("edit_disabled", 1); + $app->tpl->setVar("parent_domain_id_value", $this->dataRecord["parent_domain_id"]); } else { - $app->tpl->setVar("parent_domain_id_disabled", ''); + $app->tpl->setVar("edit_disabled", 0); } parent::onShowEnd(); @@ -108,10 +99,17 @@ global $app, $conf; // Get the record of the parent domain - $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".intval(@$this->dataRecord["parent_domain_id"])); + $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"])); // Set a few fixed values $this->dataRecord["server_id"] = $parent_domain["server_id"]; + + if(isset($this->dataRecord['username']) && trim($this->dataRecord['username']) == '') $app->tform->errorMessage .= $app->tform->lng('username_error_empty').'<br />'; + if(isset($this->dataRecord['username']) && empty($this->dataRecord['parent_domain_id'])) $app->tform->errorMessage .= $app->tform->lng('parent_domain_id_error_empty').'<br />'; + if(isset($this->dataRecord['dir']) && stristr($this->dataRecord['dir'],'..')) $app->tform->errorMessage .= $app->tform->lng('dir_dot_error').'<br />'; + if(isset($this->dataRecord['dir']) && stristr($this->dataRecord['dir'],'./')) $app->tform->errorMessage .= $app->tform->lng('dir_slashdot_error').'<br />'; + + if(isset($this->dataRecord['ssh_rsa'])) $this->dataRecord['ssh_rsa'] = trim($this->dataRecord['ssh_rsa']); parent::onSubmit(); } @@ -123,22 +121,25 @@ $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); - + /* * If the names should be restricted -> do it! */ if ($app->tform->errorMessage == ''){ - $app->uses('getconf'); + $app->uses('getconf,tools_sites'); $global_config = $app->getconf->get_global_config('sites'); - $shelluser_prefix = ($global_config['shelluser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['shelluser_prefix']); - + $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(); } @@ -146,7 +147,7 @@ function onAfterInsert() { global $app, $conf; - $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($this->dataRecord["parent_domain_id"])); + $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->dataRecord["parent_domain_id"])); $server_id = $web["server_id"]; $dir = $web["document_root"]; $puser = $web["system_user"]; @@ -167,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); @@ -179,12 +180,18 @@ /* * If the names should be restricted -> do it! */ - $app->uses('getconf'); + $app->uses('getconf,tools_sites'); $global_config = $app->getconf->get_global_config('sites'); - $shelluser_prefix = ($global_config['shelluser_prefix'] == '')?'':str_replace('[CLIENTNAME]', $this->getClientName(), $global_config['shelluser_prefix']); + $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"); } } @@ -193,28 +200,6 @@ } - - function getClientName() { - global $app, $conf; - - if($_SESSION["s"]["user"]["typ"] != 'admin') { - // Get the group-id of the user - $client_group_id = $_SESSION["s"]["user"]["default_group"]; - } else { - // Get the group-id from the data itself - $web = $app->db->queryOneRecord("SELECT sys_groupid FROM web_domain WHERE domain_id = ".intval($this->dataRecord['parent_domain_id'])); - $client_group_id = $web['sys_groupid']; - } - /* get the name of the client */ - $tmp = $app->db->queryOneRecord("SELECT name FROM sys_group WHERE groupid = " . $client_group_id); - $clientName = $tmp['name']; - if ($clientName == "") $clientName = 'default'; - $clientName = convertClientName($clientName); - - return $clientName; - - } - } $page = new page_action; -- Gitblit v1.9.1