From aff9acb444d92c9ee2a0a86ce66dc6fa74ee3596 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Thu, 3 Sep 2015 11:51:33 +0200
Subject: [PATCH] hide mirror-server from several lists / forms

---
 interface/lib/classes/custom_datasource.inc.php       | 10 +++++-----
 interface/web/admin/list/firewall.list.php            |  2 +-
 interface/web/admin/list/server_ip.list.php           |  2 +-
 interface/web/admin/list/server_ip_map.list.php       |  2 +-
 interface/web/admin/list/server_php.list.php          |  2 +-
 interface/web/mail/list/mail_blacklist.list.php       |  2 +-
 interface/web/mail/list/mail_content_filter.list.php  |  2 +-
 interface/web/mail/list/mail_get.list.php             |  2 +-
 interface/web/mail/list/mail_relay_recipient.list.php |  2 +-
 interface/web/mail/list/mail_spamfilter.list.php      |  2 +-
 interface/web/mail/list/mail_transport.list.php       |  2 +-
 interface/web/mail/list/mail_whitelist.list.php       |  2 +-
 interface/web/mail/list/spamfilter_blacklist.list.php |  2 +-
 interface/web/mail/list/spamfilter_users.list.php     |  2 +-
 interface/web/mail/list/spamfilter_whitelist.list.php |  2 +-
 interface/web/sites/list/cron.list.php                |  2 +-
 interface/web/sites/list/database.list.php            |  4 ++--
 interface/web/sites/list/ftp_user.list.php            |  4 ++--
 interface/web/sites/list/shell_user.list.php          |  2 +-
 interface/web/sites/list/web_childdomain.list.php     |  4 ++--
 interface/web/sites/list/web_folder.list.php          |  2 +-
 interface/web/sites/list/webdav_user.list.php         |  2 +-
 interface/web/vm/list/openvz_ip.list.php              |  2 +-
 interface/web/vm/list/openvz_ostemplate.list.php      |  2 +-
 interface/web/vm/list/openvz_vm.list.php              |  2 +-
 25 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/interface/lib/classes/custom_datasource.inc.php b/interface/lib/classes/custom_datasource.inc.php
index 414de29dcc..d972fbd251 100644
--- a/interface/lib/classes/custom_datasource.inc.php
+++ b/interface/lib/classes/custom_datasource.inc.php
@@ -50,7 +50,7 @@ class custom_datasource {
 			$client = $app->db->queryOneRecord("SELECT default_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
 			$sql = "SELECT server_id,server_name FROM server WHERE server_id = ?";
 		} else {
-			$sql = "SELECT server_id,server_name FROM server WHERE dns_server = 1 ORDER BY server_name";
+			$sql = "SELECT server_id,server_name FROM server WHERE dns_server = 1 ORDER BY server_name AND mirror_server_id = 0";
 		}
 		$records = $app->db->queryAllRecords($sql, $client['default_dnsserver']);
 		$records_new = array();
@@ -72,7 +72,7 @@ class custom_datasource {
 			$client = $app->db->queryOneRecord("SELECT default_slave_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
 			$sql = "SELECT server_id,server_name FROM server WHERE server_id = ?";
 		} else {
-			$sql = "SELECT server_id,server_name FROM server WHERE dns_server = 1 ORDER BY server_name";
+			$sql = "SELECT server_id,server_name FROM server WHERE dns_server = 1 ORDER BY server_name AND mirror_server_id = 0";
 		}
 		$records = $app->db->queryAllRecords($sql, $client['default_slave_dnsserver']);
 		$records_new = array();
@@ -99,7 +99,7 @@ class custom_datasource {
 		}
 		if(count($server_ids) == 0) return array();
 		$server_ids = implode(',', $server_ids);
-		$records = $app->db->queryAllRecords("SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id IN ? AND web_domain.server_id = server.server_id AND ".$app->tform->getAuthSQL('r', 'web_domain')." ORDER BY web_domain.domain", $server_ids);
+		$records = $app->db->queryAllRecords("SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id IN (?) AND web_domain.server_id = server.server_id AND ".$app->tform->getAuthSQL('r', 'web_domain')." ORDER BY web_domain.domain", $server_ids);
 
 		$records_new = array();
 		if(is_array($records)) {
@@ -168,12 +168,12 @@ class custom_datasource {
 			} else {
 				//* Not able to find the clients defaults, use this as fallback and add a warning message to the log
 				$app->log('Unable to find default server for client in custom_datasource.inc.php', 1);
-				$sql = "SELECT server_id,server_name FROM server WHERE ?? = 1 ORDER BY server_name";
+				$sql = "SELECT server_id,server_name FROM server WHERE ?? = 1 AND mirror_server_id = 0 ORDER BY server_name";
 				$records = $app->db->queryAllRecords($sql, $field);
 			}
 		} else {
 			//* The logged in user is admin, so we show him all available servers of a specific type.
-			$sql = "SELECT server_id,server_name FROM server WHERE ?? = 1 ORDER BY server_name";
+			$sql = "SELECT server_id,server_name FROM server WHERE ?? = 1 AND mirror_server_id = 0 ORDER BY server_name";
 			$records = $app->db->queryAllRecords($sql, $field);
 		}
 
diff --git a/interface/web/admin/list/firewall.list.php b/interface/web/admin/list/firewall.list.php
index 786b7b848a..659dc002af 100644
--- a/interface/web/admin/list/firewall.list.php
+++ b/interface/web/admin/list/firewall.list.php
@@ -63,7 +63,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/admin/list/server_ip.list.php b/interface/web/admin/list/server_ip.list.php
index 41ac76e2a9..381208064c 100644
--- a/interface/web/admin/list/server_ip.list.php
+++ b/interface/web/admin/list/server_ip.list.php
@@ -51,7 +51,7 @@ $liste['item'][] = array( 'field'  => 'server_id',
 	'prefix' => '',
 	'suffix' => '',
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/admin/list/server_ip_map.list.php b/interface/web/admin/list/server_ip_map.list.php
index 249f3be662..95ac17cac2 100644
--- a/interface/web/admin/list/server_ip_map.list.php
+++ b/interface/web/admin/list/server_ip_map.list.php
@@ -27,7 +27,7 @@ $liste['item'][] = array( 'field'  => 'server_id',
 	'prefix' => '',
 	'suffix' => '',
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id <> 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/admin/list/server_php.list.php b/interface/web/admin/list/server_php.list.php
index 2414cb8fec..708abb1499 100644
--- a/interface/web/admin/list/server_php.list.php
+++ b/interface/web/admin/list/server_php.list.php
@@ -51,7 +51,7 @@ $liste['item'][] = array( 'field'  => 'server_id',
 	'prefix' => '',
 	'suffix' => '',
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/mail_blacklist.list.php b/interface/web/mail/list/mail_blacklist.list.php
index 4b6c81be98..3e92caeeda 100644
--- a/interface/web/mail/list/mail_blacklist.list.php
+++ b/interface/web/mail/list/mail_blacklist.list.php
@@ -65,7 +65,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/mail_content_filter.list.php b/interface/web/mail/list/mail_content_filter.list.php
index 231460d3f4..18b0cf252c 100644
--- a/interface/web/mail/list/mail_content_filter.list.php
+++ b/interface/web/mail/list/mail_content_filter.list.php
@@ -66,7 +66,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/mail_get.list.php b/interface/web/mail/list/mail_get.list.php
index 154401a3a0..d027110ad4 100644
--- a/interface/web/mail/list/mail_get.list.php
+++ b/interface/web/mail/list/mail_get.list.php
@@ -64,7 +64,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/mail_relay_recipient.list.php b/interface/web/mail/list/mail_relay_recipient.list.php
index eb6bdd91f8..8b7e308a20 100644
--- a/interface/web/mail/list/mail_relay_recipient.list.php
+++ b/interface/web/mail/list/mail_relay_recipient.list.php
@@ -64,7 +64,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/mail_spamfilter.list.php b/interface/web/mail/list/mail_spamfilter.list.php
index 77bd491ec2..0db3e7c9a8 100644
--- a/interface/web/mail/list/mail_spamfilter.list.php
+++ b/interface/web/mail/list/mail_spamfilter.list.php
@@ -64,7 +64,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/mail_transport.list.php b/interface/web/mail/list/mail_transport.list.php
index f45d083ed2..6cbc2dfb96 100644
--- a/interface/web/mail/list/mail_transport.list.php
+++ b/interface/web/mail/list/mail_transport.list.php
@@ -65,7 +65,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/mail_whitelist.list.php b/interface/web/mail/list/mail_whitelist.list.php
index d61da29e1f..0d8a0ffd70 100644
--- a/interface/web/mail/list/mail_whitelist.list.php
+++ b/interface/web/mail/list/mail_whitelist.list.php
@@ -64,7 +64,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/spamfilter_blacklist.list.php b/interface/web/mail/list/spamfilter_blacklist.list.php
index 76f9ebba61..cdf5a0e536 100644
--- a/interface/web/mail/list/spamfilter_blacklist.list.php
+++ b/interface/web/mail/list/spamfilter_blacklist.list.php
@@ -64,7 +64,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/spamfilter_users.list.php b/interface/web/mail/list/spamfilter_users.list.php
index 0d65df505e..efd74f68e9 100644
--- a/interface/web/mail/list/spamfilter_users.list.php
+++ b/interface/web/mail/list/spamfilter_users.list.php
@@ -64,7 +64,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/mail/list/spamfilter_whitelist.list.php b/interface/web/mail/list/spamfilter_whitelist.list.php
index 6f6463875b..3082329199 100644
--- a/interface/web/mail/list/spamfilter_whitelist.list.php
+++ b/interface/web/mail/list/spamfilter_whitelist.list.php
@@ -64,7 +64,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/sites/list/cron.list.php b/interface/web/sites/list/cron.list.php
index b1625ebb18..311af329c5 100644
--- a/interface/web/sites/list/cron.list.php
+++ b/interface/web/sites/list/cron.list.php
@@ -65,7 +65,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/sites/list/database.list.php b/interface/web/sites/list/database.list.php
index 55450ef17f..22694aaa21 100644
--- a/interface/web/sites/list/database.list.php
+++ b/interface/web/sites/list/database.list.php
@@ -101,13 +101,13 @@ if($_SESSION['s']['user']['typ'] == 'admin') {
 }
 
 $liste["item"][] = array( 'field'  => "server_id",
-	'datatype' => "VARCHAR",
+	'datatype' => "INTEGER",
 	'formtype' => "SELECT",
 	'op'  => "like",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND db_server = 1 ORDER BY server_name',
+		'querystring' => 'SELECT a.server_id, a.server_name FROM server a, web_database b WHERE (a.server_id = b.server_id) AND ({AUTHSQL-B}) ORDER BY a.server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/sites/list/ftp_user.list.php b/interface/web/sites/list/ftp_user.list.php
index 122e2b0848..9742a24274 100644
--- a/interface/web/sites/list/ftp_user.list.php
+++ b/interface/web/sites/list/ftp_user.list.php
@@ -59,13 +59,13 @@ $liste["item"][] = array( 'field'  => "active",
 
 
 $liste["item"][] = array( 'field'  => "server_id",
-	'datatype' => "VARCHAR",
+	'datatype' => "INTEGER",
 	'formtype' => "SELECT",
 	'op'  => "like",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT a.server_id, a.server_name FROM server a, ftp_user b WHERE (a.server_id = b.server_id) AND ({AUTHSQL-B}) ORDER BY a.server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/sites/list/shell_user.list.php b/interface/web/sites/list/shell_user.list.php
index 33ba4ad0b8..61c774dee6 100644
--- a/interface/web/sites/list/shell_user.list.php
+++ b/interface/web/sites/list/shell_user.list.php
@@ -65,7 +65,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/sites/list/web_childdomain.list.php b/interface/web/sites/list/web_childdomain.list.php
index 9a5f10713a..f938bee322 100644
--- a/interface/web/sites/list/web_childdomain.list.php
+++ b/interface/web/sites/list/web_childdomain.list.php
@@ -59,13 +59,13 @@ $liste["item"][] = array( 'field'  => "active",
 
 
 $liste["item"][] = array( 'field'  => "server_id",
-	'datatype' => "VARCHAR",
+	'datatype' => "INTEGER",
 	'formtype' => "SELECT",
 	'op'  => "like",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT a.server_id, a.server_name FROM server a, web_domain b WHERE (a.server_id = b.server_id) AND ({AUTHSQL-B}) ORDER BY a.server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/sites/list/web_folder.list.php b/interface/web/sites/list/web_folder.list.php
index 2c79892646..af74d8e950 100644
--- a/interface/web/sites/list/web_folder.list.php
+++ b/interface/web/sites/list/web_folder.list.php
@@ -65,7 +65,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/sites/list/webdav_user.list.php b/interface/web/sites/list/webdav_user.list.php
index ab727ac1a3..52a3ab9631 100644
--- a/interface/web/sites/list/webdav_user.list.php
+++ b/interface/web/sites/list/webdav_user.list.php
@@ -65,7 +65,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "%",
 	'suffix' => "%",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} and mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/vm/list/openvz_ip.list.php b/interface/web/vm/list/openvz_ip.list.php
index 313c6f065b..9184aa7faf 100644
--- a/interface/web/vm/list/openvz_ip.list.php
+++ b/interface/web/vm/list/openvz_ip.list.php
@@ -54,7 +54,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "",
 	'suffix' => "",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id, server_name FROM server WHERE vserver_server = 1 ORDER BY server_name',
+		'querystring' => 'SELECT server_id, server_name FROM server WHERE vserver_server = 1 AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/vm/list/openvz_ostemplate.list.php b/interface/web/vm/list/openvz_ostemplate.list.php
index 19d2afeb49..cf490559fd 100644
--- a/interface/web/vm/list/openvz_ostemplate.list.php
+++ b/interface/web/vm/list/openvz_ostemplate.list.php
@@ -82,7 +82,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "",
 	'suffix' => "",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id, server_name FROM server WHERE vserver_server = 1 ORDER BY server_name',
+		'querystring' => 'SELECT server_id, server_name FROM server WHERE vserver_server = 1 AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
diff --git a/interface/web/vm/list/openvz_vm.list.php b/interface/web/vm/list/openvz_vm.list.php
index ce42f93631..ad490edc4a 100644
--- a/interface/web/vm/list/openvz_vm.list.php
+++ b/interface/web/vm/list/openvz_vm.list.php
@@ -72,7 +72,7 @@ $liste["item"][] = array( 'field'  => "server_id",
 	'prefix' => "",
 	'suffix' => "",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => 'SELECT server_id, server_name FROM server WHERE vserver_server = 1 ORDER BY server_name',
+		'querystring' => 'SELECT server_id, server_name FROM server WHERE vserver_server = 1 AND mirror_server_id = 0 ORDER BY server_name',
 		'keyfield'=> 'server_id',
 		'valuefield'=> 'server_name'
 	),
-- 
GitLab