interface/lib/classes/listform.inc.php
@@ -180,9 +180,10 @@ if(@is_array($this->listDef['item'])) { foreach($this->listDef['item'] as $i) { $field = $i['field']; $table = $i['table']; // if($_REQUEST[$search_prefix.$field] != '') $sql_where .= " $field ".$i["op"]." '".$i["prefix"].$_REQUEST[$search_prefix.$field].$i["suffix"]."' and"; if(isset($_SESSION['search'][$list_name][$search_prefix.$field]) && $_SESSION['search'][$list_name][$search_prefix.$field] != ''){ $sql_where .= " $field ".$i['op']." '".$app->db->quote($i['prefix'].$_SESSION['search'][$list_name][$search_prefix.$field].$i['suffix'])."' and"; $sql_where .= " ".($table != ''? $table.'.' : $this->listDef['table'].'.')."$field ".$i['op']." '".$app->db->quote($i['prefix'].$_SESSION['search'][$list_name][$search_prefix.$field].$i['suffix'])."' and"; } } } @@ -216,7 +217,7 @@ if($this->searchChanged == 1) $_SESSION['search'][$list_name]['page'] = 0; $sql_von = $app->functions->intval($_SESSION['search'][$list_name]['page'] * $records_per_page); $record_count = $app->db->queryOneRecord("SELECT count(*) AS anzahl FROM $table WHERE $sql_where"); $record_count = $app->db->queryOneRecord("SELECT count(*) AS anzahl FROM $table".($app->listform->listDef['additional_tables'] != ''? ','.$app->listform->listDef['additional_tables'] : '')." WHERE $sql_where"); $pages = $app->functions->intval(($record_count['anzahl'] - 1) / $records_per_page); interface/lib/classes/listform_actions.inc.php
@@ -59,28 +59,42 @@ //* Manipulate order by for sorting / Every list has a stored value //* Against notice error if(!isset($_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order'])){ $_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order'] = ''; if(!isset($_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'])){ $_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'] = ''; } if(!empty($_GET['orderby'])){ $order = str_replace('tbl_col_','',$_GET['orderby']); //* Check the css class submited value if (preg_match("/^[a-z\_]{1,}$/",$order)) { if($_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order'] == $order){ $_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order'] = $order.' DESC'; // prepend correct table $prepend_table = $app->listform->listDef['table']; if(trim($app->listform->listDef['additional_tables']) != '' && is_array($app->listform->listDef['item']) && count($app->listform->listDef['item']) > 0) { foreach($app->listform->listDef['item'] as $field) { if($field['field'] == $order && $field['table'] != ''){ $prepend_table = $field['table']; break; } } } $order = $prepend_table.'.'.$order; if($_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'] == $order){ $_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'] = $order.' DESC'; } else { $_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order'] = $order; $_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'] = $order; } } } // If a manuel oder by like customers isset the sorting will be infront if(!empty($_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order'])){ if(!empty($_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'])){ if(empty($this->SQLOrderBy)){ $this->SQLOrderBy = "ORDER BY ".$_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order']; $this->SQLOrderBy = "ORDER BY ".$_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order']; } else { $this->SQLOrderBy = str_replace("ORDER BY ","ORDER BY ".$_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order'].', ',$this->SQLOrderBy); $this->SQLOrderBy = str_replace("ORDER BY ","ORDER BY ".$_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'].', ',$this->SQLOrderBy); } } @@ -133,7 +147,7 @@ return $rec; } private function getQueryString() { public function getQueryString() { global $app; $sql_where = ''; @@ -151,6 +165,7 @@ } $sql_where = $app->listform->getSearchSQL($sql_where); if($app->listform->listDef['join_sql']) $sql_where .= ' AND '.$app->listform->listDef['join_sql']; $app->tpl->setVar($app->listform->searchValues); $order_by_sql = $this->SQLOrderBy; @@ -161,109 +176,26 @@ $extselect = ''; $join = ''; if(!empty($_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order'])){ $order = str_replace(' DESC','',$_SESSION['search'][$app->listform->listDef["name"].$app->listform->listDef['table']]['order']); if($order == 'server_id' && $app->listform->listDef['table'] != 'server'){ $join .= ' LEFT JOIN server as s ON '.$app->listform->listDef['table'].'.server_id = s.server_id '; $order_by_sql = str_replace('server_id','s.server_name',$order_by_sql); } elseif($order == 'client_id' && $app->listform->listDef['table'] != 'client'){ $join .= ' LEFT JOIN client as c ON '.$app->listform->listDef['table'].'.client_id = c.client_id '; $order_by_sql = str_replace('client_id','c.contact_name',$order_by_sql); } elseif($order == 'parent_domain_id'){ $join .= ' LEFT JOIN web_domain as wd ON '.$app->listform->listDef['table'].'.parent_domain_id = wd.domain_id '; //$order_by_sql = str_replace(' domain', ' '.$app->listform->listDef['table'].'.domain',$order_by_sql); //$order_by_sql = str_replace('parent_domain_id','wd.domain',$order_by_sql); $order_by_sql = preg_replace('@( |,|^)(domain)( |,|$)@', '$1'.$app->listform->listDef['table'].'.$2$3', $order_by_sql); $order_by_sql = preg_replace('@( |,|^)(parent_domain_id)( |,|$)@', '$1wd.domain$3', $order_by_sql); //$sql_where = str_replace('type',$app->listform->listDef['table'].'.type',$sql_where); //$sql_where = str_replace(' domain',' '.$app->listform->listDef['table'].'.domain',$sql_where); $sql_where = preg_replace('@( |,|^)(type)( |,|$)@', '$1'.$app->listform->listDef['table'].'.$2$3', $sql_where); $sql_where = preg_replace('@( |,|^)(domain)( |,|$)@', '$1'.$app->listform->listDef['table'].'.$2$3', $sql_where); } elseif($order == 'sys_groupid'){ $join .= ' LEFT JOIN sys_group as sg ON '.$app->listform->listDef['table'].'.sys_groupid = sg.groupid '; $order_by_sql = str_replace('sys_groupid','sg.name',$order_by_sql); } elseif($order == 'rid'){ $join .= ' LEFT JOIN spamfilter_users as su ON '.$app->listform->listDef['table'].'.rid = su.id '; $order_by_sql = str_replace('rid','su.email',$order_by_sql); } elseif($order == 'policy_id'){ $join .= ' LEFT JOIN spamfilter_policy as sp ON '.$app->listform->listDef['table'].'.policy_id = sp.id '; $order_by_sql = str_replace('policy_id','sp.policy_name',$order_by_sql); } elseif($order == 'web_folder_id'){ $join .= ' LEFT JOIN web_folder as wf ON '.$app->listform->listDef['table'].'.web_folder_id = wf.web_folder_id '; $order_by_sql = str_replace('web_folder_id','wf.path',$order_by_sql); } elseif($order == 'ostemplate_id' && $app->listform->listDef['table'] != 'openvz_ostemplate'){ $join .= ' LEFT JOIN openvz_ostemplate as oo ON '.$app->listform->listDef['table'].'.ostemplate_id = oo.ostemplate_id '; $order_by_sql = str_replace('ostemplate_id','oo.template_name',$order_by_sql); } elseif($order == 'template_id' && $app->listform->listDef['table'] != 'openvz_template'){ $join .= ' LEFT JOIN openvz_template as ot ON '.$app->listform->listDef['table'].'.template_id = ot.template_id '; $order_by_sql = str_replace('template_id','ot.template_name',$order_by_sql); } elseif($order == 'sender_id' && $app->listform->listDef['table'] != 'sys_user'){ $join .= ' LEFT JOIN sys_user as su ON '.$app->listform->listDef['table'].'.sender_id = su.userid '; $order_by_sql = str_replace('sender_id','su.username',$order_by_sql); } elseif($order == 'web_traffic_last_month'){ $tmp_year = date('Y',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $tmp_month = date('m',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $extselect .= ', SUM(wt.traffic_bytes) as calctraffic'; $join .= ' INNER JOIN web_traffic as wt ON '.$app->listform->listDef['table'].'.domain = wt.hostname '; $sql_where .= " AND YEAR(wt.traffic_date) = '$tmp_year' AND MONTH(wt.traffic_date) = '$tmp_month'"; $order_by_sql = str_replace('web_traffic_last_month','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY domain ".$order_by_sql; } elseif($order == 'web_traffic_this_month'){ $tmp_year = date('Y'); $tmp_month = date('m'); $extselect .= ', SUM(wt.traffic_bytes) as calctraffic'; $join .= ' INNER JOIN web_traffic as wt ON '.$app->listform->listDef['table'].'.domain = wt.hostname '; $sql_where .= " AND YEAR(wt.traffic_date) = '$tmp_year' AND MONTH(wt.traffic_date) = '$tmp_month'"; $order_by_sql = str_replace('web_traffic_this_month','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY domain ".$order_by_sql; } elseif($order == 'web_traffic_last_year'){ $tmp_year = date('Y',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $extselect .= ', SUM(wt.traffic_bytes) as calctraffic'; $join .= ' INNER JOIN web_traffic as wt ON '.$app->listform->listDef['table'].'.domain = wt.hostname '; $sql_where .= " AND YEAR(wt.traffic_date) = '$tmp_year'"; $order_by_sql = str_replace('web_traffic_last_year','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY domain ".$order_by_sql; } elseif($order == 'web_traffic_this_year'){ $tmp_year = date('Y'); $extselect .= ', SUM(wt.traffic_bytes) as calctraffic'; $join .= ' INNER JOIN web_traffic as wt ON '.$app->listform->listDef['table'].'.domain = wt.hostname '; $sql_where .= " AND YEAR(wt.traffic_date) = '$tmp_year'"; $order_by_sql = str_replace('web_traffic_this_year','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY domain ".$order_by_sql; } elseif($order == 'mail_traffic_last_month'){ $tmp_date = date('Y-m',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $join .= ' INNER JOIN mail_traffic as mt ON '.$app->listform->listDef['table'].'.mailuser_id = mt.mailuser_id '; $sql_where .= " AND mt.month like '$tmp_date%'"; $order_by_sql = str_replace('mail_traffic_last_month','traffic',$order_by_sql); } elseif($order == 'mail_traffic_this_month'){ $tmp_date = date('Y-m'); $join .= ' INNER JOIN mail_traffic as mt ON '.$app->listform->listDef['table'].'.mailuser_id = mt.mailuser_id '; $sql_where .= " AND mt.month like '$tmp_date%'"; $order_by_sql = str_replace('mail_traffic_this_month','traffic',$order_by_sql); } elseif($order == 'mail_traffic_last_year'){ $tmp_date = date('Y',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $extselect .= ', SUM(mt.traffic) as calctraffic'; $join .= ' INNER JOIN mail_traffic as mt ON '.$app->listform->listDef['table'].'.mailuser_id = mt.mailuser_id '; $sql_where .= " AND mt.month like '$tmp_date%'";; $order_by_sql = str_replace('mail_traffic_last_year','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY mailuser_id ".$order_by_sql; } elseif($order == 'mail_traffic_this_year'){ $tmp_date = date('Y'); $extselect .= ', SUM(mt.traffic) as calctraffic'; $join .= ' INNER JOIN mail_traffic as mt ON '.$app->listform->listDef['table'].'.mailuser_id = mt.mailuser_id '; $sql_where .= " AND mt.month like '$tmp_date%'"; $order_by_sql = str_replace('mail_traffic_this_year','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY mailuser_id ".$order_by_sql; } } if($this->SQLExtSelect != '') { if(substr($this->SQLExtSelect,0,1) != ',') $this->SQLExtSelect = ','.$this->SQLExtSelect; $extselect .= $this->SQLExtSelect; } $table_selects = array(); $table_selects[] = trim($app->listform->listDef['table']).'.*'; $app->listform->listDef['additional_tables'] = trim($app->listform->listDef['additional_tables']); if($app->listform->listDef['additional_tables'] != ''){ $additional_tables = explode(',', $app->listform->listDef['additional_tables']); foreach($additional_tables as $additional_table){ $table_selects[] = trim($additional_table).'.*'; } } $select = implode(', ', $table_selects); return 'SELECT '.$app->listform->listDef['table'].'.*'.$extselect.' FROM '.$app->listform->listDef['table']."$join WHERE $sql_where $order_by_sql $limit_sql"; $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"; //echo $sql; return $sql; } interface/web/admin/server_ip_list.php
@@ -46,7 +46,7 @@ $app->uses('listform_actions'); $app->listform_actions->SQLOrderBy = "ORDER BY server_id, ip_address"; $app->listform_actions->SQLOrderBy = "ORDER BY server_ip.server_id, server_ip.ip_address"; $app->listform_actions->onLoad(); interface/web/admin/server_php_list.php
@@ -46,7 +46,7 @@ $app->uses('listform_actions'); $app->listform_actions->SQLOrderBy = "ORDER BY server_id, name"; $app->listform_actions->SQLOrderBy = "ORDER BY server_php.server_id, server_php.name"; $app->listform_actions->onLoad(); interface/web/admin/users_list.php
@@ -45,7 +45,7 @@ $app->auth->check_module_permissions('admin'); $app->uses('listform_actions'); $app->listform_actions->SQLOrderBy = 'ORDER BY username'; $app->listform_actions->SQLOrderBy = 'ORDER BY sys_user.username'; $app->listform_actions->onLoad(); interface/web/client/client_circle_list.php
@@ -17,7 +17,7 @@ $app->uses('listform_actions'); $app->listform_actions->SQLOrderBy = 'ORDER BY circle_name, circle_id'; $app->listform_actions->SQLOrderBy = 'ORDER BY client_circle.circle_name, client_circle.circle_id'; $app->listform_actions->onLoad(); interface/web/client/client_list.php
@@ -17,8 +17,8 @@ $app->uses('listform_actions'); $app->listform_actions->SQLOrderBy = 'ORDER BY company_name, contact_name, client_id'; $app->listform_actions->SQLExtWhere = "limit_client = 0"; $app->listform_actions->SQLOrderBy = 'ORDER BY client.company_name, client.contact_name, client.client_id'; $app->listform_actions->SQLExtWhere = "client.limit_client = 0"; $app->listform_actions->SQLExtSelect = ', client.country as countryiso'; $app->listform_actions->onLoad(); interface/web/client/client_template_list.php
@@ -44,6 +44,6 @@ if(!$_SESSION["s"]["user"]["typ"] == 'admin') die('Client-Templates are only for Admins.'); $app->uses('listform_actions'); $app->listform_actions->SQLOrderBy = 'ORDER BY template_name'; $app->listform_actions->SQLOrderBy = 'ORDER BY client_template.template_name'; $app->listform_actions->onLoad(); ?> interface/web/client/domain_list.php
@@ -46,7 +46,7 @@ $app->uses('listform_actions'); $app->listform_actions->SQLOrderBy = 'ORDER BY domain'; $app->listform_actions->SQLOrderBy = 'ORDER BY domain.domain'; $app->listform_actions->onLoad(); ?> interface/web/client/lib/lang/de_client_template_list.lng
@@ -2,4 +2,5 @@ $wb['list_head_txt'] = 'Kundenvorlagen'; $wb['template_type_txt'] = 'Typ'; $wb['template_name_txt'] = 'Vorlagenname'; $wb['template_id_txt'] = 'Template ID'; ?> interface/web/client/lib/lang/en_client_template_list.lng
@@ -2,4 +2,5 @@ $wb["list_head_txt"] = 'Client-Templates'; $wb["template_type_txt"] = 'Type'; $wb["template_name_txt"] = 'Template name'; $wb['template_id_txt'] = 'Template ID'; ?> interface/web/client/reseller_list.php
@@ -47,8 +47,8 @@ $app->uses('listform_actions'); $app->listform_actions->SQLOrderBy = 'ORDER BY company_name, contact_name, client_id'; $app->listform_actions->SQLExtWhere = "(limit_client > 0 or limit_client = -1)"; $app->listform_actions->SQLOrderBy = 'ORDER BY client.company_name, client.contact_name, client.client_id'; $app->listform_actions->SQLExtWhere = "(client.limit_client > 0 or client.limit_client = -1)"; $app->listform_actions->SQLExtSelect = ', client.country as countryiso'; $app->listform_actions->onLoad(); interface/web/dns/dns_a_list.php
@@ -16,7 +16,7 @@ $app->auth->check_module_permissions('dns'); $app->uses('listform_actions'); $app->listform_actions->SQLExtWhere = "type = 'A'"; $app->listform_actions->SQLExtWhere = "dns_rr.type = 'A'"; $app->listform_actions->onLoad(); interface/web/dns/dns_slave_list.php
@@ -16,9 +16,9 @@ $app->auth->check_module_permissions('dns'); $app->uses('listform_actions'); // $app->listform_actions->SQLExtWhere = "access = 'REJECT'"; // $app->listform_actions->SQLExtWhere = "dns_slave.access = 'REJECT'"; $app->listform_actions->SQLOrderBy = 'ORDER BY origin'; $app->listform_actions->SQLOrderBy = 'ORDER BY dns_slave.origin'; $app->listform_actions->onLoad(); interface/web/dns/dns_soa_list.php
@@ -16,9 +16,9 @@ $app->auth->check_module_permissions('dns'); $app->uses('listform_actions'); // $app->listform_actions->SQLExtWhere = "access = 'REJECT'"; // $app->listform_actions->SQLExtWhere = "dns_soa.access = 'REJECT'"; $app->listform_actions->SQLOrderBy = 'ORDER BY origin'; $app->listform_actions->SQLOrderBy = 'ORDER BY dns_soa.origin'; $app->listform_actions->onLoad(); interface/web/dns/dns_template_list.php
@@ -16,9 +16,9 @@ $app->auth->check_module_permissions('dns'); $app->uses('listform_actions'); // $app->listform_actions->SQLExtWhere = "access = 'REJECT'"; // $app->listform_actions->SQLExtWhere = "dns_template.access = 'REJECT'"; $app->listform_actions->SQLOrderBy = 'ORDER BY name'; $app->listform_actions->SQLOrderBy = 'ORDER BY dns_template.name'; $app->listform_actions->onLoad(); interface/web/help/faq_list.php
@@ -26,7 +26,7 @@ $res = $app->db->queryOneRecord("SELECT MIN(hfs_id) AS min_id FROM help_faq_sections"); $hf_section = $res['min_id']; } $app->listform_actions->SQLExtWhere = "hf_section = $hf_section"; $app->listform_actions->SQLExtWhere = "help_faq.hf_section = $hf_section"; if($hf_section) $res = $app->db->queryOneRecord("SELECT hfs_name FROM help_faq_sections WHERE hfs_id=$hf_section"); interface/web/help/support_message_list.php
@@ -12,7 +12,7 @@ $app->uses('listform_actions'); //* Optional limit $app->listform_actions->SQLExtWhere = "recipient_id = ".$_SESSION['s']['user']['userid']; $app->listform_actions->SQLExtWhere = "support_message.recipient_id = ".$_SESSION['s']['user']['userid']; //* Start the form rendering and action ahndling $app->listform_actions->onLoad(); interface/web/mail/lib/lang/de_spamfilter_users.lng
@@ -5,4 +5,6 @@ $wb['email_txt'] = 'E-Mail (Zeichenkette)'; $wb['fullname_txt'] = 'Name'; $wb['local_txt'] = 'Lokal'; $wb['email_error_notempty'] = 'Die E-Mail-Adresse darf nicht leer sein.'; $wb['fullname_error_notempty'] = 'Der Name darf nicht leer sein.'; ?> interface/web/mail/lib/lang/en_spamfilter_users.lng
@@ -5,4 +5,6 @@ $wb["email_txt"] = 'Email (Pattern)'; $wb["fullname_txt"] = 'Name'; $wb["local_txt"] = 'Local'; $wb['email_error_notempty'] = 'The email address must not be empty.'; $wb['fullname_error_notempty'] = 'The name must not be empty.'; ?> interface/web/mail/mail_alias_list.php
@@ -18,7 +18,7 @@ $app->uses('listform_actions'); // Limit the results to alias domains $app->listform_actions->SQLExtWhere = "type = 'alias'"; $app->listform_actions->SQLExtWhere = "mail_forwarding.type = 'alias'"; $app->listform_actions->onLoad(); interface/web/mail/mail_aliasdomain_list.php
@@ -18,7 +18,7 @@ $app->uses('listform_actions'); // Limit the results to alias domains $app->listform_actions->SQLExtWhere = "type = 'aliasdomain'"; $app->listform_actions->SQLExtWhere = "mail_forwarding.type = 'aliasdomain'"; $app->listform_actions->onLoad(); interface/web/mail/mail_blacklist_list.php
@@ -16,7 +16,7 @@ $app->auth->check_module_permissions('mail'); $app->uses('listform_actions'); $app->listform_actions->SQLExtWhere = "access = 'REJECT'"; $app->listform_actions->SQLExtWhere = "mail_access.access = 'REJECT'"; $app->listform_actions->onLoad(); interface/web/mail/mail_domain_catchall_list.php
@@ -18,7 +18,7 @@ $app->uses('listform_actions'); // Limit the results to alias domains $app->listform_actions->SQLExtWhere = "type = 'catchall'"; $app->listform_actions->SQLExtWhere = "mail_forwarding.type = 'catchall'"; $app->listform_actions->onLoad(); interface/web/mail/mail_domain_list.php
@@ -21,7 +21,7 @@ // Limit the results to alias domains // $app->listform_actions->SQLExtWhere = "type = 'local'"; $app->listform_actions->SQLOrderBy = 'ORDER BY domain'; $app->listform_actions->SQLOrderBy = 'ORDER BY mail_domain.domain'; $app->listform_actions->onLoad(); interface/web/mail/mail_forward_list.php
@@ -18,7 +18,7 @@ $app->uses('listform_actions'); // Limit the results to alias domains $app->listform_actions->SQLExtWhere = "type = 'forward'"; $app->listform_actions->SQLExtWhere = "mail_forwarding.type = 'forward'"; $app->listform_actions->onLoad(); interface/web/mail/mail_user_list.php
@@ -44,7 +44,7 @@ } $list = new list_action; $list->SQLOrderBy = 'ORDER BY email'; $list->SQLOrderBy = 'ORDER BY mail_user.email'; $list->onLoad(); interface/web/mail/mail_user_stats.php
@@ -54,6 +54,86 @@ $rec['id'] = $rec[$this->idx_key]; return $rec; } function getQueryString() { global $app; $sql_where = ''; //* Generate the search sql if($app->listform->listDef['auth'] != 'no') { if($_SESSION['s']['user']['typ'] == "admin") { $sql_where = ''; } else { $sql_where = $app->tform->getAuthSQL('r', $app->listform->listDef['table']).' and'; //$sql_where = $app->tform->getAuthSQL('r').' and'; } } if($this->SQLExtWhere != '') { $sql_where .= ' '.$this->SQLExtWhere.' and'; } $sql_where = $app->listform->getSearchSQL($sql_where); if($app->listform->listDef['join_sql']) $sql_where .= ' AND '.$app->listform->listDef['join_sql']; $app->tpl->setVar($app->listform->searchValues); $order_by_sql = $this->SQLOrderBy; //* Generate SQL for paging $limit_sql = $app->listform->getPagingSQL($sql_where); $app->tpl->setVar('paging',$app->listform->pagingHTML); $extselect = ''; $join = ''; if(!empty($_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'])){ $order = str_replace(' DESC','',$_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order']); list($tmp_table, $order) = explode('.', $order); if($order == 'mail_traffic_last_month'){ $tmp_date = date('Y-m',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $join .= ' INNER JOIN mail_traffic as mt ON '.$app->listform->listDef['table'].'.mailuser_id = mt.mailuser_id '; $sql_where .= " AND mt.month like '$tmp_date%'"; $order_by_sql = str_replace($app->listform->listDef['table'].'.mail_traffic_last_month','traffic',$order_by_sql); } elseif($order == 'mail_traffic_this_month'){ $tmp_date = date('Y-m'); $join .= ' INNER JOIN mail_traffic as mt ON '.$app->listform->listDef['table'].'.mailuser_id = mt.mailuser_id '; $sql_where .= " AND mt.month like '$tmp_date%'"; $order_by_sql = str_replace($app->listform->listDef['table'].'.mail_traffic_this_month','traffic',$order_by_sql); } elseif($order == 'mail_traffic_last_year'){ $tmp_date = date('Y',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $extselect .= ', SUM(mt.traffic) as calctraffic'; $join .= ' INNER JOIN mail_traffic as mt ON '.$app->listform->listDef['table'].'.mailuser_id = mt.mailuser_id '; $sql_where .= " AND mt.month like '$tmp_date%'";; $order_by_sql = str_replace($app->listform->listDef['table'].'.mail_traffic_last_year','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY mailuser_id ".$order_by_sql; } elseif($order == 'mail_traffic_this_year'){ $tmp_date = date('Y'); $extselect .= ', SUM(mt.traffic) as calctraffic'; $join .= ' INNER JOIN mail_traffic as mt ON '.$app->listform->listDef['table'].'.mailuser_id = mt.mailuser_id '; $sql_where .= " AND mt.month like '$tmp_date%'"; $order_by_sql = str_replace($app->listform->listDef['table'].'.mail_traffic_this_year','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY mailuser_id ".$order_by_sql; } } if($this->SQLExtSelect != '') { if(substr($this->SQLExtSelect,0,1) != ',') $this->SQLExtSelect = ','.$this->SQLExtSelect; $extselect .= $this->SQLExtSelect; } $table_selects = array(); $table_selects[] = trim($app->listform->listDef['table']).'.*'; $app->listform->listDef['additional_tables'] = trim($app->listform->listDef['additional_tables']); if($app->listform->listDef['additional_tables'] != ''){ $additional_tables = explode(',', $app->listform->listDef['additional_tables']); foreach($additional_tables as $additional_table){ $table_selects[] = trim($additional_table).'.*'; } } $select = implode(', ', $table_selects); $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"; return $sql; } } $list = new list_action; interface/web/mail/mail_whitelist_list.php
@@ -16,7 +16,7 @@ $app->auth->check_module_permissions('mail'); $app->uses('listform_actions'); $app->listform_actions->SQLExtWhere = "access = 'OK'"; $app->listform_actions->SQLExtWhere = "mail_access.access = 'OK'"; $app->listform_actions->onLoad(); interface/web/mail/spamfilter_blacklist_list.php
@@ -16,7 +16,7 @@ $app->auth->check_module_permissions('mail'); $app->uses('listform_actions'); $app->listform_actions->SQLExtWhere = "wb = 'B'"; $app->listform_actions->SQLExtWhere = "spamfilter_wblist.wb = 'B'"; $app->listform_actions->onLoad(); interface/web/mail/spamfilter_whitelist_list.php
@@ -16,7 +16,7 @@ $app->auth->check_module_permissions('mail'); $app->uses('listform_actions'); $app->listform_actions->SQLExtWhere = "wb = 'W'"; $app->listform_actions->SQLExtWhere = "spamfilter_wblist.wb = 'W'"; $app->listform_actions->onLoad(); interface/web/mailuser/mail_user_filter_list.php
@@ -24,7 +24,7 @@ $list = new list_action; $list->SQLExtWhere = "mailuser_id = ".$_SESSION['s']['user']['mailuser_id']; $list->SQLExtWhere = "mail_user_filter.mailuser_id = ".$_SESSION['s']['user']['mailuser_id']; $list->onLoad(); interface/web/monitor/datalog_list.php
@@ -50,13 +50,13 @@ $sql = '('; foreach($servers as $sv) { $sql .= " (datalog_id > ".$sv['updated']." AND sys_datalog.server_id = ".$sv['server_id'].") OR "; $sql .= " (sys_datalog.datalog_id > ".$sv['updated']." AND sys_datalog.server_id = ".$sv['server_id'].") OR "; } $sql = substr($sql,0,-4); $sql .= ')'; $app->listform_actions->SQLExtWhere = $sql; $app->listform_actions->SQLOrderBy = "ORDER BY tstamp DESC, datalog_id DESC"; $app->listform_actions->SQLOrderBy = "ORDER BY sys_datalog.tstamp DESC, sys_datalog.datalog_id DESC"; $app->listform_actions->onLoad(); interface/web/monitor/log_list.php
@@ -47,7 +47,7 @@ $app->uses('listform_actions'); //$app->listform_actions->SQLExtWhere = "wb = 'W'"; $app->listform_actions->SQLOrderBy = "ORDER BY tstamp DESC, syslog_id DESC"; $app->listform_actions->SQLOrderBy = "ORDER BY sys_log.tstamp DESC, sys_log.syslog_id DESC"; $app->listform_actions->onLoad(); interface/web/sites/aps_availablepackages_list.php
@@ -42,10 +42,10 @@ // Load needed classes $app->uses('tpl,listform_actions'); $app->listform_actions->SQLOrderBy = 'ORDER BY name, version'; $app->listform_actions->SQLOrderBy = 'ORDER BY aps_packages.name, aps_packages.version'; // Show only unlocked packages to clients and (un-)lockable packages to admins if($_SESSION['s']['user']['typ'] != 'admin') $app->listform_actions->SQLExtWhere = 'package_status = '.PACKAGE_ENABLED; else $app->listform_actions->SQLExtWhere = '(package_status = '.PACKAGE_ENABLED.' OR package_status = '.PACKAGE_LOCKED.')'; if($_SESSION['s']['user']['typ'] != 'admin') $app->listform_actions->SQLExtWhere = 'aps_packages.package_status = '.PACKAGE_ENABLED; else $app->listform_actions->SQLExtWhere = '(aps_packages.package_status = '.PACKAGE_ENABLED.' OR aps_packages.package_status = '.PACKAGE_LOCKED.')'; // Get package amount $pkg_count = $app->db->queryOneRecord("SELECT COUNT(*) FROM aps_packages"); interface/web/sites/database_list.php
@@ -67,7 +67,7 @@ } $list = new list_action; $list->SQLOrderBy = 'ORDER BY database_name'; $list->SQLOrderBy = 'ORDER BY web_database.database_name'; $list->onLoad(); interface/web/sites/database_user_list.php
@@ -58,7 +58,7 @@ } $list = new list_action; $list->SQLOrderBy = 'ORDER BY database_user'; $list->SQLOrderBy = 'ORDER BY web_database_user.database_user'; $list->onLoad(); interface/web/sites/ftp_user_list.php
@@ -68,7 +68,7 @@ } $list = new list_action; $list->SQLOrderBy = 'ORDER BY username'; $list->SQLOrderBy = 'ORDER BY ftp_user.username'; $list->onLoad(); interface/web/sites/list/aps_installedpackages.list.php
@@ -29,8 +29,15 @@ */ $liste['name'] = 'aps_instances'; // Name of the list $liste['table'] = 'aps_instances,aps_packages'; // Database table $liste['table'] = 'aps_instances'; // Database table $liste['table_idx'] = 'id'; // Table index // if multiple tables are involved, list the additional tables here (comma separated) $liste["additional_tables"] = "aps_packages"; // if multiple tables are involved, specify sql to join these tables $liste["join_sql"] = " aps_instances.package_id = aps_packages.id"; $liste["search_prefix"] = 'search_'; // Search field prefix $liste['records_per_page'] = 15; // Records per page $liste['file'] = 'aps_installedpackages_list.php'; // Script file for this list @@ -47,7 +54,8 @@ 'prefix' => '%', 'suffix' => '%', 'width' => '', 'value' => ''); 'value' => '', 'table' => 'aps_packages'); $liste["item"][] = array('field' => 'version', 'datatype' => 'VARCHAR', @@ -56,7 +64,8 @@ 'prefix' => '%', 'suffix' => '%', 'width' => '', 'value' => ''); 'value' => '', 'table' => 'aps_packages'); /* $liste["item"][] = array('field' => 'customer_id', @@ -79,5 +88,6 @@ 'value' => array(INSTANCE_INSTALL => $app->lng('Installation_task'), INSTANCE_ERROR => $app->lng('Installation_error'), INSTANCE_SUCCESS => $app->lng('Installation_success'), INSTANCE_REMOVE => $app->lng('Installation_remove'))); INSTANCE_REMOVE => $app->lng('Installation_remove')), 'table' => 'aps_instances'); ?> interface/web/sites/shell_user_list.php
@@ -49,7 +49,7 @@ // Limit the results to alias domains //$app->listform_actions->SQLExtWhere = "type = 'subdomain'"; $app->listform_actions->SQLOrderBy = 'ORDER BY username'; $app->listform_actions->SQLOrderBy = 'ORDER BY shell_user.username'; $app->listform_actions->onLoad(); interface/web/sites/user_quota_stats.php
@@ -95,8 +95,8 @@ } $list = new list_action; $list->SQLExtWhere = "type = 'vhost'"; $list->SQLOrderBy = 'ORDER BY domain'; $list->SQLExtWhere = "web_domain.type = 'vhost'"; $list->SQLOrderBy = 'ORDER BY web_domain.domain'; $list->onLoad(); interface/web/sites/web_aliasdomain_list.php
@@ -47,8 +47,8 @@ $app->uses('listform_actions'); // Limit the results to alias domains $app->listform_actions->SQLExtWhere = "type = 'alias'"; $app->listform_actions->SQLOrderBy = 'ORDER BY domain'; $app->listform_actions->SQLExtWhere = "web_domain.type = 'alias'"; $app->listform_actions->SQLOrderBy = 'ORDER BY web_domain.domain'; $app->listform_actions->onLoad(); interface/web/sites/web_domain_list.php
@@ -52,8 +52,8 @@ } $list = new list_action; $list->SQLExtWhere = "type = 'vhost' AND parent_domain_id = '0'"; $list->SQLOrderBy = 'ORDER BY domain'; $list->SQLExtWhere = "web_domain.type = 'vhost' AND web_domain.parent_domain_id = '0'"; $list->SQLOrderBy = 'ORDER BY web_domain.domain'; $list->onLoad(); ?> interface/web/sites/web_sites_stats.php
@@ -79,11 +79,97 @@ $app->tpl_defaults(); $app->tpl->pparse(); } function getQueryString() { global $app; $sql_where = ''; //* Generate the search sql if($app->listform->listDef['auth'] != 'no') { if($_SESSION['s']['user']['typ'] == "admin") { $sql_where = ''; } else { $sql_where = $app->tform->getAuthSQL('r', $app->listform->listDef['table']).' and'; //$sql_where = $app->tform->getAuthSQL('r').' and'; } } if($this->SQLExtWhere != '') { $sql_where .= ' '.$this->SQLExtWhere.' and'; } $sql_where = $app->listform->getSearchSQL($sql_where); if($app->listform->listDef['join_sql']) $sql_where .= ' AND '.$app->listform->listDef['join_sql']; $app->tpl->setVar($app->listform->searchValues); $order_by_sql = $this->SQLOrderBy; //* Generate SQL for paging $limit_sql = $app->listform->getPagingSQL($sql_where); $app->tpl->setVar('paging',$app->listform->pagingHTML); $extselect = ''; $join = ''; if(!empty($_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order'])){ $order = str_replace(' DESC','',$_SESSION['search'][$_SESSION['s']['module']['name'].$app->listform->listDef["name"].$app->listform->listDef['table']]['order']); list($tmp_table, $order) = explode('.', $order); if($order == 'web_traffic_last_month'){ $tmp_year = date('Y',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $tmp_month = date('m',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $extselect .= ', SUM(wt.traffic_bytes) as calctraffic'; $join .= ' INNER JOIN web_traffic as wt ON '.$app->listform->listDef['table'].'.domain = wt.hostname '; $sql_where .= " AND YEAR(wt.traffic_date) = '$tmp_year' AND MONTH(wt.traffic_date) = '$tmp_month'"; $order_by_sql = str_replace($app->listform->listDef['table'].'.web_traffic_last_month','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY domain ".$order_by_sql; } elseif($order == 'web_traffic_this_month'){ $tmp_year = date('Y'); $tmp_month = date('m'); $extselect .= ', SUM(wt.traffic_bytes) as calctraffic'; $join .= ' INNER JOIN web_traffic as wt ON '.$app->listform->listDef['table'].'.domain = wt.hostname '; $sql_where .= " AND YEAR(wt.traffic_date) = '$tmp_year' AND MONTH(wt.traffic_date) = '$tmp_month'"; $order_by_sql = str_replace($app->listform->listDef['table'].'.web_traffic_this_month','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY domain ".$order_by_sql; } elseif($order == 'web_traffic_last_year'){ $tmp_year = date('Y',mktime(0, 0, 0, date("m")-1, date("d"), date("Y"))); $extselect .= ', SUM(wt.traffic_bytes) as calctraffic'; $join .= ' INNER JOIN web_traffic as wt ON '.$app->listform->listDef['table'].'.domain = wt.hostname '; $sql_where .= " AND YEAR(wt.traffic_date) = '$tmp_year'"; $order_by_sql = str_replace($app->listform->listDef['table'].'.web_traffic_last_year','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY domain ".$order_by_sql; } elseif($order == 'web_traffic_this_year'){ $tmp_year = date('Y'); $extselect .= ', SUM(wt.traffic_bytes) as calctraffic'; $join .= ' INNER JOIN web_traffic as wt ON '.$app->listform->listDef['table'].'.domain = wt.hostname '; $sql_where .= " AND YEAR(wt.traffic_date) = '$tmp_year'"; $order_by_sql = str_replace($app->listform->listDef['table'].'.web_traffic_this_year','calctraffic',$order_by_sql); $order_by_sql = "GROUP BY domain ".$order_by_sql; } } if($this->SQLExtSelect != '') { if(substr($this->SQLExtSelect,0,1) != ',') $this->SQLExtSelect = ','.$this->SQLExtSelect; $extselect .= $this->SQLExtSelect; } $table_selects = array(); $table_selects[] = trim($app->listform->listDef['table']).'.*'; $app->listform->listDef['additional_tables'] = trim($app->listform->listDef['additional_tables']); if($app->listform->listDef['additional_tables'] != ''){ $additional_tables = explode(',', $app->listform->listDef['additional_tables']); foreach($additional_tables as $additional_table){ $table_selects[] = trim($additional_table).'.*'; } } $select = implode(', ', $table_selects); $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"; return $sql; } } $list = new list_action; $list->SQLExtWhere = "(type = 'vhost' or type = 'vhostsubdomain')"; $list->SQLOrderBy = 'ORDER BY domain'; $list->SQLExtWhere = "(web_domain.type = 'vhost' or web_domain.type = 'vhostsubdomain')"; $list->SQLOrderBy = 'ORDER BY web_domain.domain'; $list->onLoad(); interface/web/sites/web_subdomain_list.php
@@ -47,8 +47,8 @@ $app->uses('listform_actions'); // Limit the results to alias domains $app->listform_actions->SQLExtWhere = "type = 'subdomain'"; $app->listform_actions->SQLOrderBy = 'ORDER BY domain'; $app->listform_actions->SQLExtWhere = "web_domain.type = 'subdomain'"; $app->listform_actions->SQLOrderBy = 'ORDER BY web_domain.domain'; $app->listform_actions->onLoad(); interface/web/sites/web_vhost_subdomain_list.php
@@ -47,8 +47,8 @@ $app->uses('listform_actions'); // Limit the results to alias domains $app->listform_actions->SQLExtWhere = "type = 'vhostsubdomain'"; $app->listform_actions->SQLOrderBy = 'ORDER BY domain'; $app->listform_actions->SQLExtWhere = "web_domain.type = 'vhostsubdomain'"; $app->listform_actions->SQLOrderBy = 'ORDER BY web_domain.domain'; $app->listform_actions->onLoad(); interface/web/sites/webdav_user_list.php
@@ -44,7 +44,7 @@ $app->auth->check_module_permissions('sites'); $app->uses('listform_actions'); $app->listform_actions->SQLOrderBy = 'ORDER BY username'; $app->listform_actions->SQLOrderBy = 'ORDER BY webdav_user.username'; $app->listform_actions->onLoad(); interface/web/vm/openvz_ip_list.php
@@ -48,7 +48,7 @@ $app->uses('listform_actions'); // $app->listform_actions->SQLExtWhere = "limit_client = 0"; $app->listform_actions->SQLOrderBy = 'ORDER BY server_id,ip_address'; $app->listform_actions->SQLOrderBy = 'ORDER BY openvz_ip.server_id, openvz_ip.ip_address'; $app->listform_actions->onLoad();