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