commit | author | age
|
b7d3b1
|
1 |
<?php |
FS |
2 |
require_once '../../lib/config.inc.php'; |
|
3 |
require_once '../../lib/app.inc.php'; |
|
4 |
|
|
5 |
/****************************************** |
|
6 |
* Begin Form configuration |
|
7 |
******************************************/ |
|
8 |
|
|
9 |
$list_def_file = "list/database_quota_stats.list.php"; |
|
10 |
|
|
11 |
/****************************************** |
|
12 |
* End Form configuration |
|
13 |
******************************************/ |
|
14 |
|
|
15 |
//* Check permissions for module |
a8c50c
|
16 |
$app->auth->check_module_permissions('sites'); |
b7d3b1
|
17 |
|
a8c50c
|
18 |
$app->uses('functions'); |
FS |
19 |
|
|
20 |
$app->load('listform_actions'); |
b7d3b1
|
21 |
|
d22277
|
22 |
$tmp_rec = $app->db->queryAllRecords("SELECT server_id, data from monitor_data WHERE type = 'database_size' ORDER BY created DESC"); |
b7d3b1
|
23 |
$monitor_data = array(); |
d22277
|
24 |
if(is_array($tmp_rec)) { |
MB |
25 |
for($i = 0; $i < count($tmp_rec); $i++) { |
|
26 |
$tmp_array = unserialize($tmp_rec[$i]['data']); |
|
27 |
$server_id = $tmp_rec[$i]['server_id']; |
b7d3b1
|
28 |
|
d22277
|
29 |
foreach($tmp_array as $database_name => $data) { |
MB |
30 |
$db_name = $data['database_name']; |
b7d3b1
|
31 |
|
ca4643
|
32 |
$temp = $app->db->queryOneRecord("SELECT client.username, web_database.database_quota FROM web_database, sys_group, client WHERE sys_group.groupid = web_database.sys_groupid AND sys_group.client_id = client.client_id AND web_database.database_name = ?", $db_name); |
d22277
|
33 |
if(is_array($temp) && !empty($temp)) { |
MB |
34 |
$monitor_data[$server_id.'.'.$db_name]['database_name'] = $data['database_name']; |
|
35 |
$monitor_data[$server_id.'.'.$db_name]['client'] = isset($temp['username']) ? $temp['username'] : ''; |
|
36 |
$monitor_data[$server_id.'.'.$db_name]['used'] = isset($data['size']) ? $data['size'] : 0; |
|
37 |
$monitor_data[$server_id.'.'.$db_name]['quota'] = isset($temp['database_quota']) ? $temp['database_quota'] : 0; |
|
38 |
} |
|
39 |
unset($temp); |
|
40 |
} |
|
41 |
} |
b7d3b1
|
42 |
} |
FS |
43 |
|
|
44 |
class list_action extends listform_actions { |
|
45 |
|
|
46 |
function prepareDataRow($rec) { |
|
47 |
global $app, $monitor_data; |
|
48 |
|
|
49 |
$rec = $app->listform->decode($rec); |
|
50 |
|
|
51 |
//* Alternating datarow colors |
|
52 |
$this->DataRowColor = ($this->DataRowColor == '#FFFFFF') ? '#EEEEEE' : '#FFFFFF'; |
|
53 |
$rec['bgcolor'] = $this->DataRowColor; |
|
54 |
|
|
55 |
$database_name = $rec['database_name']; |
d22277
|
56 |
|
MB |
57 |
if(!empty($monitor_data[$rec['server_id'].'.'.$database_name])){ |
|
58 |
$rec['database'] = $monitor_data[$rec['server_id'].'.'.$database_name]['database_name']; |
|
59 |
$rec['client'] = $monitor_data[$rec['server_id'].'.'.$database_name]['client']; |
7de9c4
|
60 |
$tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ?", $rec['server_id']); |
TB |
61 |
$rec['server_name'] = $tmp['server_name']; |
|
62 |
unset($tmp); |
d22277
|
63 |
$rec['used'] = $monitor_data[$rec['server_id'].'.'.$database_name]['used']; |
MB |
64 |
$rec['quota'] = $monitor_data[$rec['server_id'].'.'.$database_name]['quota']; |
b7d3b1
|
65 |
|
d22277
|
66 |
if($rec['quota'] == 0){ |
MB |
67 |
$rec['quota'] = $app->lng('unlimited'); |
|
68 |
$rec['percentage'] = ''; |
|
69 |
} else { |
|
70 |
if ($rec['used'] > 0 ) $rec['percentage'] = round(100 * intval($rec['used']) / ( intval($rec['quota'])*1024*1024) ).'%'; |
|
71 |
$rec['quota'] .= ' MB'; |
|
72 |
} |
b7d3b1
|
73 |
|
d22277
|
74 |
if ($rec['used'] > 0) $rec['used'] = $app->functions->formatBytes($rec['used']); |
b7d3b1
|
75 |
} else { |
18093f
|
76 |
$web_database = $app->db->queryOneRecord("SELECT * FROM web_database WHERE database_id = ?", $rec[$this->idx_key]); |
d22277
|
77 |
$rec['database'] = $rec['database_name']; |
MB |
78 |
$rec['server_name'] = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ?", $web_database['server_id'])['server_name']; |
18093f
|
79 |
$sys_group = $app->db->queryOneRecord("SELECT * FROM sys_group WHERE groupid = ?", $web_database['sys_groupid']); |
MB |
80 |
$client = $app->db->queryOneRecord("SELECT * FROM client WHERE client_id = ?", $sys_group['client_id']); |
d22277
|
81 |
$rec['client'] = $client['username']; |
MB |
82 |
$rec['used'] = 'n/a'; |
e96469
|
83 |
if (empty($rec['database_quota'])) $rec['database_quota'] = 0; |
FS |
84 |
$rec['quota'] = $rec['database_quota']; |
b7d3b1
|
85 |
} |
FS |
86 |
$rec['id'] = $rec[$this->idx_key]; |
|
87 |
|
d22277
|
88 |
return $rec; |
b7d3b1
|
89 |
} |
FS |
90 |
|
|
91 |
} |
|
92 |
|
|
93 |
$list = new list_action; |
|
94 |
$list->SQLExtWhere = ""; |
a8c50c
|
95 |
$list->SQLOrderBy = ""; |
b7d3b1
|
96 |
$list->onLoad(); |
FS |
97 |
|
|
98 |
?> |