|
46 | 46 | $authsql = " AND ".$app->tform->getAuthSQL('r'); |
47 | 47 | $modules = explode(',', $_SESSION['s']['user']['modules']); |
48 | 48 |
|
| 49 | + $result = array(); |
| 50 | + |
49 | 51 | // clients |
50 | | - $result_clients = _search('client', 'client'); |
| 52 | + $result[] = _search('client', 'client', "AND limit_client = 0"); |
| 53 | + |
| 54 | + // resellers |
| 55 | + $result[] = _search('client', 'reseller', "AND limit_client != 0"); |
51 | 56 |
|
52 | 57 | // web sites |
53 | | - $result_webs = _search('sites', 'web_domain'); |
| 58 | + $result[] = _search('sites', 'web_domain'); |
54 | 59 |
|
55 | 60 | // FTP users |
56 | | - $result_ftp_users = _search('sites', 'ftp_user'); |
| 61 | + $result[] = _search('sites', 'ftp_user'); |
57 | 62 |
|
58 | 63 | // shell users |
59 | | - $result_shell_users = _search('sites', 'shell_user'); |
| 64 | + $result[] = _search('sites', 'shell_user'); |
60 | 65 |
|
61 | 66 | // databases |
62 | 67 | /* |
|
81 | 86 | } |
82 | 87 | } |
83 | 88 | */ |
84 | | - $result_databases = _search('sites', 'database'); |
| 89 | + $result[] = _search('sites', 'database'); |
85 | 90 |
|
86 | 91 | // email domains |
87 | | - $result_email_domains = _search('mail', 'mail_domain'); |
| 92 | + $result[] = _search('mail', 'mail_domain'); |
| 93 | + |
| 94 | + // email alias domains |
| 95 | + $result[] = _search('mail', 'mail_aliasdomain', "AND type = 'aliasdomain'"); |
88 | 96 |
|
89 | 97 | // email mailboxes |
90 | | - $result_email_mailboxes = _search('mail', 'mail_user'); |
| 98 | + $result[] = _search('mail', 'mail_user'); |
| 99 | + |
| 100 | + // email aliases |
| 101 | + $result[] = _search('mail', 'mail_alias', "AND type = 'alias'"); |
| 102 | + |
| 103 | + // email forwards |
| 104 | + $result[] = _search('mail', 'mail_forward', "AND type = 'forward'"); |
| 105 | + |
| 106 | + // email catchalls |
| 107 | + $result[] = _search('mail', 'mail_domain_catchall', "AND type = 'catchall'"); |
| 108 | + |
| 109 | + // email transports |
| 110 | + $result[] = _search('mail', 'mail_transport'); |
| 111 | + |
| 112 | + // mailinglists |
| 113 | + $result[] = _search('mail', 'mail_mailinglist'); |
| 114 | + |
| 115 | + // getmails |
| 116 | + $result[] = _search('mail', 'mail_get'); |
91 | 117 |
|
92 | 118 | // dns zones |
93 | | - $result_dns_zones = _search('dns', 'dns_soa'); |
| 119 | + $result[] = _search('dns', 'dns_soa'); |
94 | 120 |
|
95 | 121 | // secondary dns zones |
96 | | - $result_secondary_dns_zones = _search('dns', 'dns_slave'); |
| 122 | + $result[] = _search('dns', 'dns_slave'); |
97 | 123 |
|
98 | 124 | // virtual machines |
99 | | - $result_vms = _search('vm', 'openvz_vm'); |
| 125 | + $result[] = _search('vm', 'openvz_vm'); |
100 | 126 |
|
101 | 127 | // virtual machines os templates |
102 | | - $result_vm_ostemplates = _search('vm', 'openvz_ostemplate'); |
| 128 | + $result[] = _search('vm', 'openvz_ostemplate'); |
103 | 129 |
|
104 | 130 | // virtual machines vm templates |
105 | | - $result_vm_vmtemplates = _search('vm', 'openvz_template'); |
| 131 | + $result[] = _search('vm', 'openvz_template'); |
106 | 132 |
|
107 | 133 | // virtual machines ip addresses |
108 | | - $result_vm_ip_addresses = _search('vm', 'openvz_ip'); |
| 134 | + $result[] = _search('vm', 'openvz_ip'); |
109 | 135 |
|
110 | | - $json = $app->functions->json_encode(array($result_clients, $result_webs, $result_ftp_users, $result_shell_users, $result_databases, $result_email_domains, $result_email_mailboxes, $result_dns_zones, $result_secondary_dns_zones, $result_vms, $result_vm_ostemplates, $result_vm_vmtemplates, $result_vm_ip_addresses)); |
| 136 | + $json = $app->functions->json_encode($result); |
111 | 137 | } |
112 | 138 |
|
113 | 139 | //} |
114 | 140 |
|
115 | | -function _search($module, $section){ |
| 141 | +function _search($module, $section, $additional_sql = ''){ |
116 | 142 | global $app, $q, $authsql, $modules; |
117 | | - //$q = $app->db->quote($_GET["q"]); |
118 | | - //$authsql = " AND ".$app->tform->getAuthSQL('r'); |
119 | | - //$user_modules = explode(',', $_SESSION['s']['user']['modules']); |
120 | 143 |
|
121 | 144 | $result_array = array('cheader' => array(), 'cdata' => array()); |
122 | 145 | if(in_array($module, $modules)){ |
@@ -159,10 +182,13 @@ function _search($module, $section){ |
159 | 182 | // valid SQL query which returns an empty result set |
160 | 183 | $where_clause = '1 = 0'; |
161 | 184 | } |
| 185 | + if($where_clause != '') $where_clause = '('.$where_clause.')'; |
| 186 | + if($additional_sql != '') $where_clause .= ' '.$additional_sql.' '; |
162 | 187 | $order_clause = ''; |
163 | 188 | if($order_by != '') $order_clause = ' ORDER BY '.$order_by; |
164 | 189 |
|
165 | | - $results = $app->db->queryAllRecords("SELECT * FROM ".$db_table." WHERE ".$where_clause.$authsql.$order_clause); |
| 190 | + $sql = "SELECT * FROM ".$db_table." WHERE ".$where_clause.$authsql.$order_clause." LIMIT 0,10"; |
| 191 | + $results = $app->db->queryAllRecords($sql); |
166 | 192 |
|
167 | 193 | if(is_array($results) && !empty($results)){ |
168 | 194 | $lng_file = '../'.$module.'/lib/lang/'.$_SESSION['s']['language'].'_'.$section.'.lng'; |
|
0 commit comments