From ff5aeda5f7e6cde282297854f181903ca6530162 Mon Sep 17 00:00:00 2001 From: robvde Date: Thu, 25 Oct 2012 15:28:40 +0400 Subject: [PATCH] Fixed: Web => wildcard identifiers removed from dns when deleting website when removing last website --- .../Code/WebServers/WebServerController.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs index 92492464..368ad65c 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Code/WebServers/WebServerController.cs @@ -604,6 +604,29 @@ namespace WebsitePanel.EnterpriseServer if(domain != null) DeleteWebSitePointer(siteItemId, domain.DomainId, false, true, true); + List sites = WebServerController.GetWebSites(domain.PackageId, false); + bool oneSiteOnly = (sites.Count == 1); + + if (oneSiteOnly) + { + // load site item + IPAddressInfo ip = ServerController.GetIPAddress(sites[0].SiteIPAddressId); + + string serviceIp = (ip != null) ? ip.ExternalIP : null; + + if (string.IsNullOrEmpty(serviceIp)) + { + StringDictionary settings = ServerController.GetServiceSettings(sites[0].ServiceId); + if (settings["PublicSharedIP"] != null) + serviceIp = settings["PublicSharedIP"].ToString(); + } + + ServerController.RemoveServiceDNSRecords(domain.PackageId, ResourceGroups.Web, domain, serviceIp, true); + } + + + + // delete web site WebServer web = new WebServer(); ServiceProviderProxy.Init(web, siteItem.ServiceId);