From 746e5bbaea6f577e1fa623ee60481e2a918a041f Mon Sep 17 00:00:00 2001
From: Florian Schaal <florian@schaal-24.de>
Date: Tue, 13 Jan 2015 10:37:12 -0500
Subject: [PATCH] add backup stats for mail

---
 interface/web/mail/templates/backup_stats_list.htm   |   48 ++++++++++++++++
 interface/web/mail/backup_stats.php                  |   38 ++++++++++++
 interface/web/mail/lib/module.conf.php               |    6 +
 interface/web/mail/list/backup_stats.list.php        |   54 ++++++++++++++++++
 interface/web/mail/lib/lang/de_backup_stats_list.lng |    9 +++
 interface/web/mail/lib/lang/en_backup_stats_list.lng |    9 +++
 6 files changed, 163 insertions(+), 1 deletions(-)

diff --git a/interface/web/mail/backup_stats.php b/interface/web/mail/backup_stats.php
new file mode 100644
index 0000000..97b8b97
--- /dev/null
+++ b/interface/web/mail/backup_stats.php
@@ -0,0 +1,38 @@
+<?php
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
+
+$list_def_file = 'list/backup_stats.list.php';
+
+/******************************************
+* End Form configuration
+******************************************/
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+$app->load('listform_actions','functions');
+
+class list_action extends listform_actions {
+
+	public function prepareDataRow($rec)
+	{
+		global $app;
+
+		$rec = parent::prepareDataRow($rec);
+
+		$rec['active'] = "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>";
+		if ($rec['backup_interval'] === 'none') {
+			$rec['active']        = "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>";
+			$rec['backup_copies'] = 0;
+		}
+		$recBackup = $app->db->queryOneRecord('SELECT COUNT(backup_id) AS backup_count FROM mail_backup WHERE mailuser_id = ?', $rec['mailuser_id']);
+		$rec['backup_copies_exists'] = $recBackup['backup_count'];
+
+		return $rec;
+	}
+}
+
+$list = new list_action;
+$list->SQLExtWhere = "";
+$list->onLoad();
diff --git a/interface/web/mail/lib/lang/de_backup_stats_list.lng b/interface/web/mail/lib/lang/de_backup_stats_list.lng
new file mode 100644
index 0000000..6ac7223
--- /dev/null
+++ b/interface/web/mail/lib/lang/de_backup_stats_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb["list_head_txt"]       = 'Backup Statistiken';
+$wb["database_name_txt"]   = '';
+$wb['active_txt']          = 'Aktiv';
+$wb['domain_txt']          = 'Email';
+$wb['backup_count_txt']    = 'Anz. Backups';
+$wb['backup_server_txt']   = 'Server';
+$wb['backup_interval_txt'] = 'Intervall / Anz.';
+?>
diff --git a/interface/web/mail/lib/lang/en_backup_stats_list.lng b/interface/web/mail/lib/lang/en_backup_stats_list.lng
new file mode 100644
index 0000000..d31f670
--- /dev/null
+++ b/interface/web/mail/lib/lang/en_backup_stats_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb["list_head_txt"]       = 'Backup Stats';
+$wb["database_name_txt"]   = '';
+$wb['active_txt']          = 'Active';
+$wb['domain_txt']          = 'Email';
+$wb['backup_count_txt']    = 'Backup count';
+$wb['backup_server_txt']   = 'Server';
+$wb['backup_interval_txt'] = 'Interval / cnt.';
+?>
diff --git a/interface/web/mail/lib/module.conf.php b/interface/web/mail/lib/module.conf.php
index 45e06f2..2ca9b7a 100644
--- a/interface/web/mail/lib/module.conf.php
+++ b/interface/web/mail/lib/module.conf.php
@@ -164,7 +164,11 @@
 	'target'  => 'content',
 	'link' => 'mail/mail_user_stats.php',
 	'html_id' => 'mail_user_stats');
-
+$items[] = array (
+    'title'   => 'Backup Stats',
+    'target'  => 'content',
+    'link'    => 'mail/backup_stats.php',
+    'html_id' => 'backup_stats');
 
 
 $module['nav'][] = array( 'title' => 'Statistics',
diff --git a/interface/web/mail/list/backup_stats.list.php b/interface/web/mail/list/backup_stats.list.php
new file mode 100644
index 0000000..22b87b3
--- /dev/null
+++ b/interface/web/mail/list/backup_stats.list.php
@@ -0,0 +1,54 @@
+<?php
+// Name of the list
+$liste["name"]     = "backup_stats";
+
+// Database table
+//$liste["table"]    = "mail_domain";
+$liste["table"]    = "mail_user";
+
+// Index index field of the database table
+//$liste["table_idx"]   = "domain_id";
+$liste["table_idx"]   = "mailuser_id";
+
+// Search Field Prefix
+$liste["search_prefix"]  = "search_";
+
+// Records per page
+$liste["records_per_page"]  = "15";
+
+// Script File of the list
+$liste["file"]    = "backup_stats.php";
+
+// Script file of the edit form
+$liste["edit_file"]   = "backup_stats_edit.php";
+
+// Paging Template
+$liste["paging_tpl"]  = "templates/paging.tpl.htm";
+
+// Enable auth
+$liste["auth"]    = "yes";
+
+// mark columns for php sorting (no real mySQL columns)
+$liste["phpsort"] = array('used_sort', 'files');
+
+
+/*****************************************************
+* Suchfelder
+*****************************************************/
+
+$liste['item'][] = array (
+   	'field'    => 'server_id',
+	'datatype' => 'INTEGER',
+	'formtype' => 'SELECT',
+	'op'       => '=',
+	'prefix'   => '',
+	'width'    => '',
+	'value'    => '',
+	'suffix'   => '',
+	'datasource' => array (
+	  	'type'        => 'SQL',
+		'querystring' => 'SELECT a.server_id, a.server_name FROM server a, mail_domain b WHERE (a.server_id = b.server_id) ORDER BY a.server_name',
+		'keyfield'    => 'server_id',
+		'valuefield'  => 'server_name'
+	)
+);
diff --git a/interface/web/mail/templates/backup_stats_list.htm b/interface/web/mail/templates/backup_stats_list.htm
new file mode 100644
index 0000000..0f03fa2
--- /dev/null
+++ b/interface/web/mail/templates/backup_stats_list.htm
@@ -0,0 +1,48 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_list_backup_stats">
+    <div class="pnl_listarea">
+        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
+            <table class="list">
+                <thead>
+					<tr class="caption">
+						<th class="tbl_col_active" scope="col">
+							<tmpl_var name="active_txt">
+						</th>
+						<th class="tbl_col_domain" scope="col">
+							<tmpl_var name="domain_txt">
+						</th>
+						<th class="tbl_col_server" scope="col">
+							<tmpl_var name="backup_server_txt">
+						</th>
+						<th class="tbl_col_interval" scope="col">
+							<tmpl_var name="backup_interval_txt">
+						</th>
+						<th class="tbl_col_backup_count" scope="col">
+							<tmpl_var name="backup_count_txt">
+						</th>
+					</tr>
+                </thead>
+				<tbody>
+					<tmpl_loop name="records">
+					<tr class="tbl_row_{tmpl_if name='__EVEN__'}even{tmpl_else}uneven{/tmpl_if}">
+						<td class="tbl_col_active"> <a href="#" onclick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a> </td>
+						<td class="tbl_col_domain"> <a href="#" onclick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="email"}</a> </td>
+						<td class="tbl_col_server"> <a href="#" onclick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a> </td>
+						<td class="tbl_col_interval"> <a href="#" onclick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="backup_interval"}</a> /  <a href="#" onclick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="backup_copies"}</a> </td>
+						<td class="tbl_col_backup_count"> <a href="#" onclick="loadContent('mail/mail_user_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="backup_copies_exists"}</a> </td>
+					</tr>
+					</tmpl_loop>
+				</tbody>
+				<tfoot>
+					<tr>
+						<td class="tbl_footer tbl_paging" colspan="5">
+							<tmpl_var name="paging">
+						</td>
+					</tr>
+				</tfoot>
+            </table>
+        </fieldset>
+    </div>
+</div>

--
Gitblit v1.9.1