From 0732d32f508045da40fe9df607b9ef20ce2d198f Mon Sep 17 00:00:00 2001 From: xaver <xaver@ispconfig3> Date: Tue, 06 Mar 2012 10:03:23 -0500 Subject: [PATCH] join fix - disappered in commit + Switch traffic joins, because its faster - Tested in a productive system (MySQL 5.1) as query few tausend domains 1-3 sec for Webtraffic sort, faster SQL = faster and MySQL 5.5 is much faster with joins (standard is not sorted with slow traffic querys) -> slowest part is coping the tables into temp -> more tweeks on cache... -> faster by heavy use --- interface/lib/classes/custom_datasource.inc.php | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) diff --git a/interface/lib/classes/custom_datasource.inc.php b/interface/lib/classes/custom_datasource.inc.php index 52ba34c..43538d6 100644 --- a/interface/lib/classes/custom_datasource.inc.php +++ b/interface/lib/classes/custom_datasource.inc.php @@ -63,6 +63,31 @@ return $records_new; } + function webdav_domains($field, $record) { + global $app, $conf; + + $servers = $app->db->queryAllRecords("SELECT * FROM server WHERE active = 1 AND mirror_server_id = 0"); + $server_ids = array(); + $app->uses('getconf'); + if(is_array($servers) && !empty($servers)){ + foreach($servers as $server){ + $web_config = $app->getconf->get_server_config($server['server_id'], 'web'); + if($web_config['server_type'] != 'nginx') $server_ids[] = $server['server_id']; + } + } + $server_ids = implode(',', $server_ids); + $records = $app->db->queryAllRecords("SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND server_id IN (".$server_ids.") AND ".$app->tform->getAuthSQL('r')." ORDER BY domain"); + + $records_new = array(); + if(is_array($records)) { + foreach($records as $rec) { + $key = $rec['domain_id']; + $records_new[$key] = $rec['domain']; + } + } + return $records_new; + } + function client_servers($field, $record) { global $app, $conf; -- Gitblit v1.9.1