Fixed: When onboarding a tenant with resources all globaldnsrecords are

interpreted and created, even when service offering is not subscribed or not
used yet.

Service globaldnsrecords are ignored when onboarding a tenant. Virtual Server
and Server globaldnsrecords are applied when onboarding a user

Service globaldns records are now applied when service is applied/activated

DNS record definitions removed for those services where no globaldnsrecords are
user

TaskManager unhandled exception handled
This commit is contained in:
robvde 2012-10-24 13:05:14 +04:00
parent 2907c27592
commit 75ca39ea5f
13 changed files with 458 additions and 109 deletions

View file

@ -6038,4 +6038,134 @@ SET
WHERE
DomainID = @DomainID
RETURN
GO
GO
ALTER PROCEDURE [dbo].[GetDnsRecordsTotal]
(
@ActorID int,
@PackageID int
)
AS
-- check rights
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
RAISERROR('You are not allowed to access this package', 16, 1)
-- create temp table for DNS records
DECLARE @Records TABLE
(
RecordID int,
RecordType nvarchar(10) COLLATE Latin1_General_CI_AS,
RecordName nvarchar(50) COLLATE Latin1_General_CI_AS
)
-- select PACKAGES DNS records
DECLARE @ParentPackageID int, @TmpPackageID int
SET @TmpPackageID = @PackageID
WHILE 10 = 10
BEGIN
-- get DNS records for the current package
INSERT INTO @Records (RecordID, RecordType, RecordName)
SELECT
GR.RecordID,
GR.RecordType,
GR.RecordName
FROM GlobalDNSRecords AS GR
WHERE GR.PackageID = @TmpPackageID
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
SET @ParentPackageID = NULL
-- get parent package
SELECT
@ParentPackageID = ParentPackageID
FROM Packages
WHERE PackageID = @TmpPackageID
IF @ParentPackageID IS NULL -- the last parent
BREAK
SET @TmpPackageID = @ParentPackageID
END
-- select VIRTUAL SERVER DNS records
DECLARE @ServerID int
SELECT @ServerID = ServerID FROM Packages
WHERE PackageID = @PackageID
INSERT INTO @Records (RecordID, RecordType, RecordName)
SELECT
GR.RecordID,
GR.RecordType,
GR.RecordName
FROM GlobalDNSRecords AS GR
WHERE GR.ServerID = @ServerID
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
-- select SERVER DNS records
INSERT INTO @Records (RecordID, RecordType, RecordName)
SELECT
GR.RecordID,
GR.RecordType,
GR.RecordName
FROM GlobalDNSRecords AS GR
WHERE GR.ServerID IN (SELECT
SRV.ServerID
FROM VirtualServices AS VS
INNER JOIN Services AS S ON VS.ServiceID = S.ServiceID
INNER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
WHERE VS.ServerID = @ServerID)
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
-- select SERVICES DNS records
-- re-distribute package services
EXEC DistributePackageServices @ActorID, @PackageID
--INSERT INTO @Records (RecordID, RecordType, RecordName)
--SELECT
-- GR.RecordID,
-- GR.RecordType,
-- GR.RecordName
-- FROM GlobalDNSRecords AS GR
-- WHERE GR.ServiceID IN (SELECT ServiceID FROM PackageServices WHERE PackageID = @PackageID)
-- AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
SELECT
NR.RecordID,
NR.ServiceID,
NR.ServerID,
NR.PackageID,
NR.RecordType,
NR.RecordName,
NR.RecordData,
NR.MXPriority,
NR.SrvPriority,
NR.SrvWeight,
NR.SrvPort,
NR.IPAddressID,
ISNULL(IP.ExternalIP, '') AS ExternalIP,
ISNULL(IP.InternalIP, '') AS InternalIP,
CASE
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
ELSE NR.RecordData
END AS FullRecordData,
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress
FROM @Records AS TR
INNER JOIN GlobalDnsRecords AS NR ON TR.RecordID = NR.RecordID
LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
RETURN
GO

View file

@ -194,7 +194,7 @@ namespace WebsitePanel.EnterpriseServer
return zoneItemId;
}
private static int RegisterZoneItems(int spaceId, int serviceId, string zoneName, bool primaryZone)
{
// zone item
@ -206,6 +206,7 @@ namespace WebsitePanel.EnterpriseServer
return zoneItemId;
}
public static int DeleteZone(int zoneItemId)
{
// delete DNS zone if applicable
@ -288,11 +289,12 @@ namespace WebsitePanel.EnterpriseServer
if (record.RecordType == "A" || record.RecordType == "AAAA")
{
// If the service IP address and the DNS records external address are empty / null SimpleDNS will fail to properly create the zone record
if (String.IsNullOrEmpty(serviceIP) && String.IsNullOrEmpty(record.ExternalIP))
if (String.IsNullOrEmpty(serviceIP) && String.IsNullOrEmpty(record.ExternalIP) && String.IsNullOrEmpty(record.RecordData))
continue;
rr.RecordData = String.IsNullOrEmpty(record.RecordData) ? record.ExternalIP : record.RecordData;
rr.RecordData = Utils.ReplaceStringVariable(rr.RecordData, "ip", string.IsNullOrEmpty(serviceIP) ? record.ExternalIP : serviceIP);
rr.RecordData = Utils.ReplaceStringVariable(rr.RecordData, "domain_name", string.IsNullOrEmpty(domainName) ? string.Empty : domainName);
if (String.IsNullOrEmpty(rr.RecordData) && !String.IsNullOrEmpty(serviceIP))
rr.RecordData = serviceIP;

View file

@ -455,6 +455,22 @@ namespace WebsitePanel.EnterpriseServer
break;
}
foreach (OrganizationDomainName d in domains)
{
DomainInfo domain = ServerController.GetDomain(d.DomainId);
//Add the service records
if (domain != null)
{
if (domain.ZoneItemId != 0)
{
ServerController.AddServiceDNSRecords(org.PackageId, ResourceGroups.Exchange, domain, "");
ServerController.AddServiceDNSRecords(org.PackageId, ResourceGroups.BlackBerry, domain, "");
ServerController.AddServiceDNSRecords(org.PackageId, ResourceGroups.OCS, domain, "");
}
}
}
// 4) Add the address book policy (Exchange 2010 SP2
//
@ -1414,7 +1430,16 @@ namespace WebsitePanel.EnterpriseServer
if (domains == null || Array.BinarySearch(domains, domain.DomainName) < 0)
hubTransportRole.AddAuthoritativeDomain(domain.DomainName);
break;
}
}
//Add the service records
if (domain != null)
{
if (domain.ZoneItemId != 0)
{
ServerController.AddServiceDNSRecords(org.PackageId, ResourceGroups.Exchange, domain, "");
}
}
return 0;
}
@ -1534,6 +1559,17 @@ namespace WebsitePanel.EnterpriseServer
}
//Add the service records
if (domain != null)
{
if (domain.ZoneItemId != 0)
{
ServerController.RemoveServiceDNSRecords(org.PackageId, ResourceGroups.Exchange, domain, "");
}
}
return 0;
}
catch (Exception ex)

View file

@ -208,6 +208,18 @@ namespace WebsitePanel.EnterpriseServer.Code.HostedSolution
}
else
{
DomainInfo domain = ServerController.GetDomain(org.DefaultDomain);
//Add the service records
if (domain != null)
{
if (domain.ZoneItemId != 0)
{
ServerController.AddServiceDNSRecords(org.PackageId, ResourceGroups.Lync, domain, "");
}
}
PackageController.UpdatePackageItem(org);
bReloadConfiguration = true;

View file

@ -40,6 +40,7 @@ using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.Providers.ResultObjects;
using WebsitePanel.Providers.SharePoint;
using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.DNS;
using System.IO;
using System.Xml;
@ -335,6 +336,17 @@ namespace WebsitePanel.EnterpriseServer
RollbackOrganization(packageId, organizationId);
return domainId;
}
DomainInfo domain = ServerController.GetDomain(domainId);
if (domain != null)
{
if (domain.ZoneItemId != 0)
{
ServerController.AddServiceDNSRecords(org.PackageId, ResourceGroups.HostedOrganizations, domain, "");
ServerController.AddServiceDNSRecords(org.PackageId, ResourceGroups.HostedCRM, domain, "");
}
}
PackageContext cntx = PackageController.GetPackageContext(packageId);
@ -367,60 +379,6 @@ namespace WebsitePanel.EnterpriseServer
PackageController.AddPackageItem(orgDomain);
if (cntx.Quotas[Quotas.EXCHANGE2007_MAILBOXES] != null)
{
// 5) Create default mailbox plans
// load user info
UserInfo user = PackageController.GetPackageOwner(org.PackageId);
// get settings
UserSettings userSettings = UserController.GetUserSettings(user.UserId, "ExchangeMailboxPlansPolicy");
if (!string.IsNullOrEmpty(userSettings[UserSettings.DEFAULT_MAILBOXPLANS]))
{
List<ExchangeMailboxPlan> list = new List<ExchangeMailboxPlan>();
XmlSerializer serializer = new XmlSerializer(list.GetType());
StringReader reader = new StringReader(userSettings[UserSettings.DEFAULT_MAILBOXPLANS]);
list = (List<ExchangeMailboxPlan>)serializer.Deserialize(reader);
foreach (ExchangeMailboxPlan p in list)
{
ExchangeServerController.AddExchangeMailboxPlan(itemId, p);
}
}
}
if (cntx.Quotas[Quotas.LYNC_USERS] != null)
{
// 5) Create default mailbox plans
// load user info
UserInfo user = PackageController.GetPackageOwner(org.PackageId);
// get settings
UserSettings userSettings = UserController.GetUserSettings(user.UserId, "LyncUserPlansPolicy");
if (!string.IsNullOrEmpty(userSettings[UserSettings.DEFAULT_LYNCUSERPLANS]))
{
List<LyncUserPlan> list = new List<LyncUserPlan>();
XmlSerializer serializer = new XmlSerializer(list.GetType());
StringReader reader = new StringReader(userSettings[UserSettings.DEFAULT_LYNCUSERPLANS]);
list = (List<LyncUserPlan>)serializer.Deserialize(reader);
foreach (LyncUserPlan p in list)
{
LyncController.AddLyncUserPlan(itemId, p);
}
}
}
}
catch (Exception ex)

View file

@ -1202,7 +1202,7 @@ namespace WebsitePanel.EnterpriseServer
return pointers;
}
public static int AddMailDomainPointer(int itemId, int domainId)
public static int AddMailDomainPointer( int itemId, int domainId)
{
// check account
int accountCheck = SecurityContext.CheckAccount(DemandAccount.NotDemo);
@ -1231,6 +1231,16 @@ namespace WebsitePanel.EnterpriseServer
ServiceProviderProxy.Init(mail, mailDomain.ServiceId);
mail.AddDomainAlias(mailDomain.Name, domain.DomainName);
if (domain != null)
{
if (domain.ZoneItemId != 0)
{
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Mail, domain, "");
}
}
// update domain
domain.MailDomainId = itemId;
ServerController.UpdateDomain(domain);

View file

@ -468,6 +468,16 @@ namespace WebsitePanel.EnterpriseServer
return result;
}
domain = ServerController.GetDomain(domainId);
if (domain != null)
{
if (domain.ZoneItemId != 0)
{
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Os, domain, "");
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Dns, domain, "");
}
}
if (createInstantAlias)
ServerController.CreateDomainInstantAlias("", domainId);

View file

@ -38,6 +38,7 @@ using WebsitePanel.Providers.DNS;
using WebsitePanel.Server;
using WebsitePanel.Providers.ResultObjects;
using WebsitePanel.Providers.Web;
using WebsitePanel.Providers.HostedSolution;
namespace WebsitePanel.EnterpriseServer
{
@ -1732,6 +1733,16 @@ namespace WebsitePanel.EnterpriseServer
if (domainId < 0)
return domainId;
DomainInfo domain = ServerController.GetDomain(domainId);
if (domain != null)
{
if (domain.ZoneItemId != 0)
{
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Os, domain, "");
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Dns, domain, "");
}
}
// add instant alias
createInstantAlias &= (domainType != DomainType.DomainPointer);
if (createInstantAlias)
@ -1900,6 +1911,86 @@ namespace WebsitePanel.EnterpriseServer
domain.WebSiteId, domain.MailDomainId, domain.IsSubDomain, domain.IsInstantAlias, domain.IsDomainPointer);
}
public static void AddServiceDNSRecords(int packageId, string groupName, DomainInfo domain, string serviceIP)
{
int serviceId = PackageController.GetPackageServiceId(packageId, groupName);
if (serviceId > 0)
{
List<DnsRecord> tmpZoneRecords = new List<DnsRecord>();
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(serviceId);
DnsZone zone = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId);
tmpZoneRecords.AddRange(DnsServerController.BuildDnsResourceRecords(dnsRecords, "", domain.ZoneName, serviceIP));
try
{
DNSServer dns = new DNSServer();
ServiceProviderProxy.Init(dns, zone.ServiceId);
DnsRecord[] domainRecords = dns.GetZoneRecords(domain.DomainName);
List<DnsRecord> zoneRecords = new List<DnsRecord>();
foreach (DnsRecord t in tmpZoneRecords)
{
if (!RecordDoesExist(t, domainRecords))
zoneRecords.Add(t);
}
// add new resource records
dns.AddZoneRecords(zone.Name, zoneRecords.ToArray());
}
catch (Exception ex1)
{
TaskManager.WriteError(ex1, "Error updating DNS records");
}
}
}
public static void RemoveServiceDNSRecords(int packageId, string groupName, DomainInfo domain, string serviceIP)
{
int serviceId = PackageController.GetPackageServiceId(packageId, groupName);
if (serviceId > 0)
{
List<DnsRecord> zoneRecords = new List<DnsRecord>();
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(serviceId);
DnsZone zone = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId);
zoneRecords.AddRange(DnsServerController.BuildDnsResourceRecords(dnsRecords, "", domain.ZoneName, serviceIP));
try
{
DNSServer dns = new DNSServer();
ServiceProviderProxy.Init(dns, zone.ServiceId);
// add new resource records
dns.DeleteZoneRecords(zone.Name, zoneRecords.ToArray());
}
catch (Exception ex1)
{
TaskManager.WriteError(ex1, "Error updating DNS records");
}
}
}
private static bool RecordDoesExist(DnsRecord record, DnsRecord[] domainRecords)
{
foreach (DnsRecord d in domainRecords)
{
if ((record.RecordName.ToLower() == d.RecordName.ToLower()) &
(record.RecordType == d.RecordType))
{
return true;
}
}
return false;
}
public static int UpdateDomain(DomainInfo domain)
{
// check account
@ -2159,6 +2250,110 @@ namespace WebsitePanel.EnterpriseServer
// update domain
domain.ZoneItemId = zoneItemId;
UpdateDomain(domain);
domain = GetDomain(domainId);
PackageContext cntx = PackageController.GetPackageContext(domain.PackageId);
if (cntx != null)
{
// fill dictionaries
foreach (HostingPlanGroupInfo group in cntx.GroupsArray)
{
try
{
bool bFound = false;
switch (group.GroupName)
{
case ResourceGroups.Dns:
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Dns, domain, "");
break;
case ResourceGroups.Os:
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Os, domain, "");
break;
case ResourceGroups.HostedOrganizations:
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.HostedOrganizations, domain, "");
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.HostedCRM, domain, "");
break;
case ResourceGroups.Mail:
List<DomainInfo> myDomains = ServerController.GetMyDomains(domain.PackageId);
foreach (DomainInfo mailDomain in myDomains)
{
if ((mailDomain.MailDomainId != 0) && (domain.DomainName.ToLower() == mailDomain.DomainName.ToLower()))
{
bFound = true;
break;
}
}
if (bFound) ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Mail, domain, "");
break;
case ResourceGroups.Exchange:
List<Organization> orgs = OrganizationController.GetOrganizations(domain.PackageId, false);
foreach (Organization o in orgs)
{
List<OrganizationDomainName> names = OrganizationController.GetOrganizationDomains(o.Id);
foreach (OrganizationDomainName name in names)
{
if (domain.DomainName.ToLower() == name.DomainName.ToLower())
{
bFound = true;
break;
}
}
if (bFound) break;
}
if (bFound)
{
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Exchange, domain, "");
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.BlackBerry, domain, "");
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.OCS, domain, "");
}
break;
case ResourceGroups.Lync:
List<Organization> orgsLync = OrganizationController.GetOrganizations(domain.PackageId, false);
foreach (Organization o in orgsLync)
{
if ((o.DefaultDomain.ToLower() == domain.DomainName.ToLower()) &
(o.LyncTenantId != null))
{
bFound = true;
break;
}
}
if (bFound)
{
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Lync, domain, "");
}
break;
case ResourceGroups.Web:
List<WebSite> sites = WebServerController.GetWebSites(domain.PackageId, false);
foreach (WebSite w in sites)
{
if (w.SiteId.ToLower().Replace("." + domain.DomainName.ToLower(), "").IndexOf('.') == -1)
{
WebServerController.AddWebSitePointer(w.Id, w.SiteId.ToLower().Replace("." + domain.DomainName.ToLower(), ""), domain.DomainId, false, true, true);
}
List<DomainInfo> pointers = WebServerController.GetWebSitePointers(w.Id);
foreach (DomainInfo pointer in pointers)
{
if (pointer.DomainName.ToLower().Replace("." + domain.DomainName.ToLower(), "").IndexOf('.') == -1)
{
WebServerController.AddWebSitePointer(w.Id, pointer.DomainName.ToLower().Replace("." + domain.DomainName.ToLower(), ""), domain.DomainId, false, true, true);
}
}
}
break;
}
}
catch (Exception ex)
{
TaskManager.WriteError(ex);
}
}
}
}
// add web site DNS records

View file

@ -331,27 +331,13 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint
string hostName = tmpStr[0];
string domainName = siteName.Substring(hostName.Length + 1, siteName.Length - (hostName.Length + 1));
DomainInfo domain = ServerController.GetDomain(domainName);
if (domain != null)
{
string website = siteName;
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(serviceId);
List<DnsRecord> resourceRecords = DnsServerController.BuildDnsResourceRecords(dnsRecords, hostName, domainName, "");
DNSServer dns = new DNSServer();
DnsRecord[] records = ServerController.GetDnsZoneRecords(domain.DomainId);
foreach (DnsRecord record in records)
{
var type = record.RecordType;
if ((type == DnsRecordType.A || type == DnsRecordType.AAAA) && String.IsNullOrEmpty(record.RecordName))
{
ServerController.DeleteDnsZoneRecord(domain.DomainId, String.Empty, type, record.RecordData);
break;
}
}
ServerController.AddDnsZoneRecord(domain.DomainId, hostName, DnsRecordType.A, hostedSharePointSettings["RootWebApplicationIpAddress"], 0, 0, 0, 0);
var ip = hostedSharePointSettings["RootWebApplicationIpAddress"];
var type2 = ip.Contains(":") ? DnsRecordType.AAAA : DnsRecordType.A;
ServerController.AddDnsZoneRecord(domain.DomainId, String.Empty, type2, ip, 0, 0, 0, 0);
}
ServiceProviderProxy.Init(dns, dnsServiceId);
// add new resource records
dns.AddZoneRecords(domainName, resourceRecords.ToArray());
}
TaskManager.ItemId = itemId;
@ -412,27 +398,13 @@ namespace WebsitePanel.EnterpriseServer.Code.SharePoint
string hostName = tmpStr[0];
string domainName = siteName.Substring(hostName.Length + 1, siteName.Length - (hostName.Length + 1));
DomainInfo domain = ServerController.GetDomain(domainName);
if (domain != null)
{
var ip = hostedSharePointSettings["RootWebApplicationIpAddress"];
var type = ip.Contains(":") ? DnsRecordType.AAAA : DnsRecordType.A;
ServerController.DeleteDnsZoneRecord(domain.DomainId, String.Empty, type, ip);
ServerController.DeleteDnsZoneRecord(domain.DomainId, "www", type, ip);
if (!String.IsNullOrEmpty(domain.WebSiteName))
{
DnsRecord[] records = ServerController.GetDnsZoneRecords(domain.DomainId);
foreach (DnsRecord record in records)
{
type = record.RecordType;
if ((type == DnsRecordType.A || type == DnsRecordType.AAAA) && record.RecordName.Equals("www", StringComparison.CurrentCultureIgnoreCase))
{
ServerController.AddDnsZoneRecord(domain.DomainId, String.Empty, DnsRecordType.A, record.RecordData, 0, 0, 0, 0);
break;
}
}
}
}
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(origItem.ServiceId);
List<DnsRecord> resourceRecords = DnsServerController.BuildDnsResourceRecords(dnsRecords, hostName, domainName, "");
DNSServer dns = new DNSServer();
ServiceProviderProxy.Init(dns, dnsServiceId);
// add new resource records
dns.DeleteZoneRecords(domainName, resourceRecords.ToArray());
}
return 0;

View file

@ -398,12 +398,18 @@ namespace WebsitePanel.EnterpriseServer
public static Dictionary<int, BackgroundTask> GetScheduledTasks()
{
Dictionary<int, BackgroundTask> scheduledTasks = new Dictionary<int, BackgroundTask>();
foreach (BackgroundTask task in tasks.Values)
try
{
foreach (BackgroundTask task in tasks.Values)
{
if (task.ScheduleId > 0
&& !task.Completed
&& !scheduledTasks.ContainsKey(task.ScheduleId))
scheduledTasks.Add(task.ScheduleId, task);
}
}
catch (Exception)
{
if (task.ScheduleId > 0
&& !task.Completed
&& !scheduledTasks.ContainsKey(task.ScheduleId))
scheduledTasks.Add(task.ScheduleId, task);
}
return scheduledTasks;
}

View file

@ -723,7 +723,7 @@ namespace WebsitePanel.EnterpriseServer
foreach (DomainInfo pointer in pointers)
{
ZoneInfo = ServerController.GetDomain(domain.ZoneName);
ZoneInfo = ServerController.GetDomain(pointer.ZoneName);
AddWebSitePointer(siteItemId,
(pointer.DomainName.Replace("." + pointer.ZoneName, "") == pointer.ZoneName) ? "" : pointer.DomainName.Replace("." + pointer.ZoneName, "")
@ -851,7 +851,7 @@ namespace WebsitePanel.EnterpriseServer
foreach (DomainInfo pointer in pointers)
{
ZoneInfo = ServerController.GetDomain(domain.ZoneName);
ZoneInfo = ServerController.GetDomain(pointer.ZoneName);
AddWebSitePointer(siteItemId,
(pointer.DomainName.Replace("." + pointer.ZoneName, "") == pointer.ZoneName) ? "" : pointer.DomainName.Replace("." + pointer.ZoneName, "")

View file

@ -9,7 +9,7 @@
<add name="EnterpriseServer" connectionString="server=HSTPROV01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=aj7ep6fyhmw3b5qeth7c;" />
<add name="EnterpriseServer" connectionString="server=HSTWSP01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=pserxfbnlc6hwmdedbp0;" providerName="System.Data.SqlClient" />
-->
<add name="EnterpriseServer" connectionString="server=HSTWSP01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=pserxfbnlc6hwmdedbp0;" providerName="System.Data.SqlClient" />
<add name="EnterpriseServer" connectionString="server=HSTPROV01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=aj7ep6fyhmw3b5qeth7c;" />
</connectionStrings>
<appSettings>
<!-- A1D4KDHUE83NKHddF -->
@ -17,7 +17,7 @@
<add key="WebsitePanel.CryptoKey" value="3x7eqt7zabc5n5afs6dg" />
<add key="WebsitePanel.CryptoKey" value="fr2ym4wn2gmbrj7dz336" />
-->
<add key="WebsitePanel.CryptoKey" value="fr2ym4wn2gmbrj7dz336" />
<add key="WebsitePanel.CryptoKey" value="3x7eqt7zabc5n5afs6dg" />
<!-- A1D4KDHUE83NKHddF -->
<add key="WebsitePanel.EncryptionEnabled" value="true" />
<!-- Web Applications -->

View file

@ -66,6 +66,7 @@ namespace WebsitePanel.Portal
BindService();
BindServiceProperties();
BindServiceQuota();
ToggleGlobalDNS();
}
}
catch (Exception ex)
@ -151,6 +152,23 @@ namespace WebsitePanel.Portal
ctrl.BindSettings(ConvertArrayToDictionary(settings));
}
private void ToggleGlobalDNS()
{
DnsRecrodsPanel.Visible = DnsRecrodsHeader.Visible = ((resourceGroup.GroupName == ResourceGroups.BlackBerry) |
(resourceGroup.GroupName == ResourceGroups.OCS)|
(resourceGroup.GroupName == ResourceGroups.HostedCRM)|
(resourceGroup.GroupName == ResourceGroups.Os)|
(resourceGroup.GroupName == ResourceGroups.HostedOrganizations) |
(resourceGroup.GroupName == ResourceGroups.HostedSharePoint) |
(resourceGroup.GroupName == ResourceGroups.Mail)|
(resourceGroup.GroupName == ResourceGroups.Lync)|
(resourceGroup.GroupName == ResourceGroups.Exchange)|
(resourceGroup.GroupName == ResourceGroups.Web)|
(resourceGroup.GroupName == ResourceGroups.Dns));
}
private void SaveServiceProperties()
{
// find control