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