From 71c74b1b572f3bdf00ba99009cc23f8f48072a1c Mon Sep 17 00:00:00 2001 From: Till Brehm <tbrehm@ispconfig.org> Date: Sat, 08 Mar 2014 11:58:49 -0500 Subject: [PATCH] Fixed: FS#3372 - Web browser password autofill function overwrites settings --- interface/web/sites/webdav_user_edit.php | 28 +++++++++++++++------------- 1 files changed, 15 insertions(+), 13 deletions(-) diff --git a/interface/web/sites/webdav_user_edit.php b/interface/web/sites/webdav_user_edit.php index 8f11bb0..97b2bcc 100644 --- a/interface/web/sites/webdav_user_edit.php +++ b/interface/web/sites/webdav_user_edit.php @@ -38,8 +38,8 @@ * End Form configuration ******************************************/ -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); +require_once '../../lib/config.inc.php'; +require_once '../../lib/app.inc.php'; //* Check permissions for module $app->auth->check_module_permissions('sites'); @@ -78,13 +78,10 @@ if ($this->dataRecord['username'] != "") { /* REMOVE the restriction */ - $app->tpl->setVar("username", str_replace($webdavuser_prefix , '', $this->dataRecord['username'])); + $app->tpl->setVar("username", $app->tools_sites->removePrefix($this->dataRecord['username'], $this->dataRecord['username_prefix'], $webdavuser_prefix)); } - if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) { - $app->tpl->setVar("username_prefix", $global_config['webdavuser_prefix']); - } else { - $app->tpl->setVar("username_prefix", $webdavuser_prefix); - } + + $app->tpl->setVar("username_prefix", $app->tools_sites->getPrefix($this->dataRecord['username_prefix'], $webdavuser_prefix, $global_config['webdavuser_prefix'])); if($this->id > 0) { //* we are editing a existing record @@ -101,7 +98,8 @@ global $app, $conf; /* Get the record of the parent domain */ - $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->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"]) . " AND ".$app->tform->getAuthSQL('r')); + if(!$parent_domain || $parent_domain['domain_id'] != @$this->dataRecord['parent_domain_id']) $app->tform->errorMessage .= $app->tform->lng("no_domain_perm"); /* * Set a few fixed values @@ -113,9 +111,9 @@ */ 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['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 />'; + parent::onSubmit(); } @@ -130,6 +128,8 @@ $app->uses('getconf,tools_sites'); $global_config = $app->getconf->get_global_config('sites'); $webdavuser_prefix = $app->tools_sites->replacePrefix($global_config['webdavuser_prefix'], $this->dataRecord); + + $this->dataRecord['username_prefix'] = $webdavuser_prefix; /* restrict the names */ $this->dataRecord['username'] = $webdavuser_prefix . $this->dataRecord['username']; @@ -167,6 +167,7 @@ $data = $app->db->queryOneRecord("SELECT * FROM webdav_user WHERE webdav_user_id = ".$app->functions->intval($this->id)); $this->dataRecord["username"] = $data['username']; $this->dataRecord["dir"] = $data['dir']; + $this->dataRecord['username_prefix'] = $data['username_prefix']; $passwordOld = $data['password']; /* @@ -184,9 +185,10 @@ function onAfterUpdate() { global $app, $conf; } + } $page = new page_action; $page->onLoad(); -?> \ No newline at end of file +?> -- Gitblit v1.9.1