From 45ad27edf1df1f45194969a09e51a4dff8430cee Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 14 Mar 2011 10:29:52 -0400
Subject: [PATCH] Fixed: FS#1530 - 'already a database with this name on the server' error if db exists on other server

---
 interface/web/mail/lib/module.conf.php      |    6 +++---
 interface/web/sites/form/database.tform.php |    4 +---
 interface/web/sites/database_edit.php       |   10 +++++++++-
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/interface/web/mail/lib/module.conf.php b/interface/web/mail/lib/module.conf.php
index c69fe41..fc81b1a 100644
--- a/interface/web/mail/lib/module.conf.php
+++ b/interface/web/mail/lib/module.conf.php
@@ -8,6 +8,9 @@
 $module['startpage'] 	= 'mail/mail_domain_list.php';
 $module['tab_width']    = '';
 
+$app->uses('getconf');
+$mail_config = $app->getconf->get_server_config(1,'mail');
+
 
 //**** Email accounts menu
 $items = array();
@@ -134,13 +137,10 @@
 
 //**** Statistics menu
 $items = array();
-
 $items[] = array( 'title' 	=> 'Mailbox traffic',
 				  'target' 	=> 'content',
 				  'link'	=> 'mail/mail_user_stats.php',
 				  'html_id' => 'mail_user_stats');
-
-
 
 $module['nav'][] = array(	'title'	=> 'Statistics',
 							'open' 	=> 1,
diff --git a/interface/web/sites/database_edit.php b/interface/web/sites/database_edit.php
index baedd98..f59db12 100644
--- a/interface/web/sites/database_edit.php
+++ b/interface/web/sites/database_edit.php
@@ -279,7 +279,11 @@
 			$this->dataRecord['database_name'] = substr($dbname_prefix . $this->dataRecord['database_name'], 0, 64);
 			$this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16);
 		}
-
+		
+		//* Check for duplicates
+		$tmp = $app->db->queryOneRecord("SELECT count(database_id) as dbnum FROM web_database WHERE database_name = '".$this->dataRecord['database_name']."' AND server_id = '".$this->dataRecord["server_id"]."' AND database_id != '".$this->id."'");
+		if($tmp['dbnum'] > 0) $app->tform->errorMessage .= $app->lng('database_name_error_unique').'<br />';
+		
 		parent::onBeforeUpdate();
 	}
 
@@ -316,6 +320,10 @@
 			$this->dataRecord['database_name'] = substr($dbname_prefix . $this->dataRecord['database_name'], 0, 64);
 			$this->dataRecord['database_user'] = substr($dbuser_prefix . $this->dataRecord['database_user'], 0, 16);
 		}
+		
+		//* Check for duplicates
+		$tmp = $app->db->queryOneRecord("SELECT count(database_id) as dbnum FROM web_database WHERE database_name = '".$this->dataRecord['database_name']."' AND server_id = '".$this->dataRecord["server_id"]."'");
+		if($tmp['dbnum'] > 0) $app->tform->errorMessage .= $app->tform->lng('database_name_error_unique').'<br />';
 
 		parent::onBeforeInsert();
 	}
diff --git a/interface/web/sites/form/database.tform.php b/interface/web/sites/form/database.tform.php
index 973e690..513c396 100644
--- a/interface/web/sites/form/database.tform.php
+++ b/interface/web/sites/form/database.tform.php
@@ -80,9 +80,7 @@
 			'formtype'	=> 'TEXT',
 			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
 														'errmsg'=> 'database_name_error_empty'),
-										1 => array (	'type'	=> 'UNIQUE',
-														'errmsg'=> 'database_name_error_unique'),
-										2 => array (	'type'	=> 'REGEX',
+										1 => array (	'type'	=> 'REGEX',
 														'regex' => '/^[a-zA-Z0-9_]{2,64}$/',
 														'errmsg'=> 'database_name_error_regex'),
 									),

--
Gitblit v1.9.1