diff --git a/lib/classes/aps/class.ApsInstaller.php b/lib/classes/aps/class.ApsInstaller.php index 4529ab7e..2f882449 100644 --- a/lib/classes/aps/class.ApsInstaller.php +++ b/lib/classes/aps/class.ApsInstaller.php @@ -269,18 +269,23 @@ class ApsInstaller extends ApsParser $this->db->query('DELETE FROM `' . TABLE_APS_INSTANCES . '` WHERE `ID` = ' . $this->db->escape($Row['InstanceID'])); $this->db->query('DELETE FROM `' . TABLE_APS_SETTINGS . '` WHERE `InstanceID` = ' . $this->db->escape($Row['InstanceID'])); - //remove data, #273 - if($this->DomainPath != '' && $this->DomainPath != '/') { - self::UnlinkRecursive($this->RealPath . $this->DomainPath . '/'); - } else { - // save awstats/webalizer folder if it's the docroot - self::UnlinkRecursive($this->RealPath . $this->DomainPath . '/', true); - // place standard-index file - $loginname = getLoginNameByUid($Row['CustomerID']); - if($loginname !== false) - { - storeDefaultIndex($loginname, $this->RealPath . $this->DomainPath . '/'); - } + if($this->DomainPath != '' && checkDisallowedPaths($this->DomainPath)) + { + $documentroot = getCustomerDetail($Row['CustomerID'],'documentroot'); + + //remove data, #273 + if($this->DomainPath != $documentroot) { + self::UnlinkRecursive($this->RealPath . $this->DomainPath . '/'); + } else { + // save awstats/webalizer folder if it's the docroot + self::UnlinkRecursive($this->RealPath . $this->DomainPath . '/', true); + // place standard-index file + $loginname = getLoginNameByUid($Row['CustomerID']); + if($loginname !== false) + { + storeDefaultIndex($loginname, $this->RealPath . $this->DomainPath . '/'); + } + } } } }