From bd665926c745cc57498430e8fe9a08494367801c Mon Sep 17 00:00:00 2001
From: Sebastien JEAN <sebastien.jean54@gmail.com>
Date: Fri, 08 Nov 2013 08:45:58 -0500
Subject: [PATCH] adding multi-server management for clients
---
interface/lib/classes/validate_client.inc.php | 40 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 40 insertions(+), 0 deletions(-)
diff --git a/interface/lib/classes/validate_client.inc.php b/interface/lib/classes/validate_client.inc.php
index 36370ab..357a695 100644
--- a/interface/lib/classes/validate_client.inc.php
+++ b/interface/lib/classes/validate_client.inc.php
@@ -95,6 +95,46 @@
}
+
+ function check_used_servers($field_name, $field_value, $validator)
+ {
+ global $app;
+
+ if (is_array($field_value))
+ {
+ $client_id = intval($_POST['id']);
+ $used_servers = null;
+
+ switch ($field_name)
+ {
+ case 'web_servers':
+ $used_servers = $app->db->queryAllRecords('SELECT domain_id FROM web_domain INNER JOIN sys_user ON web_domain.sys_userid = sys_user.userid WHERE client_id = ' . $client_id . ' AND server_id NOT IN (' . implode(', ', $field_value) . ');');
+ break;
+
+ case 'dns_servers':
+ $used_servers = $app->db->queryAllRecords('SELECT id FROM dns_rr INNER JOIN sys_user ON dns_rr.sys_userid = sys_user.userid WHERE client_id = ' . $client_id . ' AND server_id NOT IN (' . implode(', ', $field_value) . ');');
+ break;
+
+ case 'db_servers':
+ $used_servers = $app->db->queryAllRecords('SELECT database_id FROM web_database INNER JOIN sys_user ON web_database.sys_userid = sys_user.userid WHERE client_id = ' . $client_id . ' AND server_id NOT IN (' . implode(', ', $field_value) . ');');
+ break;
+
+ case 'mail_servers':
+ $used_servers = $app->db->queryAllRecords('SELECT domain_id FROM mail_domain INNER JOIN sys_user ON mail_domain.sys_userid = sys_user.userid WHERE client_id = ' . $client_id . ' AND server_id NOT IN (' . implode(', ', $field_value) . ');');
+ break;
+ }
+
+ if ($used_servers === null || count($used_servers))
+ {
+ $errmsg = $validator['errmsg'];
+ if(isset($app->tform->wordbook[$errmsg])) {
+ return $app->tform->wordbook[$errmsg]."<br>\r\n";
+ } else {
+ return $errmsg."<br>\r\n";
+ }
+ }
+ }
+ }
--
Gitblit v1.9.1