Fixed; HostedHeader mode disabled creates wrong bindings, dns records when

creating instant alias
This commit is contained in:
robvde 2012-11-01 10:29:42 +04:00
parent 3052a9031a
commit 8f694e0756
2 changed files with 63 additions and 12 deletions

View file

@ -2495,10 +2495,20 @@ namespace WebsitePanel.EnterpriseServer
instantAlias = GetDomainItem(instantAliasId); instantAlias = GetDomainItem(instantAliasId);
} }
string parentZone = domain.ZoneName;
if (string.IsNullOrEmpty(parentZone))
{
DomainInfo parentDomain = GetDomain(domain.DomainId);
parentZone = parentDomain.DomainName;
}
if (domain.WebSiteId > 0) if (domain.WebSiteId > 0)
{ {
WebServerController.AddWebSitePointer(domain.WebSiteId, WebServerController.AddWebSitePointer(domain.WebSiteId,
(domain.DomainName.Replace("." + domain.ZoneName, "") == domain.ZoneName) ? "" : domain.DomainName.Replace("." + domain.ZoneName, ""), ((domain.DomainName.Replace("." + parentZone, "") == parentZone) |
(domain.DomainName == parentZone))
? "" : domain.DomainName.Replace("." + parentZone, ""),
instantAlias.DomainId); instantAlias.DomainId);
} }
@ -2507,12 +2517,14 @@ namespace WebsitePanel.EnterpriseServer
List<DomainInfo> domains = GetDomainsByDomainItemId(domain.DomainId); List<DomainInfo> domains = GetDomainsByDomainItemId(domain.DomainId);
foreach (DomainInfo d in domains) foreach (DomainInfo d in domains)
{ {
if (d.WebSiteId > 0) if (d.WebSiteId > 0)
{ {
WebServerController.AddWebSitePointer(d.WebSiteId, WebServerController.AddWebSitePointer(d.WebSiteId,
(d.DomainName.Replace("." + domain.ZoneName, "") == domain.ZoneName) ? "" : d.DomainName.Replace("." + domain.ZoneName, ""), ((d.DomainName.Replace("." + parentZone, "") == parentZone) |
(d.DomainName == parentZone))
? "" : d.DomainName.Replace("." + parentZone, ""),
instantAlias.DomainId); instantAlias.DomainId);
} }
} }

View file

@ -709,7 +709,7 @@ namespace WebsitePanel.EnterpriseServer
// remove all web site pointers // remove all web site pointers
DomainInfo domain = ServerController.GetDomain(siteItem.Name); DomainInfo domain = ServerController.GetDomain(siteItem.Name);
DomainInfo ZoneInfo = ServerController.GetDomain(domain.ZoneName); DomainInfo ZoneInfo = ServerController.GetDomain(domain.DomainItemId);
if (ZoneInfo == null) if (ZoneInfo == null)
throw new Exception("Parent zone not found"); throw new Exception("Parent zone not found");
@ -775,18 +775,38 @@ namespace WebsitePanel.EnterpriseServer
// associate IP with web site // associate IP with web site
ServerController.AddItemIPAddress(siteItemId, ipAddressId); ServerController.AddItemIPAddress(siteItemId, ipAddressId);
string parentZone = domain.ZoneName;
if (string.IsNullOrEmpty(parentZone))
{
DomainInfo parentDomain = ServerController.GetDomain(domain.DomainItemId);
parentZone = parentDomain.DomainName;
}
AddWebSitePointer(siteItemId, AddWebSitePointer(siteItemId,
(domain.DomainName.Replace("." + domain.ZoneName, "") == domain.ZoneName) ? "": domain.DomainName.Replace("." + domain.ZoneName,"") ((domain.DomainName.Replace("." + parentZone, "") == parentZone) |
(domain.DomainName == parentZone))
? "" : domain.DomainName.Replace("." + parentZone, "")
, ZoneInfo.DomainId, true, true, true); , ZoneInfo.DomainId, true, true, true);
foreach (DomainInfo pointer in pointers) foreach (DomainInfo pointer in pointers)
{ {
ZoneInfo = ServerController.GetDomain(pointer.ZoneName); string pointerParentZone = pointer.ZoneName;
if (string.IsNullOrEmpty(pointerParentZone))
{
DomainInfo parentDomain = ServerController.GetDomain(pointer.DomainItemId);
pointerParentZone = parentDomain.DomainName;
}
ZoneInfo = ServerController.GetDomain(pointerParentZone);
AddWebSitePointer(siteItemId, AddWebSitePointer(siteItemId,
(pointer.DomainName.Replace("." + pointer.ZoneName, "") == pointer.ZoneName) ? "" : pointer.DomainName.Replace("." + pointer.ZoneName, "") ((pointer.DomainName.Replace("." + pointerParentZone, "") == pointerParentZone) |
(pointer.DomainName == pointerParentZone))
? "" : pointer.DomainName.Replace("." + pointerParentZone, "")
, ZoneInfo.DomainId, true, true, true); , ZoneInfo.DomainId, true, true, true);
} }
@ -864,7 +884,7 @@ namespace WebsitePanel.EnterpriseServer
IPAddressInfo ip; IPAddressInfo ip;
DomainInfo domain = ServerController.GetDomain(siteItem.Name); DomainInfo domain = ServerController.GetDomain(siteItem.Name);
DomainInfo ZoneInfo = ServerController.GetDomain(domain.ZoneName); DomainInfo ZoneInfo = ServerController.GetDomain(domain.DomainItemId);
if (ZoneInfo == null) if (ZoneInfo == null)
throw new Exception("Parent zone not found"); throw new Exception("Parent zone not found");
@ -956,16 +976,35 @@ namespace WebsitePanel.EnterpriseServer
siteItem.SiteIPAddressId = 0; siteItem.SiteIPAddressId = 0;
PackageController.UpdatePackageItem(siteItem); PackageController.UpdatePackageItem(siteItem);
string parentZone = domain.ZoneName;
if (string.IsNullOrEmpty(parentZone))
{
DomainInfo parentDomain = ServerController.GetDomain(domain.DomainItemId);
parentZone = parentDomain.DomainName;
}
AddWebSitePointer(siteItemId, AddWebSitePointer(siteItemId,
(domain.DomainName.Replace("." + domain.ZoneName, "") == domain.ZoneName) ? "" : domain.DomainName.Replace("." + domain.ZoneName, "") ((domain.DomainName.Replace("." + parentZone, "") == parentZone) |
(domain.DomainName == parentZone))
? "" : domain.DomainName.Replace("." + parentZone, "")
, ZoneInfo.DomainId, true, true, true); , ZoneInfo.DomainId, true, true, true);
foreach (DomainInfo pointer in pointers) foreach (DomainInfo pointer in pointers)
{ {
ZoneInfo = ServerController.GetDomain(pointer.ZoneName); string pointerParentZone = pointer.ZoneName;
if (string.IsNullOrEmpty(pointerParentZone))
{
DomainInfo parentDomain = ServerController.GetDomain(pointer.DomainItemId);
pointerParentZone = parentDomain.DomainName;
}
ZoneInfo = ServerController.GetDomain(pointerParentZone);
AddWebSitePointer(siteItemId, AddWebSitePointer(siteItemId,
(pointer.DomainName.Replace("." + pointer.ZoneName, "") == pointer.ZoneName) ? "" : pointer.DomainName.Replace("." + pointer.ZoneName, "") ((pointer.DomainName.Replace("." + pointerParentZone, "") == pointerParentZone) |
(pointer.DomainName == pointerParentZone))
? "" : pointer.DomainName.Replace("." + pointerParentZone, "")
, ZoneInfo.DomainId, true, true, true); , ZoneInfo.DomainId, true, true, true);
} }