Skip to content

Commit 6a596ea

Browse files
author
Marius Burkard
committed
- fixed parent domain not reset on databases when it is deleted, fixes #4760
1 parent 1083ffc commit 6a596ea

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

install/sql/incremental/upd_dev_collection.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@ CHANGE `warnbadhrecip` `warnbadhrecip` ENUM('N','Y') CHARACTER SET utf8 COLLATE
1717
ALTER TABLE `dns_rr` CHANGE `data` `data` TEXT NOT NULL;
1818
ALTER TABLE `web_database` CHANGE `database_quota` `database_quota` INT(11) NULL DEFAULT NULL;
1919
ALTER TABLE `web_domain` ADD `log_retention` INT NOT NULL DEFAULT '30' ;
20-
ALTER TABLE spamfilter_policy CHANGE spam_tag_level spam_tag_level DECIMAL(5,2) NULL DEFAULT NULL, CHANGE spam_tag2_level spam_tag2_level DECIMAL(5,2) NULL DEFAULT NULL, CHANGE spam_kill_level spam_kill_level DECIMAL(5,2) NULL DEFAULT NULL, CHANGE spam_dsn_cutoff_level spam_dsn_cutoff_level DECIMAL(5,2) NULL DEFAULT NULL, CHANGE spam_quarantine_cutoff_level spam_quarantine_cutoff_level DECIMAL(5,2) NULL DEFAULT NULL;
20+
ALTER TABLE spamfilter_policy CHANGE spam_tag_level spam_tag_level DECIMAL(5,2) NULL DEFAULT NULL, CHANGE spam_tag2_level spam_tag2_level DECIMAL(5,2) NULL DEFAULT NULL, CHANGE spam_kill_level spam_kill_level DECIMAL(5,2) NULL DEFAULT NULL, CHANGE spam_dsn_cutoff_level spam_dsn_cutoff_level DECIMAL(5,2) NULL DEFAULT NULL, CHANGE spam_quarantine_cutoff_level spam_quarantine_cutoff_level DECIMAL(5,2) NULL DEFAULT NULL;
21+
UPDATE `web_database` as d LEFT JOIN `web_domain` as w ON (w.domain_id = d.parent_domain_id) SET d.parent_domain_id = 0 WHERE w.domain_id IS NULL AND d.parent_domain_id != 0;

interface/web/sites/web_vhost_domain_del.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,14 @@ function onBeforeDelete() {
120120
}
121121
}
122122
}
123+
124+
//* Remove parent_domain_id from databases
125+
$records = $app->db->queryAllRecords("SELECT database_id FROM web_database WHERE parent_domain_id = ?", $this->id);
126+
foreach($records as $rec) {
127+
$app->db->datalogUpdate('web_database', array('parent_domain_id' => 0), 'database_id', $rec['database_id']);
128+
}
123129
}
124-
130+
125131
//* Delete all web folders
126132
$records = $app->db->queryAllRecords("SELECT web_folder_id FROM web_folder WHERE parent_domain_id = ?", $this->id);
127133
foreach($records as $rec) {

0 commit comments

Comments
 (0)