Skip to content

Commit 24f9dd3

Browse files
author
Pascal Dreissen
committed
Fixes #4657, Fixes #4106, Web Traffic (sorting fix), FTP Traffic (sorting fix), Website Quota (sorting fix), Database Quota (sorting fix), Backup Status (sorting fix + searchable), aligned all lists to be more consistent.
1 parent 72b0429 commit 24f9dd3

15 files changed

+119
-279
lines changed

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

interface/web/sites/list/user_quota_stats.list.php

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

4545
// mark columns for php sorting (no real mySQL columns)
46-
$liste["phpsort"] = array('used', 'soft', 'hard', 'files');
46+
$liste["phpsort"] = array('used_sort', 'soft_sort', 'hard_sort', 'files');
4747

4848

4949
/*****************************************************

interface/web/sites/list/web_sites_stats.list.php

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

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

4848
/*****************************************************
4949
* Suchfelder

0 commit comments

Comments
 (0)