From 6ac26d698ea6de3beb652861c7d243af168062b7 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 22 Aug 2012 05:48:19 -0400
Subject: [PATCH] Implemented: FS#2059 - Extend Traffic quota system

---
 interface/web/sites/templates/web_sites_stats_list.htm   |   11 +++++++++++
 interface/web/sites/lib/lang/en_web_sites_stats_list.lng |    1 +
 interface/lib/classes/listform_actions.inc.php           |    2 +-
 interface/web/sites/web_sites_stats.php                  |   24 ++++++++++++++++++++++++
 4 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/interface/lib/classes/listform_actions.inc.php b/interface/lib/classes/listform_actions.inc.php
index 8b99abd..c895658 100644
--- a/interface/lib/classes/listform_actions.inc.php
+++ b/interface/lib/classes/listform_actions.inc.php
@@ -282,7 +282,7 @@
 		$this->onShowEnd();
 	}
 	
-	private function onShowEnd()
+	public function onShowEnd()
     {
 		global $app;
 		$app->tpl_defaults();
diff --git a/interface/web/sites/lib/lang/en_web_sites_stats_list.lng b/interface/web/sites/lib/lang/en_web_sites_stats_list.lng
index 20f018b..5afde57 100644
--- a/interface/web/sites/lib/lang/en_web_sites_stats_list.lng
+++ b/interface/web/sites/lib/lang/en_web_sites_stats_list.lng
@@ -5,4 +5,5 @@
 $wb["last_month_txt"] = 'Last month';
 $wb["this_year_txt"] = 'This year';
 $wb["last_year_txt"] = 'Last year';
+$wb["sum_txt"] = 'Sum';
 ?>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_sites_stats_list.htm b/interface/web/sites/templates/web_sites_stats_list.htm
index a0814ad..d51e0e2 100644
--- a/interface/web/sites/templates/web_sites_stats_list.htm
+++ b/interface/web/sites/templates/web_sites_stats_list.htm
@@ -38,6 +38,17 @@
                         </td>
                     </tr>
                 </tmpl_loop>
+				<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'}');" style="font-weight:bold;">{tmpl_var name="sum_txt"}</a></td>
+                        <td class="tbl_col_this_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_this_month"} MB</a></td>
+                        <td class="tbl_col_last_month"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_last_month"} MB</a></td>
+                        <td class="tbl_col_this_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_this_year"} MB</a></td>
+                        <td class="tbl_col_last_year"><a href="#" onClick="loadContent('sites/web_domain_edit.php?id={tmpl_var name='id'}');" style="font-weight:bold;">{tmpl_var name="sum_last_year"} MB</a></td>
+                        <td class="tbl_col_buttons">
+                            <div class="buttons icons16">    
+                            </div>
+                        </td>
+                    </tr>
                 </tbody>
                 <tfoot>
                     <tr>
diff --git a/interface/web/sites/web_sites_stats.php b/interface/web/sites/web_sites_stats.php
index e9a6c8d..98c4865 100644
--- a/interface/web/sites/web_sites_stats.php
+++ b/interface/web/sites/web_sites_stats.php
@@ -19,6 +19,11 @@
 
 class list_action extends listform_actions {
 	
+	private $sum_this_month = 0;
+	private $sum_this_year = 0;
+	private $sum_last_month = 0;
+	private $sum_last_year = 0;
+	
 	function prepareDataRow($rec)
     {
 		global $app;
@@ -35,26 +40,45 @@
         $tmp_month = date('m');
 		$tmp_rec = $app->db->queryOneRecord("SELECT SUM(traffic_bytes) as t FROM web_traffic WHERE hostname = '".$rec['domain']."' AND YEAR(traffic_date) = '$tmp_year' AND MONTH(traffic_date) = '$tmp_month'");
 		$rec['this_month'] = number_format($tmp_rec['t']/1024/1024, 0, '.', ' ');
+		$this->sum_this_month += ($tmp_rec['t']/1024/1024);
 		
 		//** Traffic of the current year
 		$tmp_rec = $app->db->queryOneRecord("SELECT sum(traffic_bytes) as t FROM web_traffic WHERE hostname = '".$rec['domain']."' AND YEAR(traffic_date) = '$tmp_year'");
 		$rec['this_year'] = number_format($tmp_rec['t']/1024/1024, 0, '.', ' ');
+		$this->sum_this_year += ($tmp_rec['t']/1024/1024);
 		
 		//** Traffic of the last month
         $tmp_year = date('Y',mktime(0, 0, 0, date("m")-1, date("d"), date("Y")));
         $tmp_month = date('m',mktime(0, 0, 0, date("m")-1, date("d"), date("Y")));
 		$tmp_rec = $app->db->queryOneRecord("SELECT sum(traffic_bytes) as t FROM web_traffic WHERE hostname = '".$rec['domain']."' AND YEAR(traffic_date) = '$tmp_year' AND MONTH(traffic_date) = '$tmp_month'");
 		$rec['last_month'] = number_format($tmp_rec['t']/1024/1024, 0, '.', ' ');
+		$this->sum_last_month += ($tmp_rec['t']/1024/1024);
 		
 		//** Traffic of the last year
 		$tmp_year = date('Y',mktime(0, 0, 0, date("m"), date("d"), date("Y")-1));
 		$tmp_rec = $app->db->queryOneRecord("SELECT sum(traffic_bytes) as t FROM web_traffic WHERE hostname = '".$rec['domain']."' AND YEAR(traffic_date) = '$tmp_year'");
 		$rec['last_year'] = number_format($tmp_rec['t']/1024/1024, 0, '.', ' ');
+		$this->sum_last_year += ($tmp_rec['t']/1024/1024);
 		
 		//* The variable "id" contains always the index variable
 		$rec['id'] = $rec[$this->idx_key];
+		
 		return $rec;
 	}
+	
+	function onShowEnd()
+    {
+		global $app;
+		
+		$app->tpl->setVar('sum_this_month',number_format(intval($this->sum_this_month), 0, '.', ' '));
+		$app->tpl->setVar('sum_this_year',number_format(intval($this->sum_this_year), 0, '.', ' '));
+		$app->tpl->setVar('sum_last_month',number_format(intval($this->sum_last_month), 0, '.', ' '));
+		$app->tpl->setVar('sum_last_year',number_format(intval($this->sum_last_year), 0, '.', ' '));
+		$app->tpl->setVar('sum_txt',$app->listform->lng('sum_txt'));
+		
+		$app->tpl_defaults();
+		$app->tpl->pparse();
+	}
 }
 
 $list = new list_action;

--
Gitblit v1.9.1