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/web/sites/web_aliasdomain_edit.php | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/interface/web/sites/web_aliasdomain_edit.php b/interface/web/sites/web_aliasdomain_edit.php index 1a3a483..6cff9e8 100644 --- a/interface/web/sites/web_aliasdomain_edit.php +++ b/interface/web/sites/web_aliasdomain_edit.php @@ -130,6 +130,9 @@ $this->parent_domain_record = $parent_domain; + //* make sure that the domain is lowercase + if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]); + parent::onSubmit(); } @@ -140,6 +143,31 @@ } + function onAfterUpdate() { + global $app, $conf; + + //* Check if parent domain has been changed + if($this->dataRecord['parent_domain_id'] != $this->oldDataRecord['parent_domain_id']) { + + //* Update the domain owner + $app->db->query('UPDATE web_domain SET sys_groupid = '.intval($this->parent_domain_record['sys_groupid']).' WHERE domain_id = '.$this->id); + + //* Update the old website, so that the vhost alias gets removed + //* We force the update by inserting a transaction record without changes manually. + $old_website = $app->db->queryOneRecord('SELECT * FROM web_domain WHERE domain_id = '.$this->oldDataRecord['domain_id']); + $diffrec_full = array(); + $diffrec_full['old'] = $old_website; + $diffrec_full['new'] = $old_website; + $diffstr = $app->db->quote(serialize($diffrec_full)); + $username = $app->db->quote($_SESSION['s']['user']['username']); + $dbidx = 'domsin_id:'.$this->id; + $server_id = $this->oldDataRecord['server_id']; + $sql = "INSERT INTO sys_datalog (dbtable,dbidx,server_id,action,tstamp,user,data) VALUES ('web_domain','$dbidx','$server_id','u','".time()."','$username','$diffstr')"; + $app->db->query($sql); + } + + } + } $page = new page_action; -- Gitblit v1.9.1