Skip to content

Commit 3358a5a

Browse files
author
Till Brehm
committed
Merge branch 'master' into 'master'
Several lists fixed for sorting and more consistent aligning and consistent output bytes format. Fixes #4106 and #4657 Closes #4106 and #4657 See merge request ispconfig/ispconfig3!741
2 parents 6829a97 + 2add46b commit 3358a5a

19 files changed

+162
-292
lines changed

interface/lib/classes/functions.inc.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,14 @@ public function intval($string, $force_numeric = false) {
281281
* @return string - formated bytes
282282
*/
283283
public function formatBytes($size, $precision = 2) {
284-
$base=log($size)/log(1024);
285284
$suffixes=array('', ' kB', ' MB', ' GB', ' TB');
286-
return round(pow(1024, $base-floor($base)), $precision).$suffixes[floor($base)];
285+
if($size != 0 || is_nan($size)) {
286+
$base=log($size)/log(1024);
287+
$tmpoutput = round(pow(1024, $base-floor($base)), $precision).$suffixes[floor($base)];
288+
} else {
289+
$tmpoutput = "0 " . $suffixes[1];
290+
}
291+
return $tmpoutput;
287292
}
288293

289294
/** IDN converter wrapper.

interface/web/mail/backup_stats.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,19 @@ public function prepareDataRow($rec)
2121
$app->uses('functions');
2222

2323
$rec = parent::prepareDataRow($rec);
24-
25-
$rec['active'] = "Yes";
26-
if ($rec['backup_interval'] === 'none') {
27-
$rec['active'] = "No";
24+
//var_dump($rec);
25+
$rec['active'] = $app->lng('yes_txt');
26+
if ($rec['backup_interval'] === 'none' || $rec['backup_interval'] === '') {
27+
$rec['backup_interval'] = strtolower($app->lng('None'));
28+
$rec['active'] = $app->lng('no_txt');
2829
$rec['backup_copies'] = 0;
2930
}
31+
$rec['interval_sort'] = $rec['type'] . $rec['backup_interval'];
3032
$recBackup = $app->db->queryOneRecord('SELECT COUNT(backup_id) AS backup_count FROM mail_backup WHERE mailuser_id = ?', $rec['mailuser_id']);
3133
$rec['backup_copies_exists'] = $recBackup['backup_count'];
3234
unset($recBackup);
3335
$recBackup = $app->db->queryOneRecord('SELECT SUM(filesize) AS backup_size FROM mail_backup WHERE mailuser_id = ?', $rec['mailuser_id']);
36+
$rec['backup_size_sort'] = $recBackup['backup_size'];
3437
$rec['backup_size'] = $app->functions->formatBytes($recBackup['backup_size']);
3538

3639
return $rec;

interface/web/mail/list/backup_stats.list.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
$liste["auth"] = "yes";
3030

3131
// mark columns for php sorting (no real mySQL columns)
32-
$liste["phpsort"] = array('used_sort', 'files');
32+
$liste["phpsort"] = array('active', 'interval_sort', 'backup_size_sort', 'backup_copies_exists');
3333

3434

3535
/*****************************************************
@@ -52,3 +52,14 @@
5252
'valuefield' => 'server_name'
5353
)
5454
);
55+
$liste["item"][] = array( 'field' => "email",
56+
'datatype' => "VARCHAR",
57+
'filters' => array( 0 => array( 'event' => 'SHOW',
58+
'type' => 'IDNTOUTF8')
59+
),
60+
'formtype' => "TEXT",
61+
'op' => "like",
62+
'prefix' => "%",
63+
'suffix' => "%",
64+
'width' => "",
65+
'value' => "");

interface/web/mail/templates/backup_stats_list.htm

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,24 @@ <h1><tmpl_var name="list_head_txt"></h1>
99
<table class="table">
1010
<thead class="dark form-group-sm">
1111
<tr>
12-
<th class="tiny-col" data-column="active"><tmpl_var name="active_txt"></th>
13-
<th data-column="domain"><tmpl_var name="domain_txt"></th>
14-
<th data-column="backup_server"><tmpl_var name="backup_server_txt"></th>
15-
<th data-column="backup_interval"><tmpl_var name="backup_interval_txt"></th>
16-
<th data-column="backup_count"><tmpl_var name="backup_count_txt"></th>
17-
<th data-column="backup_size"><tmpl_var name="backup_size_txt"></th>
12+
<th class="col-md-1" data-column="active"><tmpl_var name="active_txt"></th>
13+
<th class="col-md-3" data-column="email"><tmpl_var name="domain_txt"></th>
14+
<th class="col-md-3" data-column="server_id"><tmpl_var name="backup_server_txt"></th>
15+
<th class="col-md-2" data-column="interval_sort"><tmpl_var name="backup_interval_txt"></th>
16+
<th class="col-md-2" data-column="backup_copies_exists"><tmpl_var name="backup_count_txt"></th>
17+
<th class="col-md-2" data-column="backup_size_sort"><tmpl_var name="backup_size_txt"></th>
1818
</tr>
19+
<tr>
20+
<td class="active">&nbsp;</td>
21+
<td><input class="form-control" type="text" name="search_email" value="{tmpl_var name='search_email'}" /></td>
22+
<td class="backup_server">&nbsp;</td>
23+
<td class="backup_interval">&nbsp;</td>
24+
<td class="backup_count">&nbsp;</td>
25+
<td class="text-right">
26+
<button type="button" class="btn btn-default formbutton-default formbutton-narrow" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" data-submit-form="pageForm" data-form-action="mail/backup_stats.php"><span class="icon icon-filter"></span></button>
27+
</td>
28+
</tr>
29+
1930
</thead>
2031
<tbody>
2132
<tmpl_loop name="records">

interface/web/sites/backup_stats.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,18 @@ public function prepareDataRow($rec)
2222

2323
$rec = parent::prepareDataRow($rec);
2424

25-
$rec['active'] = "Yes";
26-
if ($rec['backup_interval'] === 'none') {
27-
$rec['active'] = "No";
25+
$rec['active'] = $app->lng('yes_txt');
26+
if ($rec['backup_interval'] === 'none' || $rec['backup_interval'] === '') {
27+
$rec['active'] = $app->lng('no_txt');
2828
$rec['backup_copies'] = 0;
29+
$rec['backup_interval'] = 'none';
2930
}
30-
31+
$rec['interval_sort'] = $rec['type'] . $rec['backup_interval'];
3132
$recBackup = $app->db->queryOneRecord('SELECT COUNT(backup_id) AS backup_count FROM web_backup WHERE parent_domain_id = ?', $rec['domain_id']);
3233
$rec['backup_copies_exists'] = $recBackup['backup_count'];
3334
unset($recBackup);
3435
$recBackup = $app->db->queryOneRecord('SELECT SUM(filesize) AS backup_size FROM web_backup WHERE parent_domain_id = ?', $rec['domain_id']);
36+
$rec['backup_size_sort'] = $recBackup['backup_size'];
3537
$rec['backup_size'] = $app->functions->formatBytes($recBackup['backup_size']);
3638

3739
return $rec;

interface/web/sites/database_quota_stats.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,21 @@ function prepareDataRow($rec) {
6969
$rec['server_name'] = $tmp['server_name'];
7070
unset($tmp);
7171
$rec['used'] = $monitor_data[$rec['server_id'].'.'.$database_name]['used'];
72+
$rec['used_sort'] = $rec['used'];
7273
$rec['quota'] = $monitor_data[$rec['server_id'].'.'.$database_name]['quota'];
74+
$rec['quota_sort'] = $rec['quota'];
75+
$rec['percentage_sort'] = 0;
7376

7477
if($rec['quota'] == 0){
7578
$rec['quota'] = $app->lng('unlimited');
76-
$rec['percentage'] = '';
79+
$rec['percentage'] = 'n/a';
7780
} else {
78-
if ($rec['used'] > 0 ) $rec['percentage'] = round(100 * intval($rec['used']) / ( intval($rec['quota'])*1024*1024) ).'%';
79-
$rec['quota'] .= ' MB';
81+
if ($rec['used'] > 0 ) {
82+
$rec['percentage'] = round(100 * intval($rec['used']) / ( intval($rec['quota'])*1024*1024) );
83+
$rec['percentage_sort'] = $rec['percentage'];
84+
$rec['percentage'] = $rec['percentage'].'%';
85+
}
86+
$rec['quota'] = $app->functions->formatBytes($rec['quota']*1024*1024);
8087
}
8188

8289
if ($rec['used'] > 0) $rec['used'] = $app->functions->formatBytes($rec['used']);
@@ -92,7 +99,7 @@ function prepareDataRow($rec) {
9299
$rec['quota'] = $rec['database_quota'];
93100
}
94101
$rec['id'] = $rec[$this->idx_key];
95-
102+
if ($rec['used'] == 0) $rec['used'] = $app->functions->formatBytes($rec['used']);
96103
return $rec;
97104
}
98105

interface/web/sites/ftp_sites_stats.php

Lines changed: 9 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,14 @@ function prepareDataRow($rec)
4141
$tmp_year = date('Y');
4242
$tmp_month = date('m');
4343
$tmp_rec = $app->db->queryOneRecord("SELECT SUM(in_bytes) AS ftp_in, SUM(out_bytes) AS ftp_out FROM ftp_traffic WHERE hostname = ? AND YEAR(traffic_date) = ? AND MONTH(traffic_date) = ?", $rec['domain'], $tmp_year, $tmp_month);
44+
$rec['this_month_sort'] = $tmp_rec['ftp_in']+$tmp_rec['ftp_out'];
4445
$rec['this_month_in'] = $app->functions->formatBytes($tmp_rec['ftp_in']);
4546
$rec['this_month_out'] = $app->functions->formatBytes($tmp_rec['ftp_out']);
4647
$this->sum_this_month += $tmp_rec['ftp_in']+$tmp_rec['ftp_out'];
4748

4849
//** Traffic of the current year
4950
$tmp_rec = $app->db->queryOneRecord("SELECT SUM(in_bytes) AS ftp_in, SUM(out_bytes) AS ftp_out FROM ftp_traffic WHERE hostname = ? AND YEAR(traffic_date) = ?", $rec['domain'], $tmp_year);
51+
$rec['this_year_sort'] = $tmp_rec['ftp_in']+$tmp_rec['ftp_out'];
5052
$rec['this_year_in'] = $app->functions->formatBytes($tmp_rec['ftp_in']);
5153
$rec['this_year_out'] = $app->functions->formatBytes($tmp_rec['ftp_out']);
5254
$this->sum_this_year += $tmp_rec['ftp_in']+$tmp_rec['ftp_out'];
@@ -55,13 +57,15 @@ function prepareDataRow($rec)
5557
$tmp_year = date('Y', mktime(0, 0, 0, date("m")-1, date("d"), date("Y")));
5658
$tmp_month = date('m', mktime(0, 0, 0, date("m")-1, date("d"), date("Y")));
5759
$tmp_rec = $app->db->queryOneRecord("SELECT SUM(in_bytes) AS ftp_in, SUM(out_bytes) AS ftp_out FROM ftp_traffic WHERE hostname = ? AND YEAR(traffic_date) = ? AND MONTH(traffic_date) = ?", $rec['domain'], $tmp_year, $tmp_month);
60+
$rec['last_month_sort'] = $tmp_rec['ftp_in']+$tmp_rec['ftp_out'];
5861
$rec['last_month_in'] = $app->functions->formatBytes($tmp_rec['ftp_in']);
5962
$rec['last_month_out'] = $app->functions->formatBytes($tmp_rec['ftp_out']);
6063
$this->sum_last_month += $tmp_rec['ftp_in']+$tmp_rec['ftp_out'];
6164

6265
//** Traffic of the last year
6366
$tmp_year = date('Y', mktime(0, 0, 0, date("m"), date("d"), date("Y")-1));
6467
$tmp_rec = $app->db->queryOneRecord("SELECT SUM(in_bytes) AS ftp_in, SUM(out_bytes) AS ftp_out FROM ftp_traffic WHERE hostname = ? AND YEAR(traffic_date) = ?", $rec['domain'], $tmp_year);
68+
$rec['last_year_sort'] = $tmp_rec['ftp_in']+$tmp_rec['ftp_out'];
6569
$rec['last_year_in'] = $app->functions->formatBytes($tmp_rec['ftp_in']);
6670
$rec['last_year_out'] = $app->functions->formatBytes($tmp_rec['ftp_out']);
6771
$this->sum_last_year += $tmp_rec['ftp_in']+$tmp_rec['ftp_out'];
@@ -77,105 +81,24 @@ function onShowEnd()
7781
global $app;
7882

7983
$app->tpl->setVar('sum_this_month', $app->functions->formatBytes($this->sum_this_month));
84+
if ($app->tpl->getVar('sum_this_month') == 'NAN') $app->tpl->setVar('sum_this_month','0 KB');
8085
$app->tpl->setVar('sum_this_year', $app->functions->formatBytes($this->sum_this_year));
86+
if ($app->tpl->getVar('sum_this_year') == 'NAN') $app->tpl->setVar('sum_this_year','0 KB');
8187
$app->tpl->setVar('sum_last_month', $app->functions->formatBytes($this->sum_last_month));
88+
if ($app->tpl->getVar('sum_last_month') == 'NAN') $app->tpl->setVar('sum_last_month','0 KB');
8289
$app->tpl->setVar('sum_last_year', $app->functions->formatBytes($this->sum_last_year));
90+
if ($app->tpl->getVar('sum_last_year') == 'NAN') $app->tpl->setVar('sum_last_year','0 KB');
8391
$app->tpl->setVar('sum_txt', $app->listform->lng('sum_txt'));
8492

8593
$app->tpl_defaults();
8694
$app->tpl->pparse();
8795
}
8896

89-
function getQueryString($no_limit = false) {
90-
global $app;
91-
$sql_where = '';
92-
93-
//* Generate the search sql
94-
if($app->listform->listDef['auth'] != 'no') {
95-
if($_SESSION['s']['user']['typ'] == "admin") {
96-
$sql_where = '';
97-
} else {
98-
$sql_where = $app->tform->getAuthSQL('r', $app->listform->listDef['table']).' and';
99-
//$sql_where = $app->tform->getAuthSQL('r').' and';
100-
}
101-
}
102-
if($this->SQLExtWhere != '') {
103-
$sql_where .= ' '.$this->SQLExtWhere.' and';
104-
}
105-
106-
$sql_where = $app->listform->getSearchSQL($sql_where);
107-
if($app->listform->listDef['join_sql']) $sql_where .= ' AND '.$app->listform->listDef['join_sql'];
108-
$app->tpl->setVar($app->listform->searchValues);
109-
110-
$order_by_sql = $this->SQLOrderBy;
111-
112-
//* Generate SQL for paging
113-
$limit_sql = $app->listform->getPagingSQL($sql_where);
114-
$app->tpl->setVar('paging', $app->listform->pagingHTML);
115-
116-
$extselect = '';
117-
$join = '';
118-
119-
if(!empty($_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'])){
120-
$order = str_replace(' DESC', '', $_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order']);
121-
list($tmp_table, $order) = explode('.', $order);
122-
if($order == 'ftp_traffic_last_month'){
123-
$tmp_year = date('Y', mktime(0, 0, 0, date("m")-1, date("d"), date("Y")));
124-
$tmp_month = date('m', mktime(0, 0, 0, date("m")-1, date("d"), date("Y")));
125-
$extselect .= ', SUM(ft.in_bytes+out_bytes) as calctraffic';
126-
$join .= ' INNER JOIN ftp_traffic as ft ON '.$app->listform->listDef['table'].'.domain = ft.hostname ';
127-
$sql_where .= " AND YEAR(ft.traffic_date) = '$tmp_year' AND MONTH(ft.traffic_date) = '$tmp_month'";
128-
$order_by_sql = str_replace($app->listform->listDef['table'].'.ftp_traffic_last_month', 'calctraffic', $order_by_sql);
129-
$order_by_sql = "GROUP BY domain ".$order_by_sql;
130-
} elseif($order == 'ftp_traffic_this_month'){
131-
$tmp_year = date('Y');
132-
$tmp_month = date('m');
133-
$extselect .= ', SUM(ft.in_bytes+out_bytes) as calctraffic';
134-
$join .= ' INNER JOIN ftp_traffic as ft ON '.$app->listform->listDef['table'].'.domain = ft.hostname ';
135-
$sql_where .= " AND YEAR(ft.traffic_date) = '$tmp_year' AND MONTH(ft.traffic_date) = '$tmp_month'";
136-
$order_by_sql = str_replace($app->listform->listDef['table'].'.ftp_traffic_this_month', 'calctraffic', $order_by_sql);
137-
$order_by_sql = "GROUP BY domain ".$order_by_sql;
138-
} elseif($order == 'ftp_traffic_last_year'){
139-
$tmp_year = date('Y', mktime(0, 0, 0, date("m")-1, date("d"), date("Y")));
140-
$extselect .= ', SUM(ft.in_bytes+out_bytes) as calctraffic';
141-
$join .= ' INNER JOIN ftp_traffic as ft ON '.$app->listform->listDef['table'].'.domain = ft.hostname ';
142-
$sql_where .= " AND YEAR(ft.traffic_date) = '$tmp_year'";
143-
$order_by_sql = str_replace($app->listform->listDef['table'].'.ftp_traffic_last_year', 'calctraffic', $order_by_sql);
144-
$order_by_sql = "GROUP BY domain ".$order_by_sql;
145-
} elseif($order == 'ftp_traffic_this_year'){
146-
$tmp_year = date('Y');
147-
$extselect .= ', SUM(ft.in_bytes+out_bytes) as calctraffic';
148-
$join .= ' INNER JOIN ftp_traffic as ft ON '.$app->listform->listDef['table'].'.domain = ft.hostname ';
149-
$sql_where .= " AND YEAR(ft.traffic_date) = '$tmp_year'";
150-
$order_by_sql = str_replace($app->listform->listDef['table'].'.ftp_traffic_this_year', 'calctraffic', $order_by_sql);
151-
$order_by_sql = "GROUP BY domain ".$order_by_sql;
152-
}
153-
}
154-
155-
if($this->SQLExtSelect != '') {
156-
if(substr($this->SQLExtSelect, 0, 1) != ',') $this->SQLExtSelect = ','.$this->SQLExtSelect;
157-
$extselect .= $this->SQLExtSelect;
158-
}
159-
160-
$table_selects = array();
161-
$table_selects[] = trim($app->listform->listDef['table']).'.*';
162-
$app->listform->listDef['additional_tables'] = trim($app->listform->listDef['additional_tables']);
163-
if($app->listform->listDef['additional_tables'] != ''){
164-
$additional_tables = explode(',', $app->listform->listDef['additional_tables']);
165-
foreach($additional_tables as $additional_table){
166-
$table_selects[] = trim($additional_table).'.*';
167-
}
168-
}
169-
$select = implode(', ', $table_selects);
170-
171-
$sql = 'SELECT '.$select.$extselect.' FROM '.$app->listform->listDef['table'].($app->listform->listDef['additional_tables'] != ''? ','.$app->listform->listDef['additional_tables'] : '')."$join WHERE $sql_where $order_by_sql $limit_sql";
172-
return $sql;
173-
}
17497
}
17598

17699
$list = new list_action;
177100
$list->SQLExtWhere = "(web_domain.type = 'vhost' or web_domain.type = 'vhostsubdomain')";
178101
$list->SQLOrderBy = 'ORDER BY web_domain.domain';
179102
$list->onLoad();
180103

181-
?>
104+
?>

interface/web/sites/list/backup_stats.list.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,23 @@
2727
$liste["auth"] = "yes";
2828

2929
// mark columns for php sorting (no real mySQL columns)
30-
$liste["phpsort"] = array('used_sort', 'files');
30+
$liste["phpsort"] = array('active', 'domain', 'server_id', 'interval_sort', 'backup_copies_exists', 'backup_size_sort');
3131

3232

3333
/*****************************************************
3434
* Suchfelder
3535
*****************************************************/
36+
$liste["item"][] = array( 'field' => "domain",
37+
'datatype' => "VARCHAR",
38+
'filters' => array( 0 => array( 'event' => 'SHOW',
39+
'type' => 'IDNTOUTF8')
40+
),
41+
'formtype' => "TEXT",
42+
'op' => "like",
43+
'prefix' => "%",
44+
'suffix' => "%",
45+
'width' => "",
46+
'value' => "");
3647

3748
$liste['item'][] = array (
3849
'field' => 'server_id',

interface/web/sites/list/database_quota_stats.list.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
$liste["auth"] = "yes";
2929

3030
// mark columns for php sorting (no real mySQL columns)
31-
$liste["phpsort"] = array('server_name', 'client', 'used', 'quota', 'percentage');
31+
$liste["phpsort"] = array('server_name', 'client', 'used_sort', 'quota_sort', 'percentage_sort');
3232

3333

3434
/*****************************************************

interface/web/sites/list/ftp_sites_stats.list.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
$liste["auth"] = "yes";
4242

4343
// mark columns for php sorting (no real mySQL columns)
44-
$liste["phpsort"] = array('this_month', 'last_month', 'this_year', 'last_year');
44+
$liste["phpsort"] = array('this_month_sort', 'last_month_sort', 'this_year_sort', 'last_year_sort');
4545

4646
/*****************************************************
4747
* Suchfelder

0 commit comments

Comments
 (0)