From 212e21c44186179aec89c3d1c37806c17d4e9609 Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Tue, 04 Dec 2012 08:23:37 -0500 Subject: [PATCH] Fixed: FS#2565 - False warning "unsaved changes" --- interface/web/sites/database_edit.php | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-) diff --git a/interface/web/sites/database_edit.php b/interface/web/sites/database_edit.php index 1393aaf..393ec38 100644 --- a/interface/web/sites/database_edit.php +++ b/interface/web/sites/database_edit.php @@ -148,7 +148,7 @@ // When the record is updated if($this->id > 0) { // restore the server ID if the user is not admin and record is edited - $tmp = $app->db->queryOneRecord("SELECT server_id FROM web_database WHERE database_id = ".intval($this->id)); + $tmp = $app->db->queryOneRecord("SELECT server_id FROM web_database WHERE database_id = ".$app->functions->intval($this->id)); $this->dataRecord["server_id"] = $tmp["server_id"]; unset($tmp); // When the record is inserted @@ -166,7 +166,22 @@ } } - } + } else { + // check if client of database parent domain is client of db user! + $web_group = $app->db->queryOneRecord("SELECT sys_groupid FROM web_domain WHERE domain_id = '".$app->functions->intval($this->dataRecord['parent_domain_id'])."'"); + if($this->dataRecord['database_user_id']) { + $group = $app->db->queryOneRecord("SELECT sys_groupid FROM web_database_user WHERE database_user_id = '".$app->functions->intval($this->dataRecord['database_user_id'])."'"); + if($group['sys_groupid'] != $web_group['sys_groupid']) { + $app->error($app->tform->wordbook['database_client_differs_txt']); + } + } + if($this->dataRecord['database_ro_user_id']) { + $group = $app->db->queryOneRecord("SELECT sys_groupid FROM web_database_user WHERE database_user_id = '".$app->functions->intval($this->dataRecord['database_ro_user_id'])."'"); + if($group['sys_groupid'] != $web_group['sys_groupid']) { + $app->error($app->tform->wordbook['database_client_differs_txt']); + } + } + } parent::onSubmit(); @@ -309,6 +324,7 @@ global $app; if(!empty($sql) && !$app->tform->isReadonlyTab($app->tform->getCurrentTab(),$this->id)) { + $app->uses('sites_database_plugin'); $app->sites_database_plugin->processDatabaseUpdate($this); $app->db->query($sql); @@ -320,7 +336,7 @@ global $app, $conf; if($this->dataRecord["parent_domain_id"] > 0) { - $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"])); //* The Database user shall be owned by the same group then the website $sys_groupid = $web['sys_groupid']; @@ -336,7 +352,7 @@ global $app, $conf; if($this->dataRecord["parent_domain_id"] > 0) { - $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"])); //* The Database user shall be owned by the same group then the website $sys_groupid = $web['sys_groupid']; -- Gitblit v1.9.1