Till Brehm
2016-07-24 b9a3ef486ebcde18a5ade37865ff8f397185d24f
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
e69472 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);
TB 33             $temp = $app->db->queryOneRecord("SELECT sys_groupid, database_quota FROM web_database WHERE web_database.database_name = ?", $db_name);
34             if($tmp['sys_groupid'] > 0) {
35                 $client = $app->db->queryOneRecord("SELECT client.username FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.groupid = ?", $tmp['sys_groupid']);
36                 $temp['username'] = $client['username'];
37             } else {
38                 $temp['username'] = 'admin';
39             }
40             
d22277 41             if(is_array($temp) && !empty($temp)) {
MB 42                 $monitor_data[$server_id.'.'.$db_name]['database_name'] = $data['database_name'];
43                 $monitor_data[$server_id.'.'.$db_name]['client'] = isset($temp['username']) ? $temp['username'] : '';
44                 $monitor_data[$server_id.'.'.$db_name]['used'] = isset($data['size']) ? $data['size'] : 0;
45                 $monitor_data[$server_id.'.'.$db_name]['quota'] = isset($temp['database_quota']) ? $temp['database_quota'] : 0;
46             }
47             unset($temp);
48         }
49     }
b7d3b1 50 }
FS 51
52 class list_action extends listform_actions {
53
54     function prepareDataRow($rec) {
55         global $app, $monitor_data;
56
57         $rec = $app->listform->decode($rec);
58
59         //* Alternating datarow colors
60         $this->DataRowColor = ($this->DataRowColor == '#FFFFFF') ? '#EEEEEE' : '#FFFFFF';
61         $rec['bgcolor'] = $this->DataRowColor;
62
63         $database_name = $rec['database_name'];
d22277 64         
MB 65         if(!empty($monitor_data[$rec['server_id'].'.'.$database_name])){
66             $rec['database'] = $monitor_data[$rec['server_id'].'.'.$database_name]['database_name'];
67             $rec['client'] = $monitor_data[$rec['server_id'].'.'.$database_name]['client'];
7de9c4 68             $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ?", $rec['server_id']);
TB 69             $rec['server_name'] = $tmp['server_name'];
70             unset($tmp);
d22277 71             $rec['used'] = $monitor_data[$rec['server_id'].'.'.$database_name]['used'];
MB 72             $rec['quota'] = $monitor_data[$rec['server_id'].'.'.$database_name]['quota'];
b7d3b1 73
d22277 74             if($rec['quota'] == 0){
MB 75                 $rec['quota'] = $app->lng('unlimited');
76                 $rec['percentage'] = '';
77             } else {
78                 if ($rec['used'] > 0 ) $rec['percentage'] = round(100 * intval($rec['used']) / ( intval($rec['quota'])*1024*1024) ).'%';
79                 $rec['quota'] .= ' MB';
80             }
b7d3b1 81
d22277 82             if ($rec['used'] > 0) $rec['used'] = $app->functions->formatBytes($rec['used']);
b7d3b1 83         } else {
18093f 84             $web_database = $app->db->queryOneRecord("SELECT * FROM web_database WHERE database_id = ?", $rec[$this->idx_key]);
d22277 85             $rec['database'] = $rec['database_name'];
MB 86             $rec['server_name'] = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = ?", $web_database['server_id'])['server_name'];
18093f 87             $sys_group = $app->db->queryOneRecord("SELECT * FROM sys_group WHERE groupid = ?", $web_database['sys_groupid']);
MB 88             $client = $app->db->queryOneRecord("SELECT * FROM client WHERE client_id = ?", $sys_group['client_id']);
d22277 89             $rec['client'] = $client['username'];
MB 90             $rec['used'] = 'n/a';
e96469 91             if (empty($rec['database_quota'])) $rec['database_quota'] = 0;
FS 92             $rec['quota'] = $rec['database_quota'];
b7d3b1 93         }
FS 94         $rec['id'] = $rec[$this->idx_key];
95
d22277 96         return $rec;
b7d3b1 97     }
FS 98
99 }
100
101 $list = new list_action;
102 $list->SQLExtWhere = "";
a8c50c 103 $list->SQLOrderBy = "";
b7d3b1 104 $list->onLoad();
FS 105
106 ?>