From a8c50cdf1783a4948e2008a94a2811699a39e20a Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Thu, 15 Jan 2015 10:45:02 -0500
Subject: [PATCH] fixed database_quota_stats-page and add server-name (FS #3791)

---
 interface/web/sites/lib/lang/id_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/ru_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/bg_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/it_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/sk_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/cz_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/el_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/de_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/ro_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/nl_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/fr_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/en_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/fi_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/br_database_quota_stats_list.lng |    1 +
 interface/web/sites/templates/database_quota_stats_list.htm   |    2 ++
 interface/web/sites/lib/lang/hr_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/ar_database_quota_stats_list.lng |    1 +
 interface/web/sites/database_quota_stats.php                  |   29 +++++++++++++++--------------
 interface/web/sites/lib/lang/ja_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/tr_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/es_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/hu_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/pt_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/pl_database_quota_stats_list.lng |    1 +
 interface/web/sites/lib/lang/se_database_quota_stats_list.lng |    1 +
 interface/web/sites/list/database_quota_stats.list.php        |    1 -
 26 files changed, 40 insertions(+), 15 deletions(-)

diff --git a/interface/web/sites/database_quota_stats.php b/interface/web/sites/database_quota_stats.php
index f7e5da5..7815faa 100644
--- a/interface/web/sites/database_quota_stats.php
+++ b/interface/web/sites/database_quota_stats.php
@@ -13,9 +13,11 @@
 ******************************************/
 
 //* Check permissions for module
-$app->auth->check_module_permissions('mail');
+$app->auth->check_module_permissions('sites');
 
-$app->load('listform_actions','functions');
+$app->uses('functions');
+
+$app->load('listform_actions');
 
 $tmp_rec =  $app->db->queryOneRecord("SELECT data from monitor_data WHERE type = 'database_size' ORDER BY created DESC");
 $monitor_data = array();
@@ -24,12 +26,12 @@
 foreach($tmp_array as $database_name => $data) {
 	$db_name = $data['database_name'];
 
-	$temp = $app->db->queryOneRecord("SELECT client.username, web_database.database_quota FROM web_database, sys_group, client WHERE web_database.sys_groupid = sys_group.groupid AND sys_group.client_id = client.client_id AND web_database.database_name = ?'", $db_name);
+	$temp = $app->db->queryOneRecord("SELECT client.username, web_database.database_quota FROM web_database, sys_group, client WHERE web_database.sys_groupid = sys_group.groupid AND sys_group.client_id = client.client_id AND web_database.database_name = ?", $db_name);
 
 	$monitor_data[$db_name]['database_name'] = $data['database_name'];
-	$monitor_data[$db_name]['client']=$temp['username'];
-	$monitor_data[$db_name]['used'] = $data['size'];
-	$monitor_data[$db_name]['quota']=$temp['database_quota'];
+	$monitor_data[$db_name]['client'] = isset($temp['username']) ? $temp['username'] : '';
+	$monitor_data[$db_name]['used'] = isset($data['size']) ? $data['size'] : 0;
+	$monitor_data[$db_name]['quota'] = isset($temp['database_quota']) ? $temp['database_quota'] : 0;
 
 	unset($temp);
 }
@@ -47,18 +49,17 @@
 
 		$database_name = $rec['database_name'];
 
-		$rec['database'] = isset($monitor_data[$database_name]['database_name']) ? $monitor_data[$database_name]['database_name'] : array(1 => 0);
-		$rec['client'] = isset($monitor_data[$database_name]['client']) ? $monitor_data[$database_name]['client'] : array(1 => 0);
-		$rec['used'] = isset($monitor_data[$database_name]['used']) ? $monitor_data[$database_name]['used'] : array(1 => 0);
-		$rec['quota'] = isset($monitor_data[$database_name]['quota']) ? $monitor_data[$database_name]['quota'] : array(1 => 0);
-
-		if (!is_numeric($rec['used'])) $rec['used']=$rec['used'][1];
+		$rec['database'] = $monitor_data[$database_name]['database_name'];
+		$rec['client'] = $monitor_data[$database_name]['client'];
+		$rec['server_name'] = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ?", $rec['server_id'])['server_name'];
+		$rec['used'] = $monitor_data[$database_name]['used'];
+		$rec['quota'] = $monitor_data[$database_name]['quota'];
 
 		if($rec['quota'] == 0){
 			$rec['quota'] = $app->lng('unlimited');
 			$rec['percentage'] = '';
 		} else {
-			$rec['percentage'] = round(100 * $rec['used'] / ( $rec['quota']*1024*1024) ).'%';
+			if ($rec['used'] > 0 ) $rec['percentage'] = round(100 * intval($rec['used']) / ( intval($rec['quota'])*1024*1024) ).'%';
 			$rec['quota'] .= ' MB';
 		}
 
@@ -73,7 +74,7 @@
 
 $list = new list_action;
 $list->SQLExtWhere = "";
-
+$list->SQLOrderBy = "";
 $list->onLoad();
 
 ?>
diff --git a/interface/web/sites/lib/lang/ar_database_quota_stats_list.lng b/interface/web/sites/lib/lang/ar_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/ar_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/ar_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/bg_database_quota_stats_list.lng b/interface/web/sites/lib/lang/bg_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/bg_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/bg_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/br_database_quota_stats_list.lng b/interface/web/sites/lib/lang/br_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/br_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/br_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/cz_database_quota_stats_list.lng b/interface/web/sites/lib/lang/cz_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/cz_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/cz_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/de_database_quota_stats_list.lng b/interface/web/sites/lib/lang/de_database_quota_stats_list.lng
index 5c7f6be..4d1a367 100644
--- a/interface/web/sites/lib/lang/de_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/de_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Datenbank';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Kunde';
 $wb["used_txt"] = 'Verwendeter Speicherplatz';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/el_database_quota_stats_list.lng b/interface/web/sites/lib/lang/el_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/el_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/el_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/en_database_quota_stats_list.lng b/interface/web/sites/lib/lang/en_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/en_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/en_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/es_database_quota_stats_list.lng b/interface/web/sites/lib/lang/es_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/es_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/es_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/fi_database_quota_stats_list.lng b/interface/web/sites/lib/lang/fi_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/fi_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/fi_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/fr_database_quota_stats_list.lng b/interface/web/sites/lib/lang/fr_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/fr_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/fr_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/hr_database_quota_stats_list.lng b/interface/web/sites/lib/lang/hr_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/hr_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/hr_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/hu_database_quota_stats_list.lng b/interface/web/sites/lib/lang/hu_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/hu_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/hu_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/id_database_quota_stats_list.lng b/interface/web/sites/lib/lang/id_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/id_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/id_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/it_database_quota_stats_list.lng b/interface/web/sites/lib/lang/it_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/it_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/it_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/ja_database_quota_stats_list.lng b/interface/web/sites/lib/lang/ja_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/ja_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/ja_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/nl_database_quota_stats_list.lng b/interface/web/sites/lib/lang/nl_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/nl_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/nl_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/pl_database_quota_stats_list.lng b/interface/web/sites/lib/lang/pl_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/pl_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/pl_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/pt_database_quota_stats_list.lng b/interface/web/sites/lib/lang/pt_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/pt_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/pt_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/ro_database_quota_stats_list.lng b/interface/web/sites/lib/lang/ro_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/ro_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/ro_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/ru_database_quota_stats_list.lng b/interface/web/sites/lib/lang/ru_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/ru_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/ru_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/se_database_quota_stats_list.lng b/interface/web/sites/lib/lang/se_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/se_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/se_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/sk_database_quota_stats_list.lng b/interface/web/sites/lib/lang/sk_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/sk_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/sk_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/lib/lang/tr_database_quota_stats_list.lng b/interface/web/sites/lib/lang/tr_database_quota_stats_list.lng
index 1276a25..e1de70a 100644
--- a/interface/web/sites/lib/lang/tr_database_quota_stats_list.lng
+++ b/interface/web/sites/lib/lang/tr_database_quota_stats_list.lng
@@ -1,5 +1,6 @@
 <?php
 $wb["database_txt"] = 'Database';
+$wb["server_name_txt"] = 'Server';
 $wb["client_txt"] = 'Client';
 $wb["used_txt"] = 'Used space';
 $wb["quota_txt"] = 'Quota';
diff --git a/interface/web/sites/list/database_quota_stats.list.php b/interface/web/sites/list/database_quota_stats.list.php
index 65fe6e9..00e4a19 100644
--- a/interface/web/sites/list/database_quota_stats.list.php
+++ b/interface/web/sites/list/database_quota_stats.list.php
@@ -35,7 +35,6 @@
 * Suchfelder
 *****************************************************/
 
-//$liste["item"][] = array( 'field'  => "domain",
 $liste["item"][] = array( 'field'  => "database_name",
 	'datatype' => "VARCHAR",
 	'filters'   => array( 0 => array( 'event' => 'SHOW',
diff --git a/interface/web/sites/templates/database_quota_stats_list.htm b/interface/web/sites/templates/database_quota_stats_list.htm
index 854a5a8..a41a199 100644
--- a/interface/web/sites/templates/database_quota_stats_list.htm
+++ b/interface/web/sites/templates/database_quota_stats_list.htm
@@ -9,6 +9,7 @@
 				<thead class="dark form-group-sm">
 				<tr>
 					<th data-column="database"><tmpl_var name="database_txt"></th>
+					<th data-column="server_name"><tmpl_var name="server_name_txt"></th>
 					<th data-column="client"><tmpl_var name="client_txt"></th>
 					<th data-column="used"><tmpl_var name="used_txt"></th>
 					<th data-column="quota"><tmpl_var name="quota_txt"></th>
@@ -30,6 +31,7 @@
 					<tmpl_loop name="records">
 						<tr>
 							<td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="database"}</a></td>
+							<td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="server_name"}</a></td>
 							<td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="client"}</a></td>
 							<td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="used"}</a></td>
 							<td><a href="#" data-load-content="sites/database_edit.php?id={tmpl_var name='id'}">{tmpl_var name="quota"}</a></td>

--
Gitblit v1.9.1