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/custom_datasource.inc.php |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/interface/lib/classes/custom_datasource.inc.php b/interface/lib/classes/custom_datasource.inc.php
index 52ba34c..54fb59c 100644
--- a/interface/lib/classes/custom_datasource.inc.php
+++ b/interface/lib/classes/custom_datasource.inc.php
@@ -63,6 +63,32 @@
 		return $records_new;
 	}
 	
+	function webdav_domains($field, $record) {
+		global $app, $conf;
+		
+		$servers = $app->db->queryAllRecords("SELECT * FROM server WHERE active = 1 AND mirror_server_id = 0");
+		$server_ids = array();
+		$app->uses('getconf');
+		if(is_array($servers) && !empty($servers)){
+			foreach($servers as $server){
+				$web_config = $app->getconf->get_server_config($server['server_id'], 'web');
+				if($web_config['server_type'] != 'nginx') $server_ids[] = $server['server_id'];
+			}
+		}
+		if(count($server_ids) == 0) return array();
+		$server_ids = implode(',', $server_ids);
+		$records = $app->db->queryAllRecords("SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND server_id IN (".$server_ids.") AND ".$app->tform->getAuthSQL('r')." ORDER BY domain");
+		
+		$records_new = array();
+		if(is_array($records)) {
+			foreach($records as $rec) {
+				$key = $rec['domain_id'];
+				$records_new[$key] = $rec['domain'];
+			}
+		}
+		return $records_new;
+	}
+	
 	
 	function client_servers($field, $record) {
 		global $app, $conf;
@@ -79,6 +105,9 @@
 			case 'default_dnsserver':
 				$field = 'dns_server';
 			break;
+			case 'default_slave_dnsserver':
+				$field = 'dns_server';
+			break;
 			case 'default_fileserver':
 				$field = 'file_server';
 			break;
@@ -88,6 +117,18 @@
 			case 'default_vserverserver':
 				$field = 'vserver_server';
 			break;
+			case 'mail_servers':
+				$field = 'mail_server';
+			break;
+			case 'web_servers':
+				$field = 'web_server';
+			break;
+			case 'dns_servers':
+				$field = 'dns_server';
+			break;
+			case 'db_servers':
+				$field = 'db_server';
+			break;
 			default:
 				$field = 'web_server';
 			break;

--
Gitblit v1.9.1