From 6d6e2b813a275cce2d945f82e599a4848cca87e5 Mon Sep 17 00:00:00 2001
From: Massimiliano <ufoonline@ufoonline.org>
Date: Tue, 8 Jan 2019 15:18:25 +0100
Subject: [PATCH] Update interface/web/sites/database_edit.php

---
 interface/web/sites/database_edit.php | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/interface/web/sites/database_edit.php b/interface/web/sites/database_edit.php
index 71e5acaf27..22f3302c6c 100644
--- a/interface/web/sites/database_edit.php
+++ b/interface/web/sites/database_edit.php
@@ -152,6 +152,12 @@ class page_action extends tform_actions {
 			$app->tpl->setVar("database_name_prefix", $app->tools_sites->getPrefix($this->dataRecord['database_name_prefix'], $dbname_prefix, $global_config['dbname_prefix']), true);
 		}
 
+		if($global_config['disable_client_remote_dbserver'] == 'y' && $_SESSION["s"]["user"]["typ"] != 'admin') {
+			$app->tpl->setVar("disable_remote_db", 1);
+		} else {
+			$app->tpl->setVar("disable_remote_db", 0);
+		}
+
 		if($this->id > 0) {
 			//* we are editing a existing record
 			$edit_disabled = @($_SESSION["s"]["user"]["typ"] == 'admin')? 0 : 1; //* admin can change the database-name
@@ -351,9 +357,14 @@ class page_action extends tform_actions {
 		if($tmp['server_id'] && $tmp['server_id'] != $this->dataRecord['server_id']) {
 			// we need remote access rights for this server, so get it's ip address
 			$server_config = $app->getconf->get_server_config($tmp['server_id'], 'server');
+			
+			// Add default remote_ips from Main Configuration.
+			$remote_ips = explode(",", $global_config['default_remote_dbserver']);
+			if (!in_array($server_config['ip_address'], $default_remote_db)) { $remote_ips[] = $server_config['ip_address']; }
+
 			if($server_config['ip_address']!='') {
 				if($this->dataRecord['remote_access'] != 'y'){
-					$this->dataRecord['remote_ips'] = $server_config['ip_address'];
+					$this->dataRecord['remote_ips'] = implode(',', $remote_ips);
 					$this->dataRecord['remote_access'] = 'y';
 				} else {
 					if($this->dataRecord['remote_ips'] != ''){
@@ -361,6 +372,7 @@ class page_action extends tform_actions {
 							$this->dataRecord['remote_ips'] .= ',' . $server_config['ip_address'];
 						}
 						$tmp = preg_split('/\s*,\s*/', $this->dataRecord['remote_ips']);
+						$tmp = array_merge($tmp, $remote_ips);
 						$tmp = array_unique($tmp);
 						$this->dataRecord['remote_ips'] = implode(',', $tmp);
 						unset($tmp);
@@ -430,9 +442,14 @@ class page_action extends tform_actions {
 		if($tmp['server_id'] && $tmp['server_id'] != $this->dataRecord['server_id']) {
 			// we need remote access rights for this server, so get it's ip address
 			$server_config = $app->getconf->get_server_config($tmp['server_id'], 'server');
+			
+			// Add default remote_ips from Main Configuration.
+			$remote_ips = explode(",", $global_config['default_remote_dbserver']);
+			if (!in_array($server_config['ip_address'], $default_remote_db)) { $remote_ips[] = $server_config['ip_address']; }
+
 			if($server_config['ip_address']!='') {
 				if($this->dataRecord['remote_access'] != 'y'){
-					$this->dataRecord['remote_ips'] = $server_config['ip_address'];
+					$this->dataRecord['remote_ips'] = implode(',', $remote_ips);
 					$this->dataRecord['remote_access'] = 'y';
 				} else {
 					if($this->dataRecord['remote_ips'] != ''){
@@ -440,6 +457,7 @@ class page_action extends tform_actions {
 							$this->dataRecord['remote_ips'] .= ',' . $server_config['ip_address'];
 						}
 						$tmp = preg_split('/\s*,\s*/', $this->dataRecord['remote_ips']);
+						$tmp = array_merge($tmp, $remote_ips);
 						$tmp = array_unique($tmp);
 						$this->dataRecord['remote_ips'] = implode(',', $tmp);
 						unset($tmp);
-- 
GitLab