Added: Support for "@" and "*" records for enabled/disable dns and ip mode
switch. Only when only one site exists. Fixed: Smartermail domain retrieval to handle records with same domain name Fixed: Added not-domain dependendent services globaldnssupport upon space or domain creation
This commit is contained in:
parent
f067884ec4
commit
aafb82015b
14 changed files with 839 additions and 313 deletions
|
@ -5922,42 +5922,6 @@ GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetDomainByNameByPointer')
|
|
||||||
BEGIN
|
|
||||||
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetDomainByNameByPointer]
|
|
||||||
(
|
|
||||||
@ActorID int,
|
|
||||||
@DomainName nvarchar(100),
|
|
||||||
@IsDomainPointer bit
|
|
||||||
)
|
|
||||||
AS
|
|
||||||
|
|
||||||
SELECT
|
|
||||||
D.DomainID,
|
|
||||||
D.PackageID,
|
|
||||||
D.ZoneItemID,
|
|
||||||
D.DomainName,
|
|
||||||
D.HostingAllowed,
|
|
||||||
ISNULL(D.WebSiteID, 0) AS WebSiteID,
|
|
||||||
WS.ItemName AS WebSiteName,
|
|
||||||
ISNULL(D.MailDomainID, 0) AS MailDomainID,
|
|
||||||
MD.ItemName AS MailDomainName,
|
|
||||||
Z.ItemName AS ZoneName,
|
|
||||||
D.IsSubDomain,
|
|
||||||
D.IsInstantAlias,
|
|
||||||
D.IsDomainPointer
|
|
||||||
FROM Domains AS D
|
|
||||||
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
|
||||||
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
|
||||||
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
|
||||||
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
|
||||||
WHERE
|
|
||||||
D.DomainName = @DomainName
|
|
||||||
AND D.IsDomainPointer = @IsDomainPointer
|
|
||||||
AND dbo.CheckActorPackageRights(@ActorID, P.PackageID) = 1
|
|
||||||
RETURN'
|
|
||||||
END
|
|
||||||
GO
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -6169,3 +6133,286 @@ LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
GO
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDomainByName]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@DomainName nvarchar(100),
|
||||||
|
@SearchOnDomainPointer bit,
|
||||||
|
@IsDomainPointer bit
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
IF (@SearchOnDomainPointer = 1)
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
D.DomainID,
|
||||||
|
D.PackageID,
|
||||||
|
D.ZoneItemID,
|
||||||
|
D.DomainItemID,
|
||||||
|
D.DomainName,
|
||||||
|
D.HostingAllowed,
|
||||||
|
ISNULL(D.WebSiteID, 0) AS WebSiteID,
|
||||||
|
WS.ItemName AS WebSiteName,
|
||||||
|
ISNULL(D.MailDomainID, 0) AS MailDomainID,
|
||||||
|
MD.ItemName AS MailDomainName,
|
||||||
|
Z.ItemName AS ZoneName,
|
||||||
|
D.IsSubDomain,
|
||||||
|
D.IsInstantAlias,
|
||||||
|
D.IsDomainPointer
|
||||||
|
FROM Domains AS D
|
||||||
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
|
WHERE
|
||||||
|
D.DomainName = @DomainName
|
||||||
|
AND D.IsDomainPointer = @IsDomainPointer
|
||||||
|
AND dbo.CheckActorPackageRights(@ActorID, P.PackageID) = 1
|
||||||
|
RETURN
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
D.DomainID,
|
||||||
|
D.PackageID,
|
||||||
|
D.ZoneItemID,
|
||||||
|
D.DomainItemID,
|
||||||
|
D.DomainName,
|
||||||
|
D.HostingAllowed,
|
||||||
|
ISNULL(D.WebSiteID, 0) AS WebSiteID,
|
||||||
|
WS.ItemName AS WebSiteName,
|
||||||
|
ISNULL(D.MailDomainID, 0) AS MailDomainID,
|
||||||
|
MD.ItemName AS MailDomainName,
|
||||||
|
Z.ItemName AS ZoneName,
|
||||||
|
D.IsSubDomain,
|
||||||
|
D.IsInstantAlias,
|
||||||
|
D.IsDomainPointer
|
||||||
|
FROM Domains AS D
|
||||||
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
|
WHERE
|
||||||
|
D.DomainName = @DomainName
|
||||||
|
AND dbo.CheckActorPackageRights(@ActorID, P.PackageID) = 1
|
||||||
|
RETURN
|
||||||
|
END
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDomain]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@DomainID int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
D.DomainID,
|
||||||
|
D.PackageID,
|
||||||
|
D.ZoneItemID,
|
||||||
|
D.DomainItemID,
|
||||||
|
D.DomainName,
|
||||||
|
D.HostingAllowed,
|
||||||
|
ISNULL(WS.ItemID, 0) AS WebSiteID,
|
||||||
|
WS.ItemName AS WebSiteName,
|
||||||
|
ISNULL(MD.ItemID, 0) AS MailDomainID,
|
||||||
|
MD.ItemName AS MailDomainName,
|
||||||
|
Z.ItemName AS ZoneName,
|
||||||
|
D.IsSubDomain,
|
||||||
|
D.IsInstantAlias,
|
||||||
|
D.IsDomainPointer
|
||||||
|
FROM Domains AS D
|
||||||
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
|
WHERE
|
||||||
|
D.DomainID = @DomainID
|
||||||
|
AND dbo.CheckActorPackageRights(@ActorID, P.PackageID) = 1
|
||||||
|
RETURN
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDomains]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@PackageID int,
|
||||||
|
@Recursive bit = 1
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
-- check rights
|
||||||
|
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||||
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
D.DomainID,
|
||||||
|
D.PackageID,
|
||||||
|
D.ZoneItemID,
|
||||||
|
D.DomainItemID,
|
||||||
|
D.DomainName,
|
||||||
|
D.HostingAllowed,
|
||||||
|
ISNULL(WS.ItemID, 0) AS WebSiteID,
|
||||||
|
WS.ItemName AS WebSiteName,
|
||||||
|
ISNULL(MD.ItemID, 0) AS MailDomainID,
|
||||||
|
MD.ItemName AS MailDomainName,
|
||||||
|
Z.ItemName AS ZoneName,
|
||||||
|
D.IsSubDomain,
|
||||||
|
D.IsInstantAlias,
|
||||||
|
D.IsDomainPointer
|
||||||
|
FROM Domains AS D
|
||||||
|
INNER JOIN PackagesTree(@PackageID, @Recursive) AS PT ON D.PackageID = PT.PackageID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
|
RETURN
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDomainsByZoneID]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@ZoneID int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
D.DomainID,
|
||||||
|
D.PackageID,
|
||||||
|
D.ZoneItemID,
|
||||||
|
D.DomainItemID,
|
||||||
|
D.DomainName,
|
||||||
|
D.HostingAllowed,
|
||||||
|
ISNULL(D.WebSiteID, 0) AS WebSiteID,
|
||||||
|
WS.ItemName AS WebSiteName,
|
||||||
|
ISNULL(D.MailDomainID, 0) AS MailDomainID,
|
||||||
|
MD.ItemName AS MailDomainName,
|
||||||
|
Z.ItemName AS ZoneName,
|
||||||
|
D.IsSubDomain,
|
||||||
|
D.IsInstantAlias,
|
||||||
|
D.IsDomainPointer
|
||||||
|
FROM Domains AS D
|
||||||
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
|
WHERE
|
||||||
|
D.ZoneItemID = @ZoneID
|
||||||
|
AND dbo.CheckActorPackageRights(@ActorID, P.PackageID) = 1
|
||||||
|
RETURN
|
||||||
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[GetDomainsPaged]
|
||||||
|
(
|
||||||
|
@ActorID int,
|
||||||
|
@PackageID int,
|
||||||
|
@ServerID int,
|
||||||
|
@Recursive bit,
|
||||||
|
@FilterColumn nvarchar(50) = '',
|
||||||
|
@FilterValue nvarchar(50) = '',
|
||||||
|
@SortColumn nvarchar(50),
|
||||||
|
@StartRow int,
|
||||||
|
@MaximumRows int
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
SET NOCOUNT ON
|
||||||
|
|
||||||
|
-- check rights
|
||||||
|
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||||
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||||
|
|
||||||
|
-- build query and run it to the temporary table
|
||||||
|
DECLARE @sql nvarchar(2000)
|
||||||
|
|
||||||
|
IF @SortColumn = '' OR @SortColumn IS NULL
|
||||||
|
SET @SortColumn = 'DomainName'
|
||||||
|
|
||||||
|
SET @sql = '
|
||||||
|
DECLARE @Domains TABLE
|
||||||
|
(
|
||||||
|
ItemPosition int IDENTITY(1,1),
|
||||||
|
DomainID int
|
||||||
|
)
|
||||||
|
INSERT INTO @Domains (DomainID)
|
||||||
|
SELECT
|
||||||
|
D.DomainID
|
||||||
|
FROM Domains AS D
|
||||||
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
||||||
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
|
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
||||||
|
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
||||||
|
WHERE (D.IsInstantAlias = 0 AND D.IsDomainPointer = 0) AND
|
||||||
|
((@Recursive = 0 AND D.PackageID = @PackageID)
|
||||||
|
OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, D.PackageID) = 1))
|
||||||
|
AND (@ServerID = 0 OR (@ServerID > 0 AND S.ServerID = @ServerID))
|
||||||
|
'
|
||||||
|
|
||||||
|
IF @FilterColumn <> '' AND @FilterValue <> ''
|
||||||
|
SET @sql = @sql + ' AND ' + @FilterColumn + ' LIKE @FilterValue '
|
||||||
|
|
||||||
|
IF @SortColumn <> '' AND @SortColumn IS NOT NULL
|
||||||
|
SET @sql = @sql + ' ORDER BY ' + @SortColumn + ' '
|
||||||
|
|
||||||
|
SET @sql = @sql + ' SELECT COUNT(DomainID) FROM @Domains;SELECT
|
||||||
|
D.DomainID,
|
||||||
|
D.PackageID,
|
||||||
|
D.ZoneItemID,
|
||||||
|
D.DomainItemID,
|
||||||
|
D.DomainName,
|
||||||
|
D.HostingAllowed,
|
||||||
|
ISNULL(WS.ItemID, 0) AS WebSiteID,
|
||||||
|
WS.ItemName AS WebSiteName,
|
||||||
|
ISNULL(MD.ItemID, 0) AS MailDomainID,
|
||||||
|
MD.ItemName AS MailDomainName,
|
||||||
|
D.IsSubDomain,
|
||||||
|
D.IsInstantAlias,
|
||||||
|
D.IsDomainPointer,
|
||||||
|
|
||||||
|
-- packages
|
||||||
|
P.PackageName,
|
||||||
|
|
||||||
|
-- server
|
||||||
|
ISNULL(SRV.ServerID, 0) AS ServerID,
|
||||||
|
ISNULL(SRV.ServerName, '''') AS ServerName,
|
||||||
|
ISNULL(SRV.Comments, '''') AS ServerComments,
|
||||||
|
ISNULL(SRV.VirtualServer, 0) AS VirtualServer,
|
||||||
|
|
||||||
|
-- user
|
||||||
|
P.UserID,
|
||||||
|
U.Username,
|
||||||
|
U.FirstName,
|
||||||
|
U.LastName,
|
||||||
|
U.FullName,
|
||||||
|
U.RoleID,
|
||||||
|
U.Email
|
||||||
|
FROM @Domains AS SD
|
||||||
|
INNER JOIN Domains AS D ON SD.DomainID = D.DomainID
|
||||||
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
||||||
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
||||||
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
||||||
|
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
||||||
|
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
||||||
|
WHERE SD.ItemPosition BETWEEN @StartRow + 1 AND @StartRow + @MaximumRows'
|
||||||
|
|
||||||
|
exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @PackageID int, @FilterValue nvarchar(50), @ServerID int, @Recursive bit',
|
||||||
|
@StartRow, @MaximumRows, @PackageID, @FilterValue, @ServerID, @Recursive
|
||||||
|
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
GO
|
File diff suppressed because it is too large
Load diff
|
@ -785,21 +785,14 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
new SqlParameter("@domainId", domainId));
|
new SqlParameter("@domainId", domainId));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IDataReader GetDomainByName(int actorId, string domainName)
|
public static IDataReader GetDomainByName(int actorId, string domainName, bool searchOnDomainPointer, bool isDomainPointer)
|
||||||
{
|
{
|
||||||
return SqlHelper.ExecuteReader(ConnectionString, CommandType.StoredProcedure,
|
return SqlHelper.ExecuteReader(ConnectionString, CommandType.StoredProcedure,
|
||||||
ObjectQualifier + "GetDomainByName",
|
ObjectQualifier + "GetDomainByName",
|
||||||
new SqlParameter("@ActorId", actorId),
|
new SqlParameter("@ActorId", actorId),
|
||||||
new SqlParameter("@domainName", domainName));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static IDataReader GetDomainByNameByPointer(int actorId, string domainName, bool isDomainPointer)
|
|
||||||
{
|
|
||||||
return SqlHelper.ExecuteReader(ConnectionString, CommandType.StoredProcedure,
|
|
||||||
ObjectQualifier + "GetDomainByNameByPointer",
|
|
||||||
new SqlParameter("@ActorId", actorId),
|
|
||||||
new SqlParameter("@domainName", domainName),
|
new SqlParameter("@domainName", domainName),
|
||||||
new SqlParameter("@isDomainPointer", isDomainPointer));
|
new SqlParameter("@SearchOnDomainPointer", searchOnDomainPointer),
|
||||||
|
new SqlParameter("@IsDomainPointer", isDomainPointer));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1564,7 +1564,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
{
|
{
|
||||||
if (domain.ZoneItemId != 0)
|
if (domain.ZoneItemId != 0)
|
||||||
{
|
{
|
||||||
ServerController.RemoveServiceDNSRecords(org.PackageId, ResourceGroups.Exchange, domain, "");
|
ServerController.RemoveServiceDNSRecords(org.PackageId, ResourceGroups.Exchange, domain, "", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1051,7 +1051,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
int itemId = PackageController.AddPackageItem(item);
|
int itemId = PackageController.AddPackageItem(item);
|
||||||
|
|
||||||
// update related domain with a new pointer
|
// update related domain with a new pointer
|
||||||
DomainInfo domain = ServerController.GetDomain(item.Name);
|
DomainInfo domain = ServerController.GetDomain(item.Name, true, false);
|
||||||
if (domain != null)
|
if (domain != null)
|
||||||
{
|
{
|
||||||
domain.MailDomainId = itemId;
|
domain.MailDomainId = itemId;
|
||||||
|
@ -1065,7 +1065,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
if (!String.IsNullOrEmpty(domain.InstantAliasName))
|
if (!String.IsNullOrEmpty(domain.InstantAliasName))
|
||||||
{
|
{
|
||||||
// load instant alias
|
// load instant alias
|
||||||
DomainInfo instantAlias = ServerController.GetDomainItem(domain.InstantAliasName);
|
DomainInfo instantAlias = ServerController.GetDomain(domain.InstantAliasId);
|
||||||
if (instantAlias != null)
|
if (instantAlias != null)
|
||||||
{
|
{
|
||||||
AddMailDomainPointer(itemId, instantAlias.DomainId);
|
AddMailDomainPointer(itemId, instantAlias.DomainId);
|
||||||
|
@ -1164,7 +1164,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
PackageController.DeletePackageItem(origItem.Id);
|
PackageController.DeletePackageItem(origItem.Id);
|
||||||
|
|
||||||
// update related domain with a new pointer
|
// update related domain with a new pointer
|
||||||
DomainInfo domain = ServerController.GetDomain(origItem.Name);
|
DomainInfo domain = ServerController.GetDomain(origItem.Name, true, false);
|
||||||
if (domain != null)
|
if (domain != null)
|
||||||
{
|
{
|
||||||
domain.MailDomainId = 0;
|
domain.MailDomainId = 0;
|
||||||
|
@ -1487,7 +1487,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
// add/update domains/pointers
|
// add/update domains/pointers
|
||||||
foreach (string domainName in domains)
|
foreach (string domainName in domains)
|
||||||
{
|
{
|
||||||
DomainInfo domain = ServerController.GetDomain(domainName);
|
DomainInfo domain = ServerController.GetDomain(domainName, true, false);
|
||||||
if (domain == null)
|
if (domain == null)
|
||||||
{
|
{
|
||||||
domain = new DomainInfo();
|
domain = new DomainInfo();
|
||||||
|
|
|
@ -475,6 +475,16 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
{
|
{
|
||||||
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Os, domain, "");
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Os, domain, "");
|
||||||
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Dns, domain, "");
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Dns, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Ftp, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MsSql2000, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MsSql2005, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MsSql2008, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MsSql2012, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MySql4, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MySql5, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Statistics, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.VPS, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.VPSForPC, domain, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1651,13 +1651,16 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
public static DomainInfo GetDomain(string domainName)
|
public static DomainInfo GetDomain(string domainName)
|
||||||
{
|
{
|
||||||
// get domain by name
|
return ObjectUtils.FillObjectFromDataReader<DomainInfo>(
|
||||||
DomainInfo domain = GetDomainItem(domainName);
|
DataProvider.GetDomainByName(SecurityContext.User.UserId, domainName,false, false));
|
||||||
|
|
||||||
// return
|
|
||||||
return GetDomain(domain);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static DomainInfo GetDomain(string domainName, bool searchOnDomainPointer, bool isDomainPointer)
|
||||||
|
{
|
||||||
|
return GetDomainItem(domainName, searchOnDomainPointer, isDomainPointer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static DomainInfo GetDomain(DomainInfo domain)
|
private static DomainInfo GetDomain(DomainInfo domain)
|
||||||
{
|
{
|
||||||
// check domain
|
// check domain
|
||||||
|
@ -1666,7 +1669,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
// get instant alias
|
// get instant alias
|
||||||
domain.InstantAliasName = GetDomainAlias(domain.PackageId, domain.DomainName);
|
domain.InstantAliasName = GetDomainAlias(domain.PackageId, domain.DomainName);
|
||||||
DomainInfo instantAlias = GetDomainItem(domain.InstantAliasName);
|
DomainInfo instantAlias = GetDomainItem(domain.InstantAliasName, true, false);
|
||||||
if (instantAlias != null)
|
if (instantAlias != null)
|
||||||
domain.InstantAliasId = instantAlias.DomainId;
|
domain.InstantAliasId = instantAlias.DomainId;
|
||||||
|
|
||||||
|
@ -1681,17 +1684,16 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
public static DomainInfo GetDomainItem(string domainName)
|
public static DomainInfo GetDomainItem(string domainName)
|
||||||
{
|
{
|
||||||
return ObjectUtils.FillObjectFromDataReader<DomainInfo>(
|
return GetDomainItem(domainName, false, false);
|
||||||
DataProvider.GetDomainByName(SecurityContext.User.UserId, domainName));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static DomainInfo GetDomainItem(string domainName, bool IsDomainPointer)
|
|
||||||
|
public static DomainInfo GetDomainItem(string domainName, bool searchOnDomainPointer, bool isDomainPointer)
|
||||||
{
|
{
|
||||||
return ObjectUtils.FillObjectFromDataReader<DomainInfo>(
|
return ObjectUtils.FillObjectFromDataReader<DomainInfo>(
|
||||||
DataProvider.GetDomainByNameByPointer(SecurityContext.User.UserId, domainName, IsDomainPointer));
|
DataProvider.GetDomainByName(SecurityContext.User.UserId, domainName, searchOnDomainPointer, isDomainPointer));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static string GetDomainAlias(int packageId, string domainName)
|
public static string GetDomainAlias(int packageId, string domainName)
|
||||||
{
|
{
|
||||||
// load package settings
|
// load package settings
|
||||||
|
@ -1740,6 +1742,16 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
{
|
{
|
||||||
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Os, domain, "");
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Os, domain, "");
|
||||||
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Dns, domain, "");
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Dns, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Ftp, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MsSql2000, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MsSql2005, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MsSql2008, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MsSql2012, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MySql4, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.MySql5, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.Statistics, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.VPS, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(packageId, ResourceGroups.VPSForPC, domain, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1912,6 +1924,11 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void AddServiceDNSRecords(int packageId, string groupName, DomainInfo domain, string serviceIP)
|
public static void AddServiceDNSRecords(int packageId, string groupName, DomainInfo domain, string serviceIP)
|
||||||
|
{
|
||||||
|
AddServiceDNSRecords(packageId, groupName, domain, serviceIP, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AddServiceDNSRecords(int packageId, string groupName, DomainInfo domain, string serviceIP, bool wildcardOnly)
|
||||||
{
|
{
|
||||||
int serviceId = PackageController.GetPackageServiceId(packageId, groupName);
|
int serviceId = PackageController.GetPackageServiceId(packageId, groupName);
|
||||||
if (serviceId > 0)
|
if (serviceId > 0)
|
||||||
|
@ -1919,6 +1936,19 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
List<DnsRecord> tmpZoneRecords = new List<DnsRecord>();
|
List<DnsRecord> tmpZoneRecords = new List<DnsRecord>();
|
||||||
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(serviceId);
|
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(serviceId);
|
||||||
|
|
||||||
|
if (wildcardOnly)
|
||||||
|
{
|
||||||
|
List<GlobalDnsRecord> temp = new List<GlobalDnsRecord>();
|
||||||
|
foreach (GlobalDnsRecord d in dnsRecords)
|
||||||
|
{
|
||||||
|
if ((d.RecordName == "*") ||
|
||||||
|
(d.RecordName == "@"))
|
||||||
|
temp.Add(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
dnsRecords = temp;
|
||||||
|
}
|
||||||
|
|
||||||
DnsZone zone = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId);
|
DnsZone zone = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId);
|
||||||
tmpZoneRecords.AddRange(DnsServerController.BuildDnsResourceRecords(dnsRecords, "", domain.ZoneName, serviceIP));
|
tmpZoneRecords.AddRange(DnsServerController.BuildDnsResourceRecords(dnsRecords, "", domain.ZoneName, serviceIP));
|
||||||
|
|
||||||
|
@ -1949,13 +1979,25 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void RemoveServiceDNSRecords(int packageId, string groupName, DomainInfo domain, string serviceIP)
|
public static void RemoveServiceDNSRecords(int packageId, string groupName, DomainInfo domain, string serviceIP, bool wildcardOnly)
|
||||||
{
|
{
|
||||||
int serviceId = PackageController.GetPackageServiceId(packageId, groupName);
|
int serviceId = PackageController.GetPackageServiceId(packageId, groupName);
|
||||||
if (serviceId > 0)
|
if (serviceId > 0)
|
||||||
{
|
{
|
||||||
List<DnsRecord> zoneRecords = new List<DnsRecord>();
|
List<DnsRecord> zoneRecords = new List<DnsRecord>();
|
||||||
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(serviceId);
|
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(serviceId);
|
||||||
|
if (wildcardOnly)
|
||||||
|
{
|
||||||
|
List<GlobalDnsRecord> temp = new List<GlobalDnsRecord>();
|
||||||
|
foreach (GlobalDnsRecord d in dnsRecords)
|
||||||
|
{
|
||||||
|
if ((d.RecordName == "*") ||
|
||||||
|
(d.RecordName == "@"))
|
||||||
|
temp.Add(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
dnsRecords = temp;
|
||||||
|
}
|
||||||
|
|
||||||
DnsZone zone = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId);
|
DnsZone zone = (DnsZone)PackageController.GetPackageItem(domain.ZoneItemId);
|
||||||
zoneRecords.AddRange(DnsServerController.BuildDnsResourceRecords(dnsRecords, "", domain.ZoneName, serviceIP));
|
zoneRecords.AddRange(DnsServerController.BuildDnsResourceRecords(dnsRecords, "", domain.ZoneName, serviceIP));
|
||||||
|
@ -2266,6 +2308,16 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
switch (group.GroupName)
|
switch (group.GroupName)
|
||||||
{
|
{
|
||||||
case ResourceGroups.Dns:
|
case ResourceGroups.Dns:
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Ftp, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.MsSql2000, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.MsSql2005, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.MsSql2008, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.MsSql2012, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.MySql4, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.MySql5, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Statistics, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.VPS, domain, "");
|
||||||
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.VPSForPC, domain, "");
|
||||||
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Dns, domain, "");
|
ServerController.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Dns, domain, "");
|
||||||
break;
|
break;
|
||||||
case ResourceGroups.Os:
|
case ResourceGroups.Os:
|
||||||
|
@ -2329,21 +2381,44 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
List<WebSite> sites = WebServerController.GetWebSites(domain.PackageId, false);
|
List<WebSite> sites = WebServerController.GetWebSites(domain.PackageId, false);
|
||||||
foreach (WebSite w in sites)
|
foreach (WebSite w in sites)
|
||||||
{
|
{
|
||||||
if (w.SiteId.ToLower().Replace("." + domain.DomainName.ToLower(), "").IndexOf('.') == -1)
|
if ((w.SiteId.ToLower().Replace("." + domain.DomainName.ToLower(), "").IndexOf('.') == -1) ||
|
||||||
|
(w.SiteId.ToLower() == domain.DomainName.ToLower()))
|
||||||
{
|
{
|
||||||
WebServerController.AddWebSitePointer(w.Id, w.SiteId.ToLower().Replace("." + domain.DomainName.ToLower(), ""), domain.DomainId, false, true, true);
|
WebServerController.AddWebSitePointer( w.Id,
|
||||||
|
(w.SiteId.ToLower() == domain.DomainName.ToLower()) ? "" : w.SiteId.ToLower().Replace("." + domain.DomainName.ToLower(), ""),
|
||||||
|
domain.DomainId, false, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<DomainInfo> pointers = WebServerController.GetWebSitePointers(w.Id);
|
List<DomainInfo> pointers = WebServerController.GetWebSitePointers(w.Id);
|
||||||
foreach (DomainInfo pointer in pointers)
|
foreach (DomainInfo pointer in pointers)
|
||||||
{
|
{
|
||||||
if (pointer.DomainName.ToLower().Replace("." + domain.DomainName.ToLower(), "").IndexOf('.') == -1)
|
if ((pointer.DomainName.ToLower().Replace("." + domain.DomainName.ToLower(), "").IndexOf('.') == -1)||
|
||||||
|
(pointer.DomainName.ToLower() == domain.DomainName.ToLower()))
|
||||||
{
|
{
|
||||||
WebServerController.AddWebSitePointer(w.Id, pointer.DomainName.ToLower().Replace("." + domain.DomainName.ToLower(), ""), domain.DomainId, false, true, true);
|
WebServerController.AddWebSitePointer( w.Id,
|
||||||
|
(pointer.DomainName.ToLower() == domain.DomainName.ToLower()) ? "" : pointer.DomainName.ToLower().Replace("." + domain.DomainName.ToLower(), ""),
|
||||||
|
domain.DomainId, false, true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sites.Count == 1)
|
||||||
|
{
|
||||||
|
// 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.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Web, domain, serviceIp, true);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2479,7 +2554,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// load instant alias domain
|
// load instant alias domain
|
||||||
DomainInfo instantAlias = GetDomainItem(domain.InstantAliasName, false);
|
DomainInfo instantAlias = GetDomainItem(domain.InstantAliasName, true, false);
|
||||||
if (instantAlias == null)
|
if (instantAlias == null)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -3778,7 +3778,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
ret = vs.GetDeviceEvents(serviceInfo.ServerName, serviceProviderItem.Name);
|
ret = vs.GetDeviceEvents(serviceInfo.ServerName, serviceProviderItem.Name);
|
||||||
}
|
}
|
||||||
catch(Exception ex)
|
catch(Exception )
|
||||||
{
|
{
|
||||||
ret = null;
|
ret = null;
|
||||||
}
|
}
|
||||||
|
@ -3804,7 +3804,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
ret = vs.GetMonitoringAlerts(serviceInfo.ServerName, serviceProviderItem.Name);
|
ret = vs.GetMonitoringAlerts(serviceInfo.ServerName, serviceProviderItem.Name);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception )
|
||||||
{
|
{
|
||||||
ret = null;
|
ret = null;
|
||||||
}
|
}
|
||||||
|
@ -3832,7 +3832,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
ret = vs.GetPerfomanceValue(serviceProviderItem.Name, perf, startPeriod, endPeriod);
|
ret = vs.GetPerfomanceValue(serviceProviderItem.Name, perf, startPeriod, endPeriod);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception )
|
||||||
{
|
{
|
||||||
ret = null;
|
ret = null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -651,7 +651,6 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
addressId = packageIp.AddressID;
|
addressId = packageIp.AddressID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(siteItem.ServiceId);
|
List<GlobalDnsRecord> dnsRecords = ServerController.GetDnsRecordsByService(siteItem.ServiceId);
|
||||||
|
|
||||||
foreach (GlobalDnsRecord d in dnsRecords)
|
foreach (GlobalDnsRecord d in dnsRecords)
|
||||||
|
@ -668,6 +667,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
IPAddressInfo ip;
|
||||||
|
|
||||||
// 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.ZoneName);
|
||||||
|
@ -709,6 +710,27 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<WebSite> sites = WebServerController.GetWebSites(domain.PackageId, false);
|
||||||
|
bool oneSiteOnly = (sites.Count == 1);
|
||||||
|
|
||||||
|
if (oneSiteOnly)
|
||||||
|
{
|
||||||
|
// load site item
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// update site item
|
// update site item
|
||||||
siteItem.SiteIPAddressId = addressId;
|
siteItem.SiteIPAddressId = addressId;
|
||||||
PackageController.UpdatePackageItem(siteItem);
|
PackageController.UpdatePackageItem(siteItem);
|
||||||
|
@ -731,7 +753,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
// load web site IP address
|
// load web site IP address
|
||||||
IPAddressInfo ip = ServerController.GetIPAddress(siteItem.SiteIPAddressId);
|
ip = ServerController.GetIPAddress(siteItem.SiteIPAddressId);
|
||||||
string ipAddr = "*";
|
string ipAddr = "*";
|
||||||
if (ip != null)
|
if (ip != null)
|
||||||
ipAddr = !String.IsNullOrEmpty(ip.InternalIP) ? ip.InternalIP : ip.ExternalIP;
|
ipAddr = !String.IsNullOrEmpty(ip.InternalIP) ? ip.InternalIP : ip.ExternalIP;
|
||||||
|
@ -748,10 +770,27 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
(b.Port == srvBinding.Port)))
|
(b.Port == srvBinding.Port)))
|
||||||
newBindings.Add(b);
|
newBindings.Add(b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
web.UpdateSiteBindings(siteItem.SiteId, newBindings.ToArray(), false);
|
web.UpdateSiteBindings(siteItem.SiteId, newBindings.ToArray(), false);
|
||||||
|
|
||||||
|
if (oneSiteOnly)
|
||||||
|
{
|
||||||
|
sites = WebServerController.GetWebSites(domain.PackageId, false);
|
||||||
|
|
||||||
|
// load site item
|
||||||
|
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.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Web, domain, serviceIp, true);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -782,6 +821,8 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
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.ZoneName);
|
||||||
|
|
||||||
|
@ -825,6 +866,27 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<WebSite> sites = WebServerController.GetWebSites(domain.PackageId, false);
|
||||||
|
bool oneSiteOnly = (sites.Count == 1);
|
||||||
|
|
||||||
|
if (oneSiteOnly)
|
||||||
|
{
|
||||||
|
// load site item
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//figure out the PackageAddressId
|
//figure out the PackageAddressId
|
||||||
PackageIPAddress packageIpAddress = null;
|
PackageIPAddress packageIpAddress = null;
|
||||||
var siteIpAddresses = ServerController.GetItemIPAddresses(siteItemId, IPAddressPool.None);
|
var siteIpAddresses = ServerController.GetItemIPAddresses(siteItemId, IPAddressPool.None);
|
||||||
|
@ -858,6 +920,26 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
, ZoneInfo.DomainId, true, true, true);
|
, ZoneInfo.DomainId, true, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (oneSiteOnly)
|
||||||
|
{
|
||||||
|
sites = WebServerController.GetWebSites(domain.PackageId, false);
|
||||||
|
|
||||||
|
// load site item
|
||||||
|
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.AddServiceDNSRecords(domain.PackageId, ResourceGroups.Web, domain, serviceIp, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -1171,13 +1253,25 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
domainTmp.WebSiteId = siteItemId;
|
domainTmp.WebSiteId = siteItemId;
|
||||||
domainTmp.ZoneItemId = domain.ZoneItemId;
|
domainTmp.ZoneItemId = domain.ZoneItemId;
|
||||||
domainTmp.DomainItemId = domainId;
|
domainTmp.DomainItemId = domainId;
|
||||||
|
|
||||||
ServerController.UpdateDomain(domainTmp);
|
ServerController.UpdateDomain(domainTmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (domain.ZoneItemId > 0)
|
||||||
|
{
|
||||||
|
DomainInfo domainTmp = ServerController.GetDomain(string.IsNullOrEmpty(hostName) ? domain.DomainName : hostName + "." + domain.DomainName, true, true);
|
||||||
|
if (domainTmp != null)
|
||||||
|
{
|
||||||
|
domainTmp.ZoneItemId = domain.ZoneItemId;
|
||||||
|
ServerController.UpdateDomain(domainTmp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,11 +5,19 @@
|
||||||
</configSections>
|
</configSections>
|
||||||
<!-- Connection strings -->
|
<!-- Connection strings -->
|
||||||
<connectionStrings>
|
<connectionStrings>
|
||||||
<add name="EnterpriseServer" connectionString="Server=(local)\SQLExpress;Database=WebsitePanel;uid=sa;pwd=Password12" providerName="System.Data.SqlClient" />
|
<!--
|
||||||
|
<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=HSTPROV01;database=WebsitePanelMerge;uid=WebsitePanel;pwd=aj7ep6fyhmw3b5qeth7c;" />
|
||||||
</connectionStrings>
|
</connectionStrings>
|
||||||
<appSettings>
|
<appSettings>
|
||||||
<!-- Encryption util settings -->
|
<!-- A1D4KDHUE83NKHddF -->
|
||||||
<add key="WebsitePanel.CryptoKey" value="1234567890" />
|
<!--
|
||||||
|
<add key="WebsitePanel.CryptoKey" value="3x7eqt7zabc5n5afs6dg" />
|
||||||
|
<add key="WebsitePanel.CryptoKey" value="fr2ym4wn2gmbrj7dz336" />
|
||||||
|
-->
|
||||||
|
<add key="WebsitePanel.CryptoKey" value="3x7eqt7zabc5n5afs6dg" />
|
||||||
<!-- A1D4KDHUE83NKHddF -->
|
<!-- A1D4KDHUE83NKHddF -->
|
||||||
<add key="WebsitePanel.EncryptionEnabled" value="true" />
|
<add key="WebsitePanel.EncryptionEnabled" value="true" />
|
||||||
<!-- Web Applications -->
|
<!-- Web Applications -->
|
||||||
|
|
|
@ -518,6 +518,12 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
return ServerController.GetDomains(packageId);
|
return ServerController.GetDomains(packageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[WebMethod]
|
||||||
|
public List<DomainInfo> GetDomainsByDomainId(int domainId)
|
||||||
|
{
|
||||||
|
return ServerController.GetDomainsByDomainItemId(domainId);
|
||||||
|
}
|
||||||
|
|
||||||
[WebMethod]
|
[WebMethod]
|
||||||
public List<DomainInfo> GetMyDomains(int packageId)
|
public List<DomainInfo> GetMyDomains(int packageId)
|
||||||
{
|
{
|
||||||
|
|
|
@ -121,9 +121,18 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
// load instant alias
|
// load instant alias
|
||||||
DomainInfo instantAlias = ES.Services.Servers.GetDomain(domain.InstantAliasId);
|
DomainInfo instantAlias = ES.Services.Servers.GetDomain(domain.InstantAliasId);
|
||||||
|
WebSiteAliasPanel.Visible = false;
|
||||||
if (instantAlias != null)
|
if (instantAlias != null)
|
||||||
{
|
{
|
||||||
WebSiteAliasPanel.Visible = (instantAlias.WebSiteId > 0);
|
DomainInfo[] Domains = ES.Services.Servers.GetDomainsByDomainId(domain.InstantAliasId);
|
||||||
|
foreach (DomainInfo d in Domains)
|
||||||
|
{
|
||||||
|
if (d.WebSiteId > 0)
|
||||||
|
{
|
||||||
|
WebSiteAliasPanel.Visible = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MailDomainAliasPanel.Visible = (instantAlias.MailDomainId > 0);
|
MailDomainAliasPanel.Visible = (instantAlias.MailDomainId > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,17 @@ namespace WebsitePanel.Portal
|
||||||
(resourceGroup.GroupName == ResourceGroups.Lync)|
|
(resourceGroup.GroupName == ResourceGroups.Lync)|
|
||||||
(resourceGroup.GroupName == ResourceGroups.Exchange)|
|
(resourceGroup.GroupName == ResourceGroups.Exchange)|
|
||||||
(resourceGroup.GroupName == ResourceGroups.Web)|
|
(resourceGroup.GroupName == ResourceGroups.Web)|
|
||||||
(resourceGroup.GroupName == ResourceGroups.Dns));
|
(resourceGroup.GroupName == ResourceGroups.Dns)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.Ftp)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.MsSql2000)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.MsSql2005)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.MsSql2008)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.MsSql2012)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.MySql4)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.MySql5)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.Statistics)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.VPS)|
|
||||||
|
(resourceGroup.GroupName == ResourceGroups.VPSForPC));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -56,8 +56,8 @@ REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OCSProxy.cs
|
||||||
REM %WSDL% %SERVER_URL%/esOperatingSystems.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
REM %WSDL% %SERVER_URL%/esOperatingSystems.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OperatingSystemsProxy.cs
|
||||||
|
|
||||||
%WSDL% %SERVER_URL%/esOrganizations.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs /namespace:WebsitePanel.EnterpriseServer.HostedSolution /type:webClient
|
REM %WSDL% %SERVER_URL%/esOrganizations.asmx /out:.\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs /namespace:WebsitePanel.EnterpriseServer.HostedSolution /type:webClient
|
||||||
%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\OrganizationProxy.cs
|
||||||
|
|
||||||
REM %WSDL% %SERVER_URL%/esPackages.asmx /out:.\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
REM %WSDL% %SERVER_URL%/esPackages.asmx /out:.\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs
|
||||||
|
@ -65,8 +65,8 @@ REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\PackagesProxy.cs
|
||||||
REM %WSDL% %SERVER_URL%/esScheduler.asmx /out:.\WebsitePanel.EnterpriseServer.Client\SchedulerProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
REM %WSDL% %SERVER_URL%/esScheduler.asmx /out:.\WebsitePanel.EnterpriseServer.Client\SchedulerProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\SchedulerProxy.cs
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\SchedulerProxy.cs
|
||||||
|
|
||||||
REM %WSDL% %SERVER_URL%/esServers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ServersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
%WSDL% %SERVER_URL%/esServers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\ServersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ServersProxy.cs
|
%WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\ServersProxy.cs
|
||||||
|
|
||||||
REM %WSDL% %SERVER_URL%/esSharePointServers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\SharePointServersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
REM %WSDL% %SERVER_URL%/esSharePointServers.asmx /out:.\WebsitePanel.EnterpriseServer.Client\SharePointServersProxy.cs /namespace:WebsitePanel.EnterpriseServer /type:webClient
|
||||||
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\SharePointServersProxy.cs
|
REM %WSE_CLEAN% .\WebsitePanel.EnterpriseServer.Client\SharePointServersProxy.cs
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue