From 37a8909be5379ca204eb15fd00dedd29d9efb038 Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Wed, 10 Sep 2014 11:18:35 -0400
Subject: [PATCH] FS#3286 - Add server selector in resync tool

---
 interface/web/tools/lib/lang/se_resync.lng     |   11 
 interface/web/tools/lib/lang/pl_resync.lng     |    5 
 interface/web/tools/lib/lang/it_resync.lng     |   11 
 interface/web/tools/lib/lang/ar_resync.lng     |   11 
 interface/web/tools/lib/lang/fi_resync.lng     |   11 
 interface/web/tools/lib/lang/br_resync.lng     |   11 
 interface/web/tools/lib/lang/sk_resync.lng     |   11 
 interface/web/tools/form/resync.tform.php      |  114 ++++
 interface/web/tools/resync_do.php              |  370 ++++++++++++++++
 interface/web/tools/lib/lang/fr_resync.lng     |    6 
 interface/web/tools/lib/lang/cz_resync.lng     |    5 
 interface/web/tools/lib/lang/nl_resync.lng     |   11 
 interface/web/tools/lib/lang/ro_resync.lng     |   11 
 interface/web/tools/lib/lang/en_resync.lng     |   10 
 interface/web/tools/lib/lang/hu_resync.lng     |   11 
 interface/web/tools/lib/lang/bg_resync.lng     |    5 
 interface/web/tools/lib/lang/tr_resync.lng     |   11 
 interface/web/tools/lib/lang/de_resync.lng     |    5 
 interface/web/tools/lib/lang/ja_resync.lng     |   11 
 interface/web/tools/lib/lang/id_resync.lng     |   11 
 interface/web/tools/lib/lang/es_resync.lng     |    5 
 interface/web/tools/resync_show.php            |  114 ++++
 interface/web/tools/lib/lang/pt_resync.lng     |   11 
 interface/web/tools/lib/menu.d/resync.menu.php |    2 
 /dev/null                                      |  238 ----------
 interface/web/tools/lib/lang/ru_resync.lng     |   11 
 interface/web/tools/templates/resync.htm       |  278 ++++++++---
 interface/web/tools/lib/lang/el_resync.lng     |   11 
 28 files changed, 961 insertions(+), 361 deletions(-)

diff --git a/interface/web/tools/form/resync.tform.php b/interface/web/tools/form/resync.tform.php
new file mode 100644
index 0000000..01c9470
--- /dev/null
+++ b/interface/web/tools/form/resync.tform.php
@@ -0,0 +1,114 @@
+<?php
+$form["title"]    = "Resync Tool";
+$form["description"]  = "";
+$form["name"]    = "resync";
+$form["action"]   = "resync_do.php";
+$form["db_history"]  = "no";
+$form["tab_default"] = "resync";
+$form["list_default"] = "resync_show.php";
+$form["auth"]   = 'yes'; 
+
+$form["auth_preset"]["userid"]  = 0; // 0 = id of the user, > 0 id must match with id of current user
+$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
+$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
+$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+
+$form["tabs"]['resync'] = array (
+	'title'  => "Resync",
+	'width'  => 100,
+	'template'  => "templates/resync.htm",
+	'fields'  => array (
+		'mail_server_id' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'datasource' => array (  'type' => 'SQL',
+				'querystring' => 'SELECT server_id FROM server WHERE mail_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}',
+				'keyfield'=> 'server_id',
+				'valuefield'=> 'server_name'
+			),
+			'value'  => ''
+		),
+		'web_server_id' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'datasource' => array (  'type' => 'SQL',
+				'querystring' => 'SELECT server_id FROM server WHERE web_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}',
+				'keyfield'=> 'server_id',
+				'valuefield'=> 'server_name'
+			),
+			'value'  => ''
+		),
+		'dns_server_id' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'datasource' => array (  'type' => 'SQL',
+				'querystring' => 'SELECT server_id FROM server WHERE dns_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}',
+				'keyfield'=> 'server_id',
+				'valuefield'=> 'server_name'
+			),
+			'value'  => ''
+		),
+		'file_server_id' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'datasource' => array (  'type' => 'SQL',
+				'querystring' => 'SELECT server_id FROM server WHERE file_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}',
+				'keyfield'=> 'server_id',
+				'valuefield'=> 'server_name'
+			),
+			'value'  => ''
+		),
+		'db_server_id' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'datasource' => array (  'type' => 'SQL',
+				'querystring' => 'SELECT server_id FROM server WHERE db_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}',
+				'keyfield'=> 'server_id',
+				'valuefield'=> 'server_name'
+			),
+			'value'  => ''
+		),
+		'vserver_server_id' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'datasource' => array (  'type' => 'SQL',
+				'querystring' => 'SELECT server_id FROM server WHERE vserver_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}',
+				'keyfield'=> 'server_id',
+				'valuefield'=> 'server_name'
+			),
+			'value'  => ''
+		),
+		'proxy_server_id' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'datasource' => array (  'type' => 'SQL',
+				'querystring' => 'SELECT server_id FROM server WHERE proxy_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}',
+				'keyfield'=> 'server_id',
+				'valuefield'=> 'server_name'
+			),
+			'value'  => ''
+		),
+		'firewall_server_id' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'datasource' => array (  'type' => 'SQL',
+				'querystring' => 'SELECT server_id FROM server WHERE firewall_server = 1 AND mirror_server_id = 0 AND {AUTHSQL}',
+				'keyfield'=> 'server_id',
+				'valuefield'=> 'server_name'
+			),
+			'value'  => ''
+		),
+	)
+);
+
+
+?>
diff --git a/interface/web/tools/lib/lang/ar_resync.lng b/interface/web/tools/lib/lang/ar_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/ar_resync.lng
+++ b/interface/web/tools/lib/lang/ar_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/bg_resync.lng b/interface/web/tools/lib/lang/bg_resync.lng
index 764e517..3a6a9db 100644
--- a/interface/web/tools/lib/lang/bg_resync.lng
+++ b/interface/web/tools/lib/lang/bg_resync.lng
@@ -11,4 +11,9 @@
 $wb['btn_start_txt'] = 'Стартирай';
 $wb['btn_cancel_txt'] = 'Отказ';
 $wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 ?>
diff --git a/interface/web/tools/lib/lang/br_resync.lng b/interface/web/tools/lib/lang/br_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/br_resync.lng
+++ b/interface/web/tools/lib/lang/br_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/cz_resync.lng b/interface/web/tools/lib/lang/cz_resync.lng
index e62cbaa..2899c4a 100644
--- a/interface/web/tools/lib/lang/cz_resync.lng
+++ b/interface/web/tools/lib/lang/cz_resync.lng
@@ -11,4 +11,9 @@
 $wb['btn_start_txt'] = 'Zahájit';
 $wb['btn_cancel_txt'] = 'Zrušit';
 $wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 ?>
diff --git a/interface/web/tools/lib/lang/de_resync.lng b/interface/web/tools/lib/lang/de_resync.lng
index 8461f20..59d85b9 100644
--- a/interface/web/tools/lib/lang/de_resync.lng
+++ b/interface/web/tools/lib/lang/de_resync.lng
@@ -12,4 +12,9 @@
 $wb['resync_client_txt'] = 'Kunden';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Zurück';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Benutzer';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'Kein aktiver Serfer gefunden';
 ?>
diff --git a/interface/web/tools/lib/lang/el_resync.lng b/interface/web/tools/lib/lang/el_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/el_resync.lng
+++ b/interface/web/tools/lib/lang/el_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/en_resync.lng b/interface/web/tools/lib/lang/en_resync.lng
index 891416b..4e89bde 100644
--- a/interface/web/tools/lib/lang/en_resync.lng
+++ b/interface/web/tools/lib/lang/en_resync.lng
@@ -2,14 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
-$wb['resync_dkim_txt'] = 'Resync DKIM-Keys';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
 $wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
 ?>
diff --git a/interface/web/tools/lib/lang/es_resync.lng b/interface/web/tools/lib/lang/es_resync.lng
index a5900cc..a699866 100644
--- a/interface/web/tools/lib/lang/es_resync.lng
+++ b/interface/web/tools/lib/lang/es_resync.lng
@@ -11,4 +11,9 @@
 $wb['btn_start_txt'] = 'Inicio';
 $wb['btn_cancel_txt'] = 'Cancelar';
 $wb['resync_client_txt'] = 'Resincronizar Clientes';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 ?>
diff --git a/interface/web/tools/lib/lang/fi_resync.lng b/interface/web/tools/lib/lang/fi_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/fi_resync.lng
+++ b/interface/web/tools/lib/lang/fi_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/fr_resync.lng b/interface/web/tools/lib/lang/fr_resync.lng
index ddc80e3..2113530 100644
--- a/interface/web/tools/lib/lang/fr_resync.lng
+++ b/interface/web/tools/lib/lang/fr_resync.lng
@@ -12,5 +12,9 @@
 $wb['btn_start_txt'] = 'Dérrer';
 $wb['btn_cancel_txt'] = 'Annuler';
 $wb['Resynchroniser_client_txt'] = 'Resynchroniser Enregisitrements Client';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 ?>
-
diff --git a/interface/web/tools/lib/lang/hu_resync.lng b/interface/web/tools/lib/lang/hu_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/hu_resync.lng
+++ b/interface/web/tools/lib/lang/hu_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/id_resync.lng b/interface/web/tools/lib/lang/id_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/id_resync.lng
+++ b/interface/web/tools/lib/lang/id_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/it_resync.lng b/interface/web/tools/lib/lang/it_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/it_resync.lng
+++ b/interface/web/tools/lib/lang/it_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/ja_resync.lng b/interface/web/tools/lib/lang/ja_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/ja_resync.lng
+++ b/interface/web/tools/lib/lang/ja_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/nl_resync.lng b/interface/web/tools/lib/lang/nl_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/nl_resync.lng
+++ b/interface/web/tools/lib/lang/nl_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/pl_resync.lng b/interface/web/tools/lib/lang/pl_resync.lng
index db7fac6..77e656d 100644
--- a/interface/web/tools/lib/lang/pl_resync.lng
+++ b/interface/web/tools/lib/lang/pl_resync.lng
@@ -11,4 +11,9 @@
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Anuluj';
 $wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 ?>
diff --git a/interface/web/tools/lib/lang/pt_resync.lng b/interface/web/tools/lib/lang/pt_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/pt_resync.lng
+++ b/interface/web/tools/lib/lang/pt_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/ro_resync.lng b/interface/web/tools/lib/lang/ro_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/ro_resync.lng
+++ b/interface/web/tools/lib/lang/ro_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/ru_resync.lng b/interface/web/tools/lib/lang/ru_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/ru_resync.lng
+++ b/interface/web/tools/lib/lang/ru_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/se_resync.lng b/interface/web/tools/lib/lang/se_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/se_resync.lng
+++ b/interface/web/tools/lib/lang/se_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/sk_resync.lng b/interface/web/tools/lib/lang/sk_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/sk_resync.lng
+++ b/interface/web/tools/lib/lang/sk_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/lang/tr_resync.lng b/interface/web/tools/lib/lang/tr_resync.lng
index dd8a216..4e89bde 100644
--- a/interface/web/tools/lib/lang/tr_resync.lng
+++ b/interface/web/tools/lib/lang/tr_resync.lng
@@ -2,13 +2,18 @@
 $wb['head_txt'] = 'Resync Tool';
 $wb['legend_txt'] = 'Resync';
 $wb['resync_sites_txt'] = 'Resync Websites';
-$wb['resync_ftp_txt'] = 'Resync FTP users';
+$wb['resync_ftp_txt'] = 'Resync FTP-Accounts';
+$wb['resync_webdav_txt'] = 'Resync WebDAV-Users';
 $wb['resync_shell_txt'] = 'Resync shell users';
 $wb['resync_cron_txt'] = 'Resync cronjobs';
-$wb['resync_db_txt'] = 'Resync clientdb config';
+$wb['resync_db_txt'] = 'Resync Client Database config';
 $wb['resync_mailbox_txt'] = 'Resync Mailboxes';
+$wb['resync_mail_txt'] = 'Resync Maildomains';
 $wb['resync_dns_txt'] = 'Resync DNS records';
+$wb['resync_vserver_txt'] = 'Resync vServer';
+$wb['resync_client_txt'] = 'Resync Client records';
+$wb['resync_firewall_txt'] = 'Resync Firewall';
+$wb['resync_no_server_txt'] = 'No active server found';
 $wb['btn_start_txt'] = 'Start';
 $wb['btn_cancel_txt'] = 'Cancel';
-$wb['resync_client_txt'] = 'Resync Client records';
 ?>
diff --git a/interface/web/tools/lib/menu.d/resync.menu.php b/interface/web/tools/lib/menu.d/resync.menu.php
index 5de2f77..bc25fff 100644
--- a/interface/web/tools/lib/menu.d/resync.menu.php
+++ b/interface/web/tools/lib/menu.d/resync.menu.php
@@ -9,7 +9,7 @@
 
 	$items[] = array( 'title'  => 'Resync',
 		'target'  => 'content',
-		'link' => 'tools/resync.php');
+		'link' => 'tools/resync_show.php');
 
 
 	$module['nav'][] = array( 'title' => 'Sync Tools',
diff --git a/interface/web/tools/resync.php b/interface/web/tools/resync.php
deleted file mode 100644
index 4e5f206..0000000
--- a/interface/web/tools/resync.php
+++ /dev/null
@@ -1,238 +0,0 @@
-<?php
-/*
-Copyright (c) 2012, Till Brehm, projektfarm Gmbh, ISPConfig UG
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-    * Neither the name of ISPConfig nor the names of its contributors
-      may be used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once '../../lib/config.inc.php';
-require_once '../../lib/app.inc.php';
-
-//* Check permissions for module
-$app->auth->check_module_permissions('admin');
-
-//* This is only allowed for administrators
-if(!$app->auth->is_admin()) die('only allowed for administrators.');
-
-$app->uses('tpl,validate_dns');
-
-$app->tpl->newTemplate('form.tpl.htm');
-$app->tpl->setInclude('content_tpl', 'templates/resync.htm');
-$msg = '';
-$error = '';
-
-//* load language file
-$lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_resync.lng';
-include $lng_file;
-$app->tpl->setVar($wb);
-
-//* Resyncing websites
-if(isset($_POST['resync_sites']) && $_POST['resync_sites'] == 1) {
-	$db_table = 'web_domain';
-	$index_field = 'domain_id';
-	$sql = "SELECT * FROM ".$db_table." WHERE active = 'y'";
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced Website: ".$rec['domain'].'<br />';
-		}
-	}
-}
-
-//* Resyncing ftp
-if(isset($_POST['resync_ftp']) && $_POST['resync_ftp'] == 1) {
-	$db_table = 'ftp_user';
-	$index_field = 'ftp_user_id';
-	$sql = "SELECT * FROM ".$db_table." WHERE active = 'y'";
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced FTP user: ".$rec['username'].'<br />';
-		}
-	}
-}
-
-//* Resyncing shell
-if(isset($_POST['resync_shell']) && $_POST['resync_shell'] == 1) {
-	$db_table = 'shell_user';
-	$index_field = 'shell_user_id';
-	$sql = "SELECT * FROM ".$db_table." WHERE active = 'y'";
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced Shell user: ".$rec['username'].'<br />';
-		}
-	}
-}
-
-//* Resyncing Cronjobs
-if(isset($_POST['resync_cron']) && $_POST['resync_cron'] == 1) {
-	$db_table = 'cron';
-	$index_field = 'id';
-	$sql = "SELECT * FROM ".$db_table." WHERE active = 'y'";
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced Cron: ".$rec['id'].'<br />';
-		}
-	}
-}
-
-//* Resyncing Databases
-if(isset($_POST['resync_db']) && $_POST['resync_db'] == 1) {
-	$db_table = 'web_database_user';
-	$index_field = 'database_user_id';
-	$sql = "SELECT * FROM ".$db_table." WHERE 1";
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced Database user: ".$rec['database_user'].'<br />';
-		}
-	}
-	$db_table = 'web_database';
-	$index_field = 'database_id';
-	$sql = "SELECT * FROM ".$db_table." WHERE active = 'y'";
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced Database: ".$rec['database_name'].'<br />';
-		}
-	}
-}
-
-//* Resyncing Mailbox Domains
-if(isset($_POST['resync_mailbox']) && $_POST['resync_mailbox'] == 1) {
-	$db_table = 'mail_domain';
-	$index_field = 'domain_id';
-	$sql = "SELECT * FROM ".$db_table." WHERE active = 'y'";
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced Mail Domain: ".$rec['domain'].'<br />';
-		}
-	}
-}
-
-//* Resyncing Mailboxes
-if(isset($_POST['resync_mailbox']) && $_POST['resync_mailbox'] == 1) {
-	$db_table = 'mail_user';
-	$index_field = 'mailuser_id';
-	$sql = "SELECT * FROM ".$db_table;
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced Mailbox: ".$rec['email'].'<br />';
-		}
-	}
-	$db_table = 'mail_forwarding';
-	$index_field = 'forwarding_id';
-	$sql = "SELECT * FROM ".$db_table;
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced Alias: ".$rec['source'].'<br />';
-		}
-	}
-}
-
-//* Resyncing DKIM-Keys
-if(isset($_POST['resync_dkim']) && $_POST['resync_dkim'] == 1) {
-	$db_table = 'mail_domain';
-	$index_field = 'domain_id';
-	$sql = "SELECT * FROM ".$db_table." WHERE active = 'y' AND dkim = 'y'";
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$msg .= "Resynced DKIM-Key: ".$rec['domain'].'<br />';
-		}
-	}
-}
-
-//* Resyncing dns zones
-if(isset($_POST['resync_dns']) && $_POST['resync_dns'] == 1) {
-	$zones = $app->db->queryAllRecords("SELECT id,origin,serial FROM dns_soa WHERE active = 'Y'");
-	if(is_array($zones) && !empty($zones)) {
-		foreach($zones as $zone) {
-			$records = $app->db->queryAllRecords("SELECT id,serial FROM dns_rr WHERE zone = ".$zone['id']." AND active = 'Y'");
-			if(is_array($records)) {
-				foreach($records as $rec) {
-					$new_serial = $app->validate_dns->increase_serial($rec["serial"]);
-					$app->db->datalogUpdate('dns_rr', "serial = '".$new_serial."'", 'id', $rec['id']);
-
-				}
-			}
-			$new_serial = $app->validate_dns->increase_serial($zone["serial"]);
-			$app->db->datalogUpdate('dns_soa', "serial = '".$new_serial."'", 'id', $zone['id']);
-			$msg .= "Resynced DNS zone: ".$zone['origin'].'<br />';
-		}
-	} else {
-		$error .= "No zones found to sync.<br />";
-	}
-
-}
-
-//* Resyncing Clients
-if(isset($_POST['resync_client']) && $_POST['resync_client'] == 1) {
-	$tform_def_file = "form/client.tform.php";
-	$app->uses('tpl,tform,tform_actions');
-	$app->load('tform_actions');
-	
-	$db_table = 'client';
-	$index_field = 'client_id';
-	$sql = "SELECT * FROM ".$db_table;
-	$records = $app->db->queryAllRecords($sql);
-	if(is_array($records)) {
-		foreach($records as $rec) {
-			$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
-			$tmp = new tform_actions;
-			$tmp->id = $rec[$index_field];
-			$tmp->dataRecord = $rec;
-			$tmp->oldDataRecord = $rec;
-			$app->plugin->raiseEvent('client:client:on_after_update', $tmp);
-			$msg .= "Resynced Client: ".$rec['contact_name'].'<br />';
-			unset($tmp);
-		}
-	}
-}
-
-
-$app->tpl->setVar('msg', $msg);
-$app->tpl->setVar('error', $error);
-
-$app->tpl_defaults();
-$app->tpl->pparse();
-
-
-?>
diff --git a/interface/web/tools/resync_do.php b/interface/web/tools/resync_do.php
new file mode 100644
index 0000000..a40fc6b
--- /dev/null
+++ b/interface/web/tools/resync_do.php
@@ -0,0 +1,370 @@
+<?php
+/*
+Copyright (c) 2014, Florian Schaal, info@schaal-24.de
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+/******************************************
+* Begin Form configuration
+******************************************/
+
+$tform_def_file = 'form/resync.tform.php';
+
+/******************************************
+* End Form configuration
+******************************************/
+
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
+
+//* Check permissions for module
+$app->auth->check_module_permissions('admin');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+    function onSubmit() {
+        global $app, $conf, $interfaceConf;
+
+		function query_server($table, $server_id, $server_type, $where = "WHERE active = 'y'", $active_only = true) {
+			global $app;
+			$server_name = array();
+			if ( $server_id <= 0 ) { //* resync multiple server
+				if ($active_only) {
+					$tmp = $app->db->queryAllRecords("SELECT server_id, server_name FROM server WHERE ".$server_type."_server = 1 AND active = 1 AND mirror_server_id = 0");
+				} else {
+					$tmp = $app->db->queryAllRecords("SELECT server_id, server_name FROM server WHERE ".$server_type."_server = 1 AND mirror_server_id = 0");
+				}
+				foreach ($tmp as $server) {
+					$tmp_id .= $server['server_id'].',';
+					$server_name[$server['server_id']] = $server['server_name'];
+				}
+			}
+			if ( isset($tmp_id) ) $server_id = rtrim($tmp_id,',');
+
+			if ($active_only) {
+				$sql = "SELECT * FROM ".$table." ".$where." AND server_id IN (".$server_id.")"; 
+			} else { 
+				$sql = "SELECT * FROM ".$table." ".$where; 
+			}
+			$records = $app->db->queryAllRecords($sql);
+
+			return array($records, $server_name);
+		}			
+
+		//* websites
+		if(isset($this->dataRecord['resync_sites']) && $this->dataRecord['resync_sites'] == 1) {
+			$db_table = 'web_domain';
+			$index_field = 'domain_id';
+			$server_type = 'web';
+			$server_id = $app->functions->intval($this->dataRecord['web_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg = '<b>Resynced Website:</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['domain'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		//* ftp
+		if(isset($this->dataRecord['resync_ftp']) && $this->dataRecord['resync_ftp'] == 1) {
+			$db_table = 'ftp_user';
+			$index_field = 'ftp_user_id';
+			$server_type = 'web';
+			$server_id = $app->functions->intval($this->dataRecord['ftp_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced FTP user:</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['username'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		//* webdav
+		if(isset($this->dataRecord['resync_webdav']) && $this->dataRecord['resync_webdav'] == 1) {
+			$db_table = 'webdav_user';
+			$index_field = 'webdav_user_id';
+			$server_type = 'file';
+			$server_id = $app->functions->intval($this->dataRecord['webdav_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced WebDav-User</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['username'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		//* shell
+		if(isset($this->dataRecord['resync_shell']) && $this->dataRecord['resync_shell'] == 1) {
+			$db_table = 'shell_user';
+			$index_field = 'shell_user_id';
+			$server_type = 'web';
+			$server_id = $app->functions->intval($this->dataRecord['shell_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced Shell user:</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['username'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		//* cron
+		if(isset($this->dataRecord['resync_cron']) && $this->dataRecord['resync_cron'] == 1) {
+			$db_table = 'cron';
+			$index_field = 'id';
+			$server_type = 'web';
+			$server_id = $app->functions->intval($this->dataRecord['cron_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced Cronjob:</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['command'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		//* database
+		if(isset($this->dataRecord['resync_db']) && $this->dataRecord['resync_db'] == 1) {
+			$db_table = 'web_database_user';
+			$index_field = 'database_user_id';
+			$server_type = 'db';
+			$server_id = $app->functions->intval($this->dataRecord['db_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1');
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced Database User:</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['database_user'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+
+			$db_table = 'web_database';
+			$index_field = 'database_id';
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$msg .= '<b>Resynced Database:</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['database_name'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+
+		}
+
+		//* maildomains
+		if(isset($this->dataRecord['resync_mail']) && $this->dataRecord['resync_mail'] == 1) {
+			$db_table = 'mail_domain';
+			$index_field = 'domain_id';
+			$server_type = 'mail';
+			$server_id = $app->functions->intval($this->dataRecord['mail_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced Maildomain:</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['domain'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		//* mailbox
+		if(isset($this->dataRecord['resync_mailbox']) && $this->dataRecord['resync_mailbox'] == 1) {
+			$db_table = 'mail_user';
+			$index_field = 'mailuser_id';
+			$server_type = 'mail';
+			$server_id = $app->functions->intval($this->dataRecord['mailbox_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced Mailbox:</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['email'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+
+			$db_table = 'mail_forwarding';
+			$index_field = 'forwarding_id';
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced Alias</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		//* dns
+		if(isset($this->dataRecord['resync_dns']) && $this->dataRecord['resync_dns'] == 1) {
+			$db_table = 'dns_soa';
+			$index_field = 'id';
+			$server_type = 'dns';
+			$server_id = $app->functions->intval($this->dataRecord['dns_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type, "WHERE active = 'Y'");
+			$zone_records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced DNS zone</b><br>';
+			if(is_array($zone_records) && !empty($zone_records)) {
+				foreach($zone_records as $zone_rec) {
+					if ($server_id == -1) $records = query_server('dns_rr', $server_id, $server_type, 'WHERE 1', false)[0]; else $records = query_server('dns_rr', $server_id, $server_type, "WHERE active = 'Y'")[0];
+					$rr_count = 0;
+					if (is_array($records)) {
+						foreach($records as $rec) {
+							$new_serial = $app->validate_dns->increase_serial($rec['serial']);
+							$app->db->datalogUpdate('dns_rr', "serial = '".$new_serial."'", 'id', $rec['id']);
+							$rr_count++;
+						}
+					} else { $msg .= 'no dns recordsesults<br>'; }
+					$new_serial = $app->validate_dns->increase_serial($zone_rec['serial']);
+					$app->db->datalogUpdate('dns_soa', "serial = '".$new_serial."'", 'id', $zone_rec['id']);
+					$msg .= $zone_rec['origin'].' on '.$server_name[$zone_rec['server_id']].' with '.$rr_count.' records<br>';
+				}
+			} else { $msg .= 'no results<br>'; }
+			$msg .= '<br>';
+        }
+
+		//* clients
+		if(isset($this->dataRecord['resync_client']) && $this->dataRecord['resync_client'] == 1) {
+        	$db_table = 'client';
+        	$index_field = 'client_id';
+        	$records = $app->db->queryAllRecords("SELECT * FROM ".$db_table);
+			$msg .= '<b>Resynced clients</b><br>';
+			if(is_array($records)) {
+	        	$tform_def_file = '../client/form/client.tform.php';
+    	    	$app->uses('tpl,tform,tform_actions');
+        		$app->load('tform_actions');
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$tmp = new tform_actions;
+					$tmp->id = $rec[$index_field];
+					$tmp->dataRecord = $rec;
+					$tmp->oldDataRecord = $rec;
+					$app->plugin->raiseEvent('client:client:on_after_update', $tmp);
+					$msg .= $rec['contact_name'].'<br>';
+					unset($tmp);
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		//* vserver
+		if(isset($this->dataRecord['resync_vserver']) && $this->dataRecord['resync_vserver'] == 1) {
+			$db_table = 'openvz_vm';
+			$index_field = 'vm_id';
+			$server_type = 'vserver';
+			$server_id = $app->functions->intval($this->dataRecord['vserver_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced vServer:</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+					$msg .= $rec['hostname'].' on '.$server_name[$rec['server_id']].'<br>';
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		//* firewall
+		if(isset($this->dataRecord['resync_firewall']) && $this->dataRecord['resync_firewall'] == 1) {
+			$db_table = 'iptables';
+			$index_field = 'iptables_id';
+			$server_type = 'firewall';
+			$server_id = $app->functions->intval($this->dataRecord['firewall_server_id']);
+			if ($server_id == -1) $tmp = query_server($db_table, $server_id, $server_type, 'WHERE 1', false); else $tmp = query_server($db_table, $server_id, $server_type);
+			$records = $tmp[0];
+			$server_name = $tmp[1];
+			unset($tmp);
+			$msg .= '<b>Resynced Firewall</b><br>';
+			if(is_array($records)) {
+				foreach($records as $rec) {
+					$app->db->datalogUpdate($db_table, $rec, $index_field, $rec[$index_field], true);
+				}
+			} else { $msg .= 'no results<bg>'; }
+			$msg .= '<br>';
+		}
+
+		echo $msg;
+    }
+
+}
+
+$page = new page_action;
+$page->onLoad();
+?>
diff --git a/interface/web/tools/resync_show.php b/interface/web/tools/resync_show.php
new file mode 100644
index 0000000..b74515d
--- /dev/null
+++ b/interface/web/tools/resync_show.php
@@ -0,0 +1,114 @@
+<?php
+/*
+Copyright (c) 2014, Florian Schaal, info@schaal-24.de
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+/******************************************
+* Begin Form configuration
+******************************************/
+
+$tform_def_file = 'form/resync.tform.php';
+
+/******************************************
+* End Form configuration
+******************************************/
+
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
+
+//* Check permissions for module
+$app->auth->check_module_permissions('admin');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+	function get_servers($type) {
+		global $app;
+
+		$inactive_server = false;
+		$tmp = $app->db->queryAllRecords("SELECT server_id, server_name, active FROM server WHERE ".$type."_server = 1 AND mirror_server_id = 0 ORDER BY active DESC, server_name");
+		foreach ($tmp as $server) {
+			if ( $server['active'] == '0' ) {
+				$server['server_name'] .= ' [inactive]';
+				$inactive_server = true;
+			}
+			$options_servers .= "<option value='$server[server_id]'>$server[server_name]</option>";
+		}
+		if ( count ($tmp) > 1 ) {
+			$options_servers = "<option value='0'>all active $type-server</option>" . $options_servers;
+			if ($inactive_server) $options_servers .= "<option value='-1'>force all $type-server</option>";
+		}
+
+		return $options_servers;
+
+	}
+
+	function onShowEnd() {
+		global $app, $conf;
+
+		$servers = $this->get_servers('mail');
+		$app->tpl->setVar('mail_server_id', $servers);
+		if ( !empty($servers) ) $app->tpl->setVar('mail_server_found', 1);
+
+		$servers = $this->get_servers('web');
+		$app->tpl->setVar('web_server_id', $servers);
+		$app->tpl->setVar('ftp_server_id', $servers);
+		if ( !empty($servers) ) $app->tpl->setVar('web_server_found', 1);
+
+		$servers = $this->get_servers('dns');
+		$app->tpl->setVar('dns_server_id', $servers);
+		if ( !empty($servers) ) $app->tpl->setVar('dns_server_found', 1);
+
+		$servers = $this->get_servers('file');
+		$app->tpl->setVar('file_server_id', $servers);
+		if ( !empty($servers) ) $app->tpl->setVar('file_server_found', 1);
+
+		$servers = $this->get_servers('db');
+		$app->tpl->setVar('db_server_id', $servers);
+		if ( !empty($servers) ) $app->tpl->setVar('db_server_found', 1);
+
+		$servers = $this->get_servers('vserver');
+		$app->tpl->setVar('vserver_server_id', $servers);
+		if ( !empty($servers) ) $app->tpl->setVar('vserver_server_found', 1);
+
+		$servers = $this->get_servers('firewall');
+		$app->tpl->setVar('firewall_server_id', $servers);
+		if ( !empty($servers) ) $app->tpl->setVar('firewall_server_found', 1);
+
+		parent::onShowEnd();
+	}
+
+}
+
+$page = new page_action;
+$page->onLoad();
+
+?>
diff --git a/interface/web/tools/templates/resync.htm b/interface/web/tools/templates/resync.htm
index 845949f..064dc6f 100644
--- a/interface/web/tools/templates/resync.htm
+++ b/interface/web/tools/templates/resync.htm
@@ -1,79 +1,211 @@
-<h2><tmpl_var name="head_txt"></h2>
+<h2><tmpl_var name="list_head_txt"></h2>
 <p><tmpl_var name="list_desc_txt"></p>
 
-<div class="panel panel_language_import">
-  
-    <div class="pnl_formsarea">
-        <fieldset class="inlineLabels"><legend>{tmpl_var name="legend_txt"}</legend>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_sites_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_sites" type="checkbox" value="1" name="resync_sites" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_ftp_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_ftp" type="checkbox" value="1" name="resync_ftp" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_shell_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_shell" type="checkbox" value="1" name="resync_shell" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_cron_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_cron" type="checkbox" value="1" name="resync_cron" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_db_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_db" type="checkbox" value="1" name="resync_db" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_mailbox_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_mailbox" type="checkbox" value="1" name="resync_mailbox" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_dkim_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_dkim" type="checkbox" value="1" name="resync_dkim" />
-                </div>
-            </div>
-            <div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_dns_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_dns" type="checkbox" value="1" name="resync_dns" />
-                </div>
-            </div>
-			<div class="ctrlHolder">
-                <p class="label">{tmpl_var name="resync_client_txt"}</p>
-                <div class="multiField">
-                    <input id="resync_client" type="checkbox" value="1" name="resync_client" />
-                </div>
-            </div>
-        </fieldset>
+<div class="panel panel_mail_domain">
+<div class="pnl_formsarea">
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="web_server_found">
+				<input id="resync_sites" type="checkbox" value="1" name="resync_sites">
+				<label for="resync_sites">{tmpl_var name='resync_sites_txt'}</label>
+				<select name="web_server_id" id="web_server_id" class="selectInput">
+					{tmpl_var name='web_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_sites">{tmpl_var name="resync_sites_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
 
-        <tmpl_if name="msg">
-            <div id="OKMsg"><p><tmpl_var name="msg"></p></div>
-        </tmpl_if>
-        <tmpl_if name="error">
-            <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
-        </tmpl_if>
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="web_server_found">
+				<input id="resync_ftp" type="checkbox" value="1" name="resync_ftp">
+				<label for="resync_ftp">{tmpl_var name="resync_ftp_txt"}</label> 
+				<select name="ftp_server_id" id="ftp_server_id" class="selectInput">
+					{tmpl_var name='ftp_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_ftp">{tmpl_var name="resync_ftp_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
 
-        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="file_server_found">
+				<input id="resync_webdav" type="checkbox" value="1" name="resync_webdav">
+				<label for="resync_webdav">{tmpl_var name="resync_webdav_txt"}</label> 
+				<select name="webdav_server_id" id="webdav_server_id" class="selectInput">
+					{tmpl_var name='file_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_webdav">{tmpl_var name="resync_webdav_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
 
-        <div class="buttonHolder buttons">
-            <button class="positive iconstxt icoPositive" type="button" value="Import" onClick="submitForm('pageForm','tools/resync.php');"><span>{tmpl_var name="btn_start_txt"}</span></button>
-            <button class="negative iconstxt icoNegative" type="button" value="Cancel" onClick="loadContent('tools/index.php');"><span>{tmpl_var name="btn_cancel_txt"}</span></button>
-        </div>
-    </div>
-  
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="web_server_found">
+				<input id="resync_shell" type="checkbox" value="1" name="resync_shell">
+				<label for="resync_shell">{tmpl_var name="resync_shell_txt"}</label> 
+				<select name="shell_server_id" id="shell_server_id" class="selectInput">
+					{tmpl_var name='web_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_shell">{tmpl_var name="resync_shell_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
+
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="web_server_found">
+				<input id="resync_cron" type="checkbox" value="1" name="resync_cron">
+				<label for="resync_cron">{tmpl_var name="resync_cron_txt"}</label> 
+				<select name="cron_server_id" id="cron_server_id" class="selectInput">
+					{tmpl_var name='web_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_cron">{tmpl_var name="resync_cron_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
+
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="db_server_found">
+				<input id="resync_db" type="checkbox" value="1" name="resync_db">
+				<label for="resync_db">{tmpl_var name="resync_db_txt"}</label> 
+				<select name="db_server_id" id="db_server_id" class="selectInput">
+					{tmpl_var name='db_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_db">{tmpl_var name="resync_db_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
+	
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="mail_server_found">
+				<input id="resync_mail" type="checkbox" value="1" name="resync_mail">
+				<label for="resync_mail">{tmpl_var name="resync_mail_txt"}</label> 
+				<select name="mail_server_id" id="mail_server_id" class="selectInput">
+					{tmpl_var name='mail_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_mail">{tmpl_var name="resync_mail_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
+
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="mail_server_found">
+				<input id="resync_mailbox" type="checkbox" value="1" name="resync_mailbox">
+				<label for="resync_mailbox">{tmpl_var name="resync_mailbox_txt"}</label> 
+				<select name="mailbox_server_id" id="mailbox_server_id" class="selectInput">
+					{tmpl_var name='mail_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_mailbox">{tmpl_var name="resync_mailbox_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="dns_server_found">
+				<input id="resync_dns" type="checkbox" value="1" name="resync_dns">
+				<label for="resync_dns">{tmpl_var name="resync_dns_txt"}</label> 
+				<select name="dns_server_id" id="dns_server_id" class="selectInput">
+					{tmpl_var name='dns_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_dns">{tmpl_var name="resync_dns_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
+
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="vserver_server_found">
+				<input id="resync_vserver" type="checkbox" value="1" name="resync_vserver">
+				<label for="resync_vserver">{tmpl_var name="resync_vserver_txt"}</label> 
+				<select name="vserver_server_id" id="vserver_server_id" class="selectInput">
+					{tmpl_var name='vserver_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_vserver">{tmpl_var name="resync_vserver_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
+
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<tmpl_if name="firewall_server_found">
+				<input id="resync_firewall" type="checkbox" value="1" name="resync_firewall">
+				<label for="resync_firewall">{tmpl_var name="resync_firewall_txt"}</label> 
+				<select name="firewall_server_id" id="firewall_server_id" class="selectInput">
+					{tmpl_var name='firewall_server_id'}
+				</select>
+			<tmpl_else>
+				<label for="resync_firewall">{tmpl_var name="resync_firewall_txt"}</label> 
+				<span style="color:red">
+					<strong>{tmpl_var name="resync_no_server_txt"}</strong>
+				</span>
+			</tmpl_if>
+		</div>
+	</fieldset>
+
+	<fieldset class="inlineLabels">
+		<div class="ctrlHolder">
+			<input id="resync_client" type="checkbox" value="1" name="resync_client">
+			<label for="resync_client">{tmpl_var name="resync_client_txt"}</label> 
+		</div>
+	</fieldset>
+
+	<input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+	<div class="buttonHolder buttons">
+		<button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','tools/resync_do.php');">
+			<span>{tmpl_var name='btn_save_txt'}</span>
+		</button>
+		<button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('tools/resync.php');">
+			<span>{tmpl_var name='btn_cancel_txt'}</span>
+		</button>
+	</div>
 </div>
+</div>
+

--
Gitblit v1.9.1