From 9eb7b343b2db5bb757e07c84322b2fe30bea9229 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 27 Oct 2010 16:22:49 -0400
Subject: [PATCH] Fixed: FS#1365 - hard disk quota in the frontend wrong

---
 interface/web/sites/templates/user_quota_stats_list.htm |   12 +++---
 server/mods-available/monitor_core_module.inc.php       |   32 ++++++++++++----
 interface/web/sites/user_quota_stats.php                |   26 ++++++++++++-
 3 files changed, 54 insertions(+), 16 deletions(-)

diff --git a/interface/web/sites/templates/user_quota_stats_list.htm b/interface/web/sites/templates/user_quota_stats_list.htm
index acee810..f7b7eaa 100644
--- a/interface/web/sites/templates/user_quota_stats_list.htm
+++ b/interface/web/sites/templates/user_quota_stats_list.htm
@@ -9,9 +9,9 @@
           <tr>
             <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
             <th class="tbl_col_system_user" scope="col"><tmpl_var name="system_user_txt"></th>
-			<th class="tbl_col_system_user" scope="col"><tmpl_var name="used_txt"></th>
-			<th class="tbl_col_system_user" scope="col"><tmpl_var name="soft_txt"></th>
-			<th class="tbl_col_system_user" scope="col"><tmpl_var name="hard_txt"></th>
+			<th class="tbl_col_system_user" scope="col" style="text-align:right;"><tmpl_var name="used_txt"></th>
+			<th class="tbl_col_system_user" scope="col" style="text-align:right;"><tmpl_var name="soft_txt"></th>
+			<th class="tbl_col_system_user" scope="col" style="text-align:right;"><tmpl_var name="hard_txt"></th>
             <th class="tbl_col_buttons" scope="col">&nbsp;</th>
           </tr>
           <tr>
@@ -28,9 +28,9 @@
           <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
             <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
             <td class="tbl_col_system_user"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="system_user"}</a></td>
-			<td class="tbl_col_used"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="used"}</a></td>
-			<td class="tbl_col_soft"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="soft"}</a></td>
-			<td class="tbl_col_hard"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="hard"}</a></td>
+			<td class="tbl_col_used" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="used"}</a></td>
+			<td class="tbl_col_soft" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="soft"}</a></td>
+			<td class="tbl_col_hard" style="text-align:right;"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="hard"}</a></td>
             <td class="tbl_col_buttons">
               <div class="buttons icons16">    
                 &nbsp;
diff --git a/interface/web/sites/user_quota_stats.php b/interface/web/sites/user_quota_stats.php
index f3b7f0d..0109dc9 100644
--- a/interface/web/sites/user_quota_stats.php
+++ b/interface/web/sites/user_quota_stats.php
@@ -45,12 +45,34 @@
 		$rec['soft'] = $monitor_data['user'][$username]['soft'];
 		$rec['hard'] = $monitor_data['user'][$username]['hard'];
 		
+		if($rec['used'] > 1024) {
+			$rec['used'] = round($rec['used'] / 1024,2).' MB';
+		} else {
+			$rec['used'] .= ' KB';
+		}
+		
+		if($rec['soft'] > 1024) {
+			$rec['soft'] = round($rec['soft'] / 1024,2).' MB';
+		} else {
+			$rec['soft'] .= ' KB';
+		}
+		
+		if($rec['hard'] > 1024) {
+			$rec['hard'] = round($rec['hard'] / 1024,2).' MB';
+		} else {
+			$rec['hard'] .= ' KB';
+		}
+		
+		
+		
+		/*
 		if(!strstr($rec['used'],'M') && !strstr($rec['used'],'K')) $rec['used'].= ' B';
 		if(!strstr($rec['soft'],'M') && !strstr($rec['soft'],'K')) $rec['soft'].= ' B';
 		if(!strstr($rec['hard'],'M') && !strstr($rec['hard'],'K')) $rec['hard'].= ' B';
+		*/
 		
-		if($rec['soft'] == '0 B' || $rec['soft'] == '0K' || $rec['soft'] == '0') $rec['soft'] = $app->lng('unlimited');
-		if($rec['hard'] == '0 B' || $rec['hard'] == '0K' || $rec['hard'] == '0') $rec['hard'] = $app->lng('unlimited');
+		if($rec['soft'] == '0 B' || $rec['soft'] == '0 KB' || $rec['soft'] == '0') $rec['soft'] = $app->lng('unlimited');
+		if($rec['hard'] == '0 B' || $rec['hard'] == '0 KB' || $rec['hard'] == '0') $rec['hard'] = $app->lng('unlimited');
 		
 		//* The variable "id" contains always the index variable
 		$rec['id'] = $rec[$this->idx_key];
diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index 7a3d2c7..b3c6f03 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -238,7 +238,7 @@
 		$state = 'ok';
 		
 		/** Fetch the data for all users*/
-		$dfData = shell_exec('repquota -asu');
+		$dfData = shell_exec('repquota -au');
 
 		// split into array
 		$df = explode("\n", $dfData);
@@ -253,14 +253,22 @@
 				*/
 				$s = preg_split ('/[\s]+/', $df[$i]);
 				$username = $s[0];
-				$data['user'][$username]['used'] = $s[2];
-				$data['user'][$username]['soft'] = $s[3];
-				$data['user'][$username]['hard'] = $s[4];
+				if(substr($username,0,3) == 'web') {
+				if(isset($data['user'][$username])) {
+					$data['user'][$username]['used'] += $s[2];
+					$data['user'][$username]['soft'] += $s[3];
+					$data['user'][$username]['hard'] += $s[4];
+				} else {
+					$data['user'][$username]['used'] = $s[2];
+					$data['user'][$username]['soft'] = $s[3];
+					$data['user'][$username]['hard'] = $s[4];
+				}
+				}
 			}
 		}
 		
 		/** Fetch the data for all users*/
-		$dfData = shell_exec('repquota -asg');
+		$dfData = shell_exec('repquota -ag');
 
 		// split into array
 		$df = explode("\n", $dfData);
@@ -275,9 +283,17 @@
 				*/
 				$s = preg_split ('/[\s]+/', $df[$i]);
 				$groupname = $s[0];
-				$data['group'][$groupname]['used'] = $s[1];
-				$data['group'][$groupname]['soft'] = $s[2];
-				$data['group'][$groupname]['hard'] = $s[3];
+				if(substr($groupname,0,6) == 'client') {
+				if(isset($data['group'][$groupname])) {
+					$data['group'][$groupname]['used'] += $s[1];
+					$data['group'][$groupname]['soft'] += $s[2];
+					$data['group'][$groupname]['hard'] += $s[3];
+				} else {
+					$data['group'][$groupname]['used'] = $s[1];
+					$data['group'][$groupname]['soft'] = $s[2];
+					$data['group'][$groupname]['hard'] = $s[3];
+				}
+				}
 			}
 		}
 

--
Gitblit v1.9.1