-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'DomainLookupLetter' AND [PropertyName]= N'HtmlBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'DomainLookupLetter', N'HtmlBody', @DomainLookupLetterHtmlBody)
-END
-ELSE
-UPDATE [dbo].[UserSettings] SET [PropertyValue] = @DomainLookupLetterHtmlBody WHERE [UserID] = 1 AND [SettingsName]= N'DomainLookupLetter' AND [PropertyName]= N'HtmlBody'
-GO
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'DomainLookupLetter' AND [PropertyName]= N'Priority' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'DomainLookupLetter', N'Priority', N'Normal')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'DomainLookupLetter' AND [PropertyName]= N'Subject' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'DomainLookupLetter', N'Subject', N'MX and NS changes notification')
-END
-GO
-
-DECLARE @DomainLookupLetterTextBody nvarchar(2500)
-
-Set @DomainLookupLetterTextBody = N'=================================
- MX and NS Changes Information
-=================================
-
-
-
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-Best regards
-'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'DomainLookupLetter' AND [PropertyName]= N'TextBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'DomainLookupLetter', N'TextBody',@DomainLookupLetterTextBody )
-END
-ELSE
-UPDATE [dbo].[UserSettings] SET [PropertyValue] = @DomainLookupLetterTextBody WHERE [UserID] = 1 AND [SettingsName]= N'DomainLookupLetter' AND [PropertyName]= N'TextBody'
-GO
-
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'DomainLookupLetter' AND [PropertyName]= N'NoChangesHtmlBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'DomainLookupLetter', N'NoChangesHtmlBody', N'
-
-
-
-
-
-
-
-
-Hello #user.FirstName#,
-
-
-
-
-No MX and NS changes have been found.
-
-
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-
-
-Best regards
-
')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'DomainLookupLetter' AND [PropertyName]= N'NoChangesTextBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'DomainLookupLetter', N'NoChangesTextBody', N'=================================
- MX and NS Changes Information
-=================================
-
-Hello #user.FirstName#,
-
-
-No MX and NS changes have been founded.
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-Best regards
-')
-END
-GO
-
-
--- Procedures for Domain lookup service
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetAllPackages')
-DROP PROCEDURE GetAllPackages
-GO
-CREATE PROCEDURE [dbo].[GetAllPackages]
-AS
-SELECT
- [PackageID]
- ,[ParentPackageID]
- ,[UserID]
- ,[PackageName]
- ,[PackageComments]
- ,[ServerID]
- ,[StatusID]
- ,[PlanID]
- ,[PurchaseDate]
- ,[OverrideQuotas]
- ,[BandwidthUpdated]
- FROM [dbo].[Packages]
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetScheduleTaskEmailTemplate')
-DROP PROCEDURE GetScheduleTaskEmailTemplate
-GO
-CREATE PROCEDURE [dbo].GetScheduleTaskEmailTemplate
-(
- @TaskID [nvarchar](100)
-)
-AS
-SELECT
- [TaskID],
- [From] ,
- [Subject] ,
- [Template]
- FROM [dbo].[ScheduleTasksEmailTemplates] where [TaskID] = @TaskID
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetDomainDnsRecords')
-DROP PROCEDURE GetDomainDnsRecords
-GO
-CREATE PROCEDURE [dbo].GetDomainDnsRecords
-(
- @DomainId INT,
- @RecordType INT
-)
-AS
-SELECT
- ID,
- DomainId,
- DnsServer,
- RecordType,
- Value,
- Date
- FROM [dbo].[DomainDnsRecords]
- WHERE [DomainId] = @DomainId AND [RecordType] = @RecordType
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetDomainAllDnsRecords')
-DROP PROCEDURE GetDomainAllDnsRecords
-GO
-CREATE PROCEDURE [dbo].GetDomainAllDnsRecords
-(
- @DomainId INT
-)
-AS
-SELECT
- ID,
- DomainId,
- DnsServer,
- RecordType,
- Value,
- Date
- FROM [dbo].[DomainDnsRecords]
- WHERE [DomainId] = @DomainId
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddDomainDnsRecord')
-DROP PROCEDURE AddDomainDnsRecord
-GO
-CREATE PROCEDURE [dbo].[AddDomainDnsRecord]
-(
- @DomainId INT,
- @RecordType INT,
- @DnsServer NVARCHAR(255),
- @Value NVARCHAR(255),
- @Date DATETIME
-)
-AS
-
-INSERT INTO DomainDnsRecords
-(
- DomainId,
- DnsServer,
- RecordType,
- Value,
- Date
-)
-VALUES
-(
- @DomainId,
- @DnsServer,
- @RecordType,
- @Value,
- @Date
-)
-GO
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteDomainDnsRecord')
-DROP PROCEDURE DeleteDomainDnsRecord
-GO
-CREATE PROCEDURE [dbo].[DeleteDomainDnsRecord]
-(
- @Id INT
-)
-AS
-DELETE FROM DomainDnsRecords
-WHERE Id = @Id
-GO
-
---Domain Expiration Stored Procedures
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateDomainCreationDate')
-DROP PROCEDURE UpdateDomainCreationDate
-GO
-CREATE PROCEDURE [dbo].UpdateDomainCreationDate
-(
- @DomainId INT,
- @Date DateTime
-)
-AS
-UPDATE [dbo].[Domains] SET [CreationDate] = @Date WHERE [DomainID] = @DomainId
-GO
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateDomainExpirationDate')
-DROP PROCEDURE UpdateDomainExpirationDate
-GO
-CREATE PROCEDURE [dbo].UpdateDomainExpirationDate
-(
- @DomainId INT,
- @Date DateTime
-)
-AS
-UPDATE [dbo].[Domains] SET [ExpirationDate] = @Date WHERE [DomainID] = @DomainId
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateDomainLastUpdateDate')
-DROP PROCEDURE UpdateDomainLastUpdateDate
-GO
-CREATE PROCEDURE [dbo].UpdateDomainLastUpdateDate
-(
- @DomainId INT,
- @Date DateTime
-)
-AS
-UPDATE [dbo].[Domains] SET [LastUpdateDate] = @Date WHERE [DomainID] = @DomainId
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateDomainDates')
-DROP PROCEDURE UpdateDomainDates
-GO
-CREATE PROCEDURE [dbo].UpdateDomainDates
-(
- @DomainId INT,
- @DomainCreationDate DateTime,
- @DomainExpirationDate DateTime,
- @DomainLastUpdateDate DateTime
-)
-AS
-UPDATE [dbo].[Domains] SET [CreationDate] = @DomainCreationDate, [ExpirationDate] = @DomainExpirationDate, [LastUpdateDate] = @DomainLastUpdateDate WHERE [DomainID] = @DomainId
-GO
-
-
---Updating Domain procedures
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetDomains')
-DROP PROCEDURE GetDomains
-GO
-CREATE 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.CreationDate,
- D.ExpirationDate,
- D.LastUpdateDate,
- 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
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetDomainsPaged')
-DROP PROCEDURE GetDomainsPaged
-GO
-CREATE 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,
- D.ExpirationDate,
- D.LastUpdateDate,
- P.PackageName,
- ISNULL(SRV.ServerID, 0) AS ServerID,
- ISNULL(SRV.ServerName, '''') AS ServerName,
- ISNULL(SRV.Comments, '''') AS ServerComments,
- ISNULL(SRV.VirtualServer, 0) AS VirtualServer,
- 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
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetRDSServersPaged')
-DROP PROCEDURE GetRDSServersPaged
-GO
-CREATE PROCEDURE [dbo].[GetRDSServersPaged]
-(
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @ItemID int,
- @IgnoreItemId bit,
- @RdsCollectionId int,
- @IgnoreRdsCollectionId bit,
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int
-)
-AS
--- build query and run it to the temporary table
-DECLARE @sql nvarchar(2000)
-
-SET @sql = '
-
-DECLARE @EndRow int
-SET @EndRow = @StartRow + @MaximumRows
-
-DECLARE @RDSServer TABLE
-(
- ItemPosition int IDENTITY(0,1),
- RDSServerId int
-)
-INSERT INTO @RDSServer (RDSServerId)
-SELECT
- S.ID
-FROM RDSServers AS S
-WHERE
- ((((@ItemID is Null AND S.ItemID is null) or @IgnoreItemId = 1)
- or (@ItemID is not Null AND S.ItemID = @ItemID))
- and
- (((@RdsCollectionId is Null AND S.RDSCollectionId is null) or @IgnoreRdsCollectionId = 1)
- or (@RdsCollectionId is not Null AND S.RDSCollectionId = @RdsCollectionId)))'
-
-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(RDSServerId) FROM @RDSServer;
-SELECT
- ST.ID,
- ST.ItemID,
- ST.Name,
- ST.FqdName,
- ST.Description,
- ST.RdsCollectionId,
- SI.ItemName,
- ST.ConnectionEnabled
-FROM @RDSServer AS S
-INNER JOIN RDSServers AS ST ON S.RDSServerId = ST.ID
-LEFT OUTER JOIN ServiceItems AS SI ON SI.ItemId = ST.ItemId
-WHERE S.ItemPosition BETWEEN @StartRow AND @EndRow'
-
-exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @FilterValue nvarchar(50), @ItemID int, @RdsCollectionId int, @IgnoreItemId bit, @IgnoreRdsCollectionId bit',
-@StartRow, @MaximumRows, @FilterValue, @ItemID, @RdsCollectionId, @IgnoreItemId , @IgnoreRdsCollectionId
-
-
-RETURN
-
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateRDSServer')
-DROP PROCEDURE UpdateRDSServer
-GO
-CREATE PROCEDURE [dbo].[UpdateRDSServer]
-(
- @Id INT,
- @ItemID INT,
- @Name NVARCHAR(255),
- @FqdName NVARCHAR(255),
- @Description NVARCHAR(255),
- @RDSCollectionId INT,
- @ConnectionEnabled BIT
-)
-AS
-
-UPDATE RDSServers
-SET
- ItemID = @ItemID,
- Name = @Name,
- FqdName = @FqdName,
- Description = @Description,
- RDSCollectionId = @RDSCollectionId,
- ConnectionEnabled = @ConnectionEnabled
-WHERE ID = @Id
-GO
-
-
--- fix Windows 2012 Provider
-BEGIN
-UPDATE [dbo].[Providers] SET [EditorControl] = 'Windows2012' WHERE [ProviderName] = 'Windows2012'
-END
-GO
-
--- fix check domain used by HostedOrganization
-
-ALTER PROCEDURE [dbo].[CheckDomainUsedByHostedOrganization]
- @DomainName nvarchar(100),
- @Result int OUTPUT
-AS
- SET @Result = 0
- IF EXISTS(SELECT 1 FROM ExchangeAccounts WHERE UserPrincipalName LIKE '%@'+ @DomainName AND AccountType!=2)
- BEGIN
- SET @Result = 1
- END
- ELSE
- IF EXISTS(SELECT 1 FROM ExchangeAccountEmailAddresses WHERE EmailAddress LIKE '%@'+ @DomainName)
- BEGIN
- SET @Result = 1
- END
- ELSE
- IF EXISTS(SELECT 1 FROM LyncUsers WHERE SipAddress LIKE '%@'+ @DomainName)
- BEGIN
- SET @Result = 1
- END
-
- RETURN @Result
-GO
-
-
--- check domain used by hosted organization
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetOrganizationObjectsByDomain')
-DROP PROCEDURE GetOrganizationObjectsByDomain
-GO
-
-CREATE PROCEDURE [dbo].[GetOrganizationObjectsByDomain]
-(
- @ItemID int,
- @DomainName nvarchar(100)
-)
-AS
-SELECT
- 'ExchangeAccounts' as ObjectName,
- AccountID as ObjectID,
- AccountType as ObjectType,
- DisplayName as DisplayName,
- 0 as OwnerID
-FROM
- ExchangeAccounts
-WHERE
- UserPrincipalName LIKE '%@'+ @DomainName AND AccountType!=2
-UNION
-SELECT
- 'ExchangeAccountEmailAddresses' as ObjectName,
- eam.AddressID as ObjectID,
- ea.AccountType as ObjectType,
- eam.EmailAddress as DisplayName,
- eam.AccountID as OwnerID
-FROM
- ExchangeAccountEmailAddresses as eam
-INNER JOIN
- ExchangeAccounts ea
-ON
- ea.AccountID = eam.AccountID
-WHERE
- (ea.PrimaryEmailAddress != eam.EmailAddress)
- AND (ea.UserPrincipalName != eam.EmailAddress)
- AND (eam.EmailAddress LIKE '%@'+ @DomainName)
-UNION
-SELECT
- 'LyncUsers' as ObjectName,
- ea.AccountID as ObjectID,
- ea.AccountType as ObjectType,
- ea.DisplayName as DisplayName,
- 0 as OwnerID
-FROM
- ExchangeAccounts ea
-INNER JOIN
- LyncUsers ou
-ON
- ea.AccountID = ou.AccountID
-WHERE
- ou.SipAddress LIKE '%@'+ @DomainName
-ORDER BY
- DisplayName
-RETURN
-GO
-IF NOT EXISTS(SELECT * FROM sys.columns
- WHERE [name] = N'RegistrarName' AND [object_id] = OBJECT_ID(N'Domains'))
-BEGIN
- ALTER TABLE [dbo].[Domains] ADD RegistrarName nvarchar(max);
-END
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateWhoisDomainInfo')
-DROP PROCEDURE UpdateWhoisDomainInfo
-GO
-CREATE PROCEDURE [dbo].UpdateWhoisDomainInfo
-(
- @DomainId INT,
- @DomainCreationDate DateTime,
- @DomainExpirationDate DateTime,
- @DomainLastUpdateDate DateTime,
- @DomainRegistrarName nvarchar(max)
-)
-AS
-UPDATE [dbo].[Domains] SET [CreationDate] = @DomainCreationDate, [ExpirationDate] = @DomainExpirationDate, [LastUpdateDate] = @DomainLastUpdateDate, [RegistrarName] = @DomainRegistrarName WHERE [DomainID] = @DomainId
-GO
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetDomainsPaged')
-DROP PROCEDURE GetDomainsPaged
-GO
-CREATE 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(2500)
-
-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 @FilterValue <> ''
-BEGIN
- IF @FilterColumn <> ''
- BEGIN
- SET @sql = @sql + ' AND ' + @FilterColumn + ' LIKE @FilterValue '
- END
- ELSE
- SET @sql = @sql + '
- AND (DomainName LIKE @FilterValue
- OR Username LIKE @FilterValue
- OR ServerName LIKE @FilterValue
- OR PackageName LIKE @FilterValue) '
-END
-
-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,
- D.ExpirationDate,
- D.LastUpdateDate,
- D.RegistrarName,
- P.PackageName,
- ISNULL(SRV.ServerID, 0) AS ServerID,
- ISNULL(SRV.ServerName, '''') AS ServerName,
- ISNULL(SRV.Comments, '''') AS ServerComments,
- ISNULL(SRV.VirtualServer, 0) AS VirtualServer,
- 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
-
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetDomains')
-DROP PROCEDURE GetDomains
-GO
-CREATE 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.CreationDate,
- D.ExpirationDate,
- D.LastUpdateDate,
- D.IsDomainPointer,
- D.RegistrarName
-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
-
-IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='Packages' AND COLS.name='DefaultTopPackage')
-BEGIN
-ALTER TABLE [dbo].[Packages] ADD
- [DefaultTopPackage] [bit] DEFAULT 0 NOT NULL
-END
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetMyPackages')
-DROP PROCEDURE GetMyPackages
-GO
-CREATE PROCEDURE [dbo].[GetMyPackages]
-(
- @ActorID int,
- @UserID int
-)
-AS
-
--- check rights
-IF dbo.CheckActorUserRights(@ActorID, @UserID) = 0
-RAISERROR('You are not allowed to access this account', 16, 1)
-
-SELECT
- P.PackageID,
- P.ParentPackageID,
- P.PackageName,
- P.StatusID,
- P.PlanID,
- P.PurchaseDate,
-
- dbo.GetItemComments(P.PackageID, 'PACKAGE', @ActorID) AS Comments,
-
- -- server
- ISNULL(P.ServerID, 0) AS ServerID,
- ISNULL(S.ServerName, 'None') AS ServerName,
- ISNULL(S.Comments, '') AS ServerComments,
- ISNULL(S.VirtualServer, 1) AS VirtualServer,
-
- -- hosting plan
- HP.PlanName,
-
- -- user
- P.UserID,
- U.Username,
- U.FirstName,
- U.LastName,
- U.FullName,
- U.RoleID,
- U.Email,
-
- P.DefaultTopPackage
-FROM Packages AS P
-INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
-LEFT OUTER JOIN Servers AS S ON P.ServerID = S.ServerID
-LEFT OUTER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID
-WHERE P.UserID = @UserID
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetPackages')
-DROP PROCEDURE GetPackages
-GO
-CREATE PROCEDURE [dbo].[GetPackages]
-(
- @ActorID int,
- @UserID int
-)
-AS
-
-SELECT
- P.PackageID,
- P.ParentPackageID,
- P.PackageName,
- P.StatusID,
- P.PurchaseDate,
-
- -- server
- ISNULL(P.ServerID, 0) AS ServerID,
- ISNULL(S.ServerName, 'None') AS ServerName,
- ISNULL(S.Comments, '') AS ServerComments,
- ISNULL(S.VirtualServer, 1) AS VirtualServer,
-
- -- hosting plan
- P.PlanID,
- HP.PlanName,
-
- -- user
- P.UserID,
- U.Username,
- U.FirstName,
- U.LastName,
- U.RoleID,
- U.Email,
-
- P.DefaultTopPackage
-FROM Packages AS P
-INNER JOIN Users AS U ON P.UserID = U.UserID
-INNER JOIN Servers AS S ON P.ServerID = S.ServerID
-INNER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID
-WHERE
- P.UserID = @UserID
-RETURN
-
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetPackage')
-DROP PROCEDURE GetPackage
-GO
-CREATE PROCEDURE [dbo].[GetPackage]
-(
- @PackageID int,
- @ActorID int
-)
-AS
-
--- Note: ActorID is not verified
--- check both requested and parent package
-
-SELECT
- P.PackageID,
- P.ParentPackageID,
- P.UserID,
- P.PackageName,
- P.PackageComments,
- P.ServerID,
- P.StatusID,
- P.PlanID,
- P.PurchaseDate,
- P.OverrideQuotas,
- P.DefaultTopPackage
-FROM Packages AS P
-WHERE P.PackageID = @PackageID
-RETURN
-
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdatePackage')
-DROP PROCEDURE UpdatePackage
-GO
-CREATE PROCEDURE [dbo].[UpdatePackage]
-(
- @ActorID int,
- @PackageID int,
- @PackageName nvarchar(300),
- @PackageComments ntext,
- @StatusID int,
- @PlanID int,
- @PurchaseDate datetime,
- @OverrideQuotas bit,
- @QuotasXml ntext,
- @DefaultTopPackage bit
-)
-AS
-
--- check rights
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-RAISERROR('You are not allowed to access this package', 16, 1)
-
-BEGIN TRAN
-
-DECLARE @ParentPackageID int
-DECLARE @OldPlanID int
-
-SELECT @ParentPackageID = ParentPackageID, @OldPlanID = PlanID FROM Packages
-WHERE PackageID = @PackageID
-
--- update package
-UPDATE Packages SET
- PackageName = @PackageName,
- PackageComments = @PackageComments,
- StatusID = @StatusID,
- PlanID = @PlanID,
- PurchaseDate = @PurchaseDate,
- OverrideQuotas = @OverrideQuotas,
- DefaultTopPackage = @DefaultTopPackage
-WHERE
- PackageID = @PackageID
-
--- update quotas (if required)
-EXEC UpdatePackageQuotas @ActorID, @PackageID, @QuotasXml
-
--- check resulting quotas
-DECLARE @ExceedingQuotas AS TABLE (QuotaID int, QuotaName nvarchar(50), QuotaValue int)
-
--- check exceeding quotas if plan has been changed
-IF (@OldPlanID <> @PlanID) OR (@OverrideQuotas = 1)
-BEGIN
- INSERT INTO @ExceedingQuotas
- SELECT * FROM dbo.GetPackageExceedingQuotas(@ParentPackageID) WHERE QuotaValue > 0
-END
-
-SELECT * FROM @ExceedingQuotas
-
-IF EXISTS(SELECT * FROM @ExceedingQuotas)
-BEGIN
- ROLLBACK TRAN
- RETURN
-END
-
-
-COMMIT TRAN
-RETURN
-
-GO
-
-
--- WebDAv portal
-
-IF EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'WebDavAccessTokens')
-DROP TABLE WebDavAccessTokens
-GO
-CREATE TABLE WebDavAccessTokens
-(
- ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
- FilePath NVARCHAR(MAX) NOT NULL,
- AuthData NVARCHAR(MAX) NOT NULL,
- AccessToken UNIQUEIDENTIFIER NOT NULL,
- ExpirationDate DATETIME NOT NULL,
- AccountID INT NOT NULL ,
- ItemId INT NOT NULL
-)
-GO
-
-ALTER TABLE [dbo].[WebDavAccessTokens] WITH CHECK ADD CONSTRAINT [FK_WebDavAccessTokens_UserId] FOREIGN KEY([AccountID])
-REFERENCES [dbo].[ExchangeAccounts] ([AccountID])
-ON DELETE CASCADE
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddWebDavAccessToken')
-DROP PROCEDURE AddWebDavAccessToken
-GO
-CREATE PROCEDURE [dbo].[AddWebDavAccessToken]
-(
- @TokenID INT OUTPUT,
- @FilePath NVARCHAR(MAX),
- @AccessToken UNIQUEIDENTIFIER,
- @AuthData NVARCHAR(MAX),
- @ExpirationDate DATETIME,
- @AccountID INT,
- @ItemId INT
-)
-AS
-INSERT INTO WebDavAccessTokens
-(
- FilePath,
- AccessToken,
- AuthData,
- ExpirationDate,
- AccountID ,
- ItemId
-)
-VALUES
-(
- @FilePath ,
- @AccessToken ,
- @AuthData,
- @ExpirationDate ,
- @AccountID,
- @ItemId
-)
-
-SET @TokenID = SCOPE_IDENTITY()
-
-RETURN
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteExpiredWebDavAccessTokens')
-DROP PROCEDURE DeleteExpiredWebDavAccessTokens
-GO
-CREATE PROCEDURE [dbo].[DeleteExpiredWebDavAccessTokens]
-AS
-DELETE FROM WebDavAccessTokens
-WHERE ExpirationDate < getdate()
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetWebDavAccessTokenById')
-DROP PROCEDURE GetWebDavAccessTokenById
-GO
-CREATE PROCEDURE [dbo].[GetWebDavAccessTokenById]
-(
- @Id int
-)
-AS
-SELECT
- ID ,
- FilePath ,
- AuthData ,
- AccessToken,
- ExpirationDate,
- AccountID,
- ItemId
- FROM WebDavAccessTokens
- Where ID = @Id AND ExpirationDate > getdate()
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetWebDavAccessTokenByAccessToken')
-DROP PROCEDURE GetWebDavAccessTokenByAccessToken
-GO
-CREATE PROCEDURE [dbo].[GetWebDavAccessTokenByAccessToken]
-(
- @AccessToken UNIQUEIDENTIFIER
-)
-AS
-SELECT
- ID ,
- FilePath ,
- AuthData ,
- AccessToken,
- ExpirationDate,
- AccountID,
- ItemId
- FROM WebDavAccessTokens
- Where AccessToken = @AccessToken AND ExpirationDate > getdate()
-GO
-
---add Deleted Users Quota
-IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedSolution.DeletedUsers')
-BEGIN
- INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (495, 13, 6, N'HostedSolution.DeletedUsers', N'Deleted Users', 2, 0, NULL, NULL)
-END
-
-IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedSolution.DeletedUsersBackupStorageSpace')
-BEGIN
- INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (496, 13, 6, N'HostedSolution.DeletedUsersBackupStorageSpace', N'Deleted Users Backup Storage Space, Mb', 2, 0, NULL, NULL)
-END
-GO
-
-IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'ExchangeDeletedAccounts')
-CREATE TABLE ExchangeDeletedAccounts
-(
- ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
- AccountID INT NOT NULL,
- OriginAT INT NOT NULL,
- StoragePath NVARCHAR(255) NULL,
- FolderName NVARCHAR(128) NULL,
- FileName NVARCHAR(128) NULL,
- ExpirationDate DATETIME NOT NULL
-)
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetOrganizationStatistics')
-DROP PROCEDURE [dbo].[GetOrganizationStatistics]
-GO
-
-CREATE PROCEDURE [dbo].[GetOrganizationStatistics]
-(
- @ItemID int
-)
-AS
-SELECT
- (SELECT COUNT(*) FROM ExchangeAccounts WHERE (AccountType = 7 OR AccountType = 1 OR AccountType = 6 OR AccountType = 5) AND ItemID = @ItemID) AS CreatedUsers,
- (SELECT COUNT(*) FROM ExchangeOrganizationDomains WHERE ItemID = @ItemID) AS CreatedDomains,
- (SELECT COUNT(*) FROM ExchangeAccounts WHERE (AccountType = 8 OR AccountType = 9) AND ItemID = @ItemID) AS CreatedGroups,
- (SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 11 AND ItemID = @ItemID) AS DeletedUsers
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteOrganizationDeletedUser')
-DROP PROCEDURE [dbo].[DeleteOrganizationDeletedUser]
-GO
-
-CREATE PROCEDURE [dbo].[DeleteOrganizationDeletedUser]
-(
- @ID int
-)
-AS
-DELETE FROM ExchangeDeletedAccounts WHERE AccountID = @ID
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetOrganizationDeletedUser')
-DROP PROCEDURE [dbo].[GetOrganizationDeletedUser]
-GO
-
-CREATE PROCEDURE [dbo].[GetOrganizationDeletedUser]
-(
- @AccountID int
-)
-AS
-SELECT
- EDA.AccountID,
- EDA.OriginAT,
- EDA.StoragePath,
- EDA.FolderName,
- EDA.FileName,
- EDA.ExpirationDate
-FROM
- ExchangeDeletedAccounts AS EDA
-WHERE
- EDA.AccountID = @AccountID
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddOrganizationDeletedUser')
-DROP PROCEDURE [dbo].[AddOrganizationDeletedUser]
-GO
-
-CREATE PROCEDURE [dbo].[AddOrganizationDeletedUser]
-(
- @ID int OUTPUT,
- @AccountID int,
- @OriginAT int,
- @StoragePath nvarchar(255),
- @FolderName nvarchar(128),
- @FileName nvarchar(128),
- @ExpirationDate datetime
-)
-AS
-
-INSERT INTO ExchangeDeletedAccounts
-(
- AccountID,
- OriginAT,
- StoragePath,
- FolderName,
- FileName,
- ExpirationDate
-)
-VALUES
-(
- @AccountID,
- @OriginAT,
- @StoragePath,
- @FolderName,
- @FileName,
- @ExpirationDate
-)
-
-SET @ID = SCOPE_IDENTITY()
-
-RETURN
-GO
-
-ALTER FUNCTION [dbo].[CalculateQuotaUsage]
-(
- @PackageID int,
- @QuotaID int
-)
-RETURNS int
-AS
- BEGIN
-
- DECLARE @QuotaTypeID int
- DECLARE @QuotaName nvarchar(50)
- SELECT @QuotaTypeID = QuotaTypeID, @QuotaName = QuotaName FROM Quotas
- WHERE QuotaID = @QuotaID
-
- IF @QuotaTypeID <> 2
- RETURN 0
-
- DECLARE @Result int
-
- IF @QuotaID = 52 -- diskspace
- SET @Result = dbo.CalculatePackageDiskspace(@PackageID)
- ELSE IF @QuotaID = 51 -- bandwidth
- SET @Result = dbo.CalculatePackageBandwidth(@PackageID)
- ELSE IF @QuotaID = 53 -- domains
- SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT
- INNER JOIN Domains AS D ON D.PackageID = PT.PackageID
- WHERE IsSubDomain = 0 AND IsInstantAlias = 0 AND IsDomainPointer = 0 AND PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 54 -- sub-domains
- SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT
- INNER JOIN Domains AS D ON D.PackageID = PT.PackageID
- WHERE IsSubDomain = 1 AND IsInstantAlias = 0 AND IsDomainPointer = 0 AND PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 220 -- domain pointers
- SET @Result = (SELECT COUNT(D.DomainID) FROM PackagesTreeCache AS PT
- INNER JOIN Domains AS D ON D.PackageID = PT.PackageID
- WHERE IsDomainPointer = 1 AND PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 71 -- scheduled tasks
- SET @Result = (SELECT COUNT(S.ScheduleID) FROM PackagesTreeCache AS PT
- INNER JOIN Schedule AS S ON S.PackageID = PT.PackageID
- WHERE PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 305 -- RAM of VPS
- SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
- INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
- INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
- WHERE SIP.PropertyName = 'RamSize' AND PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 306 -- HDD of VPS
- SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
- INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
- INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
- WHERE SIP.PropertyName = 'HddSize' AND PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 309 -- External IP addresses of VPS
- SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
- WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3)
- ELSE IF @QuotaID = 558 BEGIN -- RAM of VPS2012
- DECLARE @Result1 int
- SET @Result1 = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
- INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
- INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
- WHERE SIP.PropertyName = 'RamSize' AND PT.ParentPackageID = @PackageID)
- DECLARE @Result2 int
- SET @Result2 = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
- INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
- INNER JOIN ServiceItemProperties AS SIP2 ON
- SIP2.ItemID = SI.ItemID AND SIP2.PropertyName = 'DynamicMemory.Enabled' AND SIP2.PropertyValue = 'True'
- INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
- WHERE SIP.PropertyName = 'DynamicMemory.Maximum' AND PT.ParentPackageID = @PackageID)
- SET @Result = CASE WHEN isnull(@Result1,0) > isnull(@Result2,0) THEN @Result1 ELSE @Result2 END
- END
- ELSE IF @QuotaID = 559 -- HDD of VPS2012
- SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
- INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
- INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
- WHERE SIP.PropertyName = 'HddSize' AND PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 562 -- External IP addresses of VPS2012
- SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
- WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3)
- ELSE IF @QuotaID = 100 -- Dedicated Web IP addresses
- SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
- WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 2)
- ELSE IF @QuotaID = 350 -- RAM of VPSforPc
- SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
- INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
- INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
- WHERE SIP.PropertyName = 'Memory' AND PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 351 -- HDD of VPSforPc
- SET @Result = (SELECT SUM(CAST(SIP.PropertyValue AS int)) FROM ServiceItemProperties AS SIP
- INNER JOIN ServiceItems AS SI ON SIP.ItemID = SI.ItemID
- INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID
- WHERE SIP.PropertyName = 'HddSize' AND PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 354 -- External IP addresses of VPSforPc
- SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
- WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 3)
- ELSE IF @QuotaID = 319 -- BB Users
- SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts ea
- INNER JOIN BlackBerryUsers bu ON ea.AccountID = bu.AccountID
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE pt.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 320 -- OCS Users
- SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts ea
- INNER JOIN OCSUsers ocs ON ea.AccountID = ocs.AccountID
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE pt.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 206 -- HostedSolution.Users
- SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE pt.ParentPackageID = @PackageID AND ea.AccountType IN (1,5,6,7))
- ELSE IF @QuotaID = 78 -- Exchange2007.Mailboxes
- SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE pt.ParentPackageID = @PackageID
- AND ea.AccountType IN (1)
- AND ea.MailboxPlanId IS NOT NULL)
- ELSE IF @QuotaID = 77 -- Exchange2007.DiskSpace
- SET @Result = (SELECT SUM(B.MailboxSizeMB) FROM ExchangeAccounts AS ea
- INNER JOIN ExchangeMailboxPlans AS B ON ea.MailboxPlanId = B.MailboxPlanId
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE pt.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 370 -- Lync.Users
- SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
- INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE pt.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 376 -- Lync.EVUsers
- SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
- INNER JOIN LyncUsers lu ON ea.AccountID = lu.AccountID
- INNER JOIN LyncUserPlans lp ON lu.LyncUserPlanId = lp.LyncUserPlanId
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE pt.ParentPackageID = @PackageID AND lp.EnterpriseVoice = 1)
- ELSE IF @QuotaID = 381 -- Dedicated Lync Phone Numbers
- SET @Result = (SELECT COUNT(PIP.PackageAddressID) FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- INNER JOIN PackagesTreeCache AS PT ON PIP.PackageID = PT.PackageID
- WHERE PT.ParentPackageID = @PackageID AND IP.PoolID = 5)
- ELSE IF @QuotaID = 430 -- Enterprise Storage
- SET @Result = (SELECT SUM(ESF.FolderQuota) FROM EnterpriseFolders AS ESF
- INNER JOIN ServiceItems SI ON ESF.ItemID = SI.ItemID
- INNER JOIN PackagesTreeCache PT ON SI.PackageID = PT.PackageID
- WHERE PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 431 -- Enterprise Storage Folders
- SET @Result = (SELECT COUNT(ESF.EnterpriseFolderID) FROM EnterpriseFolders AS ESF
- INNER JOIN ServiceItems SI ON ESF.ItemID = SI.ItemID
- INNER JOIN PackagesTreeCache PT ON SI.PackageID = PT.PackageID
- WHERE PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 423 -- HostedSolution.SecurityGroups
- SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE pt.ParentPackageID = @PackageID AND ea.AccountType IN (8,9))
- ELSE IF @QuotaID = 495 -- HostedSolution.DeletedUsers
- SET @Result = (SELECT COUNT(ea.AccountID) FROM ExchangeAccounts AS ea
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE pt.ParentPackageID = @PackageID AND ea.AccountType = 11)
- ELSE IF @QuotaID = 450
- SET @Result = (SELECT COUNT(DISTINCT(RCU.[AccountId])) FROM [dbo].[RDSCollectionUsers] RCU
- INNER JOIN ExchangeAccounts EA ON EA.AccountId = RCU.AccountId
- INNER JOIN ServiceItems si ON ea.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 451
- SET @Result = (SELECT COUNT(RS.[ID]) FROM [dbo].[RDSServers] RS
- INNER JOIN ServiceItems si ON RS.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaID = 491
- SET @Result = (SELECT COUNT(RC.[ID]) FROM [dbo].[RDSCollections] RC
- INNER JOIN ServiceItems si ON RC.ItemID = si.ItemID
- INNER JOIN PackagesTreeCache pt ON si.PackageID = pt.PackageID
- WHERE PT.ParentPackageID = @PackageID)
- ELSE IF @QuotaName like 'ServiceLevel.%' -- Support Service Level Quota
- BEGIN
- DECLARE @LevelID int
-
- SELECT @LevelID = LevelID FROM SupportServiceLevels
- WHERE LevelName = REPLACE(@QuotaName,'ServiceLevel.','')
-
- IF (@LevelID IS NOT NULL)
- SET @Result = (SELECT COUNT(EA.AccountID)
- FROM SupportServiceLevels AS SL
- INNER JOIN ExchangeAccounts AS EA ON SL.LevelID = EA.LevelID
- INNER JOIN ServiceItems SI ON EA.ItemID = SI.ItemID
- INNER JOIN PackagesTreeCache PT ON SI.PackageID = PT.PackageID
- WHERE EA.LevelID = @LevelID AND PT.ParentPackageID = @PackageID)
- ELSE SET @Result = 0
- END
- ELSE
- SET @Result = (SELECT COUNT(SI.ItemID) FROM Quotas AS Q
- INNER JOIN ServiceItems AS SI ON SI.ItemTypeID = Q.ItemTypeID
- INNER JOIN PackagesTreeCache AS PT ON SI.PackageID = PT.PackageID AND PT.ParentPackageID = @PackageID
- WHERE Q.QuotaID = @QuotaID)
-
- RETURN @Result
- END
-GO
-
-IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='ExchangeMailboxPlans' AND COLS.name='EnableForceArchiveDeletion')
-BEGIN
- ALTER TABLE [dbo].[ExchangeMailboxPlans] ADD [EnableForceArchiveDeletion] [bit] NULL
-END
-GO
-
-ALTER PROCEDURE [dbo].[AddExchangeMailboxPlan]
-(
- @MailboxPlanId int OUTPUT,
- @ItemID int,
- @MailboxPlan nvarchar(300),
- @EnableActiveSync bit,
- @EnableIMAP bit,
- @EnableMAPI bit,
- @EnableOWA bit,
- @EnablePOP bit,
- @IsDefault bit,
- @IssueWarningPct int,
- @KeepDeletedItemsDays int,
- @MailboxSizeMB int,
- @MaxReceiveMessageSizeKB int,
- @MaxRecipients int,
- @MaxSendMessageSizeKB int,
- @ProhibitSendPct int,
- @ProhibitSendReceivePct int ,
- @HideFromAddressBook bit,
- @MailboxPlanType int,
- @AllowLitigationHold bit,
- @RecoverableItemsWarningPct int,
- @RecoverableItemsSpace int,
- @LitigationHoldUrl nvarchar(256),
- @LitigationHoldMsg nvarchar(512),
- @Archiving bit,
- @EnableArchiving bit,
- @ArchiveSizeMB int,
- @ArchiveWarningPct int,
- @EnableForceArchiveDeletion bit
-)
-AS
-
-IF (((SELECT Count(*) FROM ExchangeMailboxPlans WHERE ItemId = @ItemID) = 0) AND (@MailboxPlanType=0))
-BEGIN
- SET @IsDefault = 1
-END
-ELSE
-BEGIN
- IF ((@IsDefault = 1) AND (@MailboxPlanType=0))
- BEGIN
- UPDATE ExchangeMailboxPlans SET IsDefault = 0 WHERE ItemID = @ItemID
- END
-END
-
-INSERT INTO ExchangeMailboxPlans
-(
- ItemID,
- MailboxPlan,
- EnableActiveSync,
- EnableIMAP,
- EnableMAPI,
- EnableOWA,
- EnablePOP,
- IsDefault,
- IssueWarningPct,
- KeepDeletedItemsDays,
- MailboxSizeMB,
- MaxReceiveMessageSizeKB,
- MaxRecipients,
- MaxSendMessageSizeKB,
- ProhibitSendPct,
- ProhibitSendReceivePct,
- HideFromAddressBook,
- MailboxPlanType,
- AllowLitigationHold,
- RecoverableItemsWarningPct,
- RecoverableItemsSpace,
- LitigationHoldUrl,
- LitigationHoldMsg,
- Archiving,
- EnableArchiving,
- ArchiveSizeMB,
- ArchiveWarningPct,
- EnableForceArchiveDeletion
-)
-VALUES
-(
- @ItemID,
- @MailboxPlan,
- @EnableActiveSync,
- @EnableIMAP,
- @EnableMAPI,
- @EnableOWA,
- @EnablePOP,
- @IsDefault,
- @IssueWarningPct,
- @KeepDeletedItemsDays,
- @MailboxSizeMB,
- @MaxReceiveMessageSizeKB,
- @MaxRecipients,
- @MaxSendMessageSizeKB,
- @ProhibitSendPct,
- @ProhibitSendReceivePct,
- @HideFromAddressBook,
- @MailboxPlanType,
- @AllowLitigationHold,
- @RecoverableItemsWarningPct,
- @RecoverableItemsSpace,
- @LitigationHoldUrl,
- @LitigationHoldMsg,
- @Archiving,
- @EnableArchiving,
- @ArchiveSizeMB,
- @ArchiveWarningPct,
- @EnableForceArchiveDeletion
-)
-
-SET @MailboxPlanId = SCOPE_IDENTITY()
-
-RETURN
-GO
-
-ALTER PROCEDURE [dbo].[UpdateExchangeMailboxPlan]
-(
- @MailboxPlanId int,
- @MailboxPlan nvarchar(300),
- @EnableActiveSync bit,
- @EnableIMAP bit,
- @EnableMAPI bit,
- @EnableOWA bit,
- @EnablePOP bit,
- @IsDefault bit,
- @IssueWarningPct int,
- @KeepDeletedItemsDays int,
- @MailboxSizeMB int,
- @MaxReceiveMessageSizeKB int,
- @MaxRecipients int,
- @MaxSendMessageSizeKB int,
- @ProhibitSendPct int,
- @ProhibitSendReceivePct int ,
- @HideFromAddressBook bit,
- @MailboxPlanType int,
- @AllowLitigationHold bit,
- @RecoverableItemsWarningPct int,
- @RecoverableItemsSpace int,
- @LitigationHoldUrl nvarchar(256),
- @LitigationHoldMsg nvarchar(512),
- @Archiving bit,
- @EnableArchiving bit,
- @ArchiveSizeMB int,
- @ArchiveWarningPct int,
- @EnableForceArchiveDeletion bit
-)
-AS
-
-UPDATE ExchangeMailboxPlans SET
- MailboxPlan = @MailboxPlan,
- EnableActiveSync = @EnableActiveSync,
- EnableIMAP = @EnableIMAP,
- EnableMAPI = @EnableMAPI,
- EnableOWA = @EnableOWA,
- EnablePOP = @EnablePOP,
- IsDefault = @IsDefault,
- IssueWarningPct= @IssueWarningPct,
- KeepDeletedItemsDays = @KeepDeletedItemsDays,
- MailboxSizeMB= @MailboxSizeMB,
- MaxReceiveMessageSizeKB= @MaxReceiveMessageSizeKB,
- MaxRecipients= @MaxRecipients,
- MaxSendMessageSizeKB= @MaxSendMessageSizeKB,
- ProhibitSendPct= @ProhibitSendPct,
- ProhibitSendReceivePct = @ProhibitSendReceivePct,
- HideFromAddressBook = @HideFromAddressBook,
- MailboxPlanType = @MailboxPlanType,
- AllowLitigationHold = @AllowLitigationHold,
- RecoverableItemsWarningPct = @RecoverableItemsWarningPct,
- RecoverableItemsSpace = @RecoverableItemsSpace,
- LitigationHoldUrl = @LitigationHoldUrl,
- LitigationHoldMsg = @LitigationHoldMsg,
- Archiving = @Archiving,
- EnableArchiving = @EnableArchiving,
- ArchiveSizeMB = @ArchiveSizeMB,
- ArchiveWarningPct = @ArchiveWarningPct,
- EnableForceArchiveDeletion = @EnableForceArchiveDeletion
-WHERE MailboxPlanId = @MailboxPlanId
-
-RETURN
-GO
-
-ALTER PROCEDURE [dbo].[GetExchangeMailboxPlan]
-(
- @MailboxPlanId int
-)
-AS
-SELECT
- MailboxPlanId,
- ItemID,
- MailboxPlan,
- EnableActiveSync,
- EnableIMAP,
- EnableMAPI,
- EnableOWA,
- EnablePOP,
- IsDefault,
- IssueWarningPct,
- KeepDeletedItemsDays,
- MailboxSizeMB,
- MaxReceiveMessageSizeKB,
- MaxRecipients,
- MaxSendMessageSizeKB,
- ProhibitSendPct,
- ProhibitSendReceivePct,
- HideFromAddressBook,
- MailboxPlanType,
- AllowLitigationHold,
- RecoverableItemsWarningPct,
- RecoverableItemsSpace,
- LitigationHoldUrl,
- LitigationHoldMsg,
- Archiving,
- EnableArchiving,
- ArchiveSizeMB,
- ArchiveWarningPct,
- EnableForceArchiveDeletion
-FROM
- ExchangeMailboxPlans
-WHERE
- MailboxPlanId = @MailboxPlanId
-RETURN
-GO
-
-ALTER PROCEDURE [dbo].[GetExchangeMailboxPlans]
-(
- @ItemID int,
- @Archiving bit
-)
-AS
-SELECT
- MailboxPlanId,
- ItemID,
- MailboxPlan,
- EnableActiveSync,
- EnableIMAP,
- EnableMAPI,
- EnableOWA,
- EnablePOP,
- IsDefault,
- IssueWarningPct,
- KeepDeletedItemsDays,
- MailboxSizeMB,
- MaxReceiveMessageSizeKB,
- MaxRecipients,
- MaxSendMessageSizeKB,
- ProhibitSendPct,
- ProhibitSendReceivePct,
- HideFromAddressBook,
- MailboxPlanType,
- Archiving,
- EnableArchiving,
- ArchiveSizeMB,
- ArchiveWarningPct,
- EnableForceArchiveDeletion
-FROM
- ExchangeMailboxPlans
-WHERE
- ItemID = @ItemID
-AND ((Archiving=@Archiving) OR ((@Archiving=0) AND (Archiving IS NULL)))
-ORDER BY MailboxPlan
-RETURN
-GO
-
-IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTasks] WHERE [TaskID] = 'SCHEDULE_TASK_DELETE_EXCHANGE_ACCOUNTS')
-BEGIN
-INSERT INTO [dbo].[ScheduleTasks] ([TaskID], [TaskType], [RoleID]) VALUES (N'SCHEDULE_TASK_DELETE_EXCHANGE_ACCOUNTS', N'WebsitePanel.EnterpriseServer.DeleteExchangeAccountsTask, WebsitePanel.EnterpriseServer.Code', 3)
-END
-GO
-
-
-
-
-
-ALTER PROCEDURE [dbo].[UpdateServiceItem]
-(
- @ActorID int,
- @ItemID int,
- @ItemName nvarchar(500),
- @XmlProperties ntext
-)
-AS
-BEGIN TRAN
-
--- check rights
-DECLARE @PackageID int
-SELECT PackageID = @PackageID FROM ServiceItems
-WHERE ItemID = @ItemID
-
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-RAISERROR('You are not allowed to access this package', 16, 1)
-
--- update item
-UPDATE ServiceItems SET ItemName = @ItemName
-WHERE ItemID=@ItemID
-
-DECLARE @idoc int
---Create an internal representation of the XML document.
-EXEC sp_xml_preparedocument @idoc OUTPUT, @XmlProperties
-
--- Execute a SELECT statement that uses the OPENXML rowset provider.
-DELETE FROM ServiceItemProperties
-WHERE ItemID = @ItemID
-
--- Add the xml data into a temp table for the capability and robust
-IF OBJECT_ID('tempdb..#TempTable') IS NOT NULL DROP TABLE #TempTable
-
-CREATE TABLE #TempTable(
- ItemID int,
- PropertyName nvarchar(50),
- PropertyValue nvarchar(3000))
-
-INSERT INTO #TempTable (ItemID, PropertyName, PropertyValue)
-SELECT
- @ItemID,
- PropertyName,
- PropertyValue
-FROM OPENXML(@idoc, '/properties/property',1) WITH
-(
- PropertyName nvarchar(50) '@name',
- PropertyValue nvarchar(3000) '@value'
-) as PV
-
--- Move data from temp table to real table
-INSERT INTO ServiceItemProperties
-(
- ItemID,
- PropertyName,
- PropertyValue
-)
-SELECT
- ItemID,
- PropertyName,
- PropertyValue
-FROM #TempTable
-
-DROP TABLE #TempTable
-
--- remove document
-exec sp_xml_removedocument @idoc
-
-COMMIT TRAN
-
-RETURN
-GO
-
-
--- Password column removed
-IF OBJECTPROPERTY(object_id('dbo.GetExchangeAccountByAccountNameWithoutItemId'), N'IsProcedure') = 1
-DROP PROCEDURE [dbo].[GetExchangeAccountByAccountNameWithoutItemId]
-GO
-CREATE PROCEDURE [dbo].[GetExchangeAccountByAccountNameWithoutItemId]
-(
- @UserPrincipalName nvarchar(300)
-)
-AS
-SELECT
- E.AccountID,
- E.ItemID,
- E.AccountType,
- E.AccountName,
- E.DisplayName,
- E.PrimaryEmailAddress,
- E.MailEnabledPublicFolder,
- E.MailboxManagerActions,
- E.SamAccountName,
- E.MailboxPlanId,
- P.MailboxPlan,
- E.SubscriberNumber,
- E.UserPrincipalName,
- E.ArchivingMailboxPlanId,
- AP.MailboxPlan as 'ArchivingMailboxPlan',
- E.EnableArchiving
-FROM
- ExchangeAccounts AS E
-LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
-LEFT OUTER JOIN ExchangeMailboxPlans AS AP ON E.ArchivingMailboxPlanId = AP.MailboxPlanId
-WHERE
- E.UserPrincipalName = @UserPrincipalName
-RETURN
-GO
-
-
-
---Webdav portal users settings
-
-IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'WebDavPortalUsersSettings')
-CREATE TABLE WebDavPortalUsersSettings
-(
- ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
- AccountId INT NOT NULL,
- Settings NVARCHAR(max)
-)
-GO
-
-IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_NAME ='FK_WebDavPortalUsersSettings_UserId')
-ALTER TABLE [dbo].[WebDavPortalUsersSettings]
-DROP CONSTRAINT [FK_WebDavPortalUsersSettings_UserId]
-GO
-
-ALTER TABLE [dbo].[WebDavPortalUsersSettings] WITH CHECK ADD CONSTRAINT [FK_WebDavPortalUsersSettings_UserId] FOREIGN KEY([AccountID])
-REFERENCES [dbo].[ExchangeAccounts] ([AccountID])
-ON DELETE CASCADE
-GO
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetWebDavPortalUsersSettingsByAccountId')
-DROP PROCEDURE GetWebDavPortalUsersSettingsByAccountId
-GO
-CREATE PROCEDURE [dbo].[GetWebDavPortalUsersSettingsByAccountId]
-(
- @AccountId INT
-)
-AS
-SELECT TOP 1
- US.Id,
- US.AccountId,
- US.Settings
- FROM WebDavPortalUsersSettings AS US
- WHERE AccountId = @AccountId
-GO
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddWebDavPortalUsersSettings')
-DROP PROCEDURE AddWebDavPortalUsersSettings
-GO
-CREATE PROCEDURE [dbo].[AddWebDavPortalUsersSettings]
-(
- @WebDavPortalUsersSettingsId INT OUTPUT,
- @AccountId INT,
- @Settings NVARCHAR(max)
-)
-AS
-
-INSERT INTO WebDavPortalUsersSettings
-(
- AccountId,
- Settings
-)
-VALUES
-(
- @AccountId,
- @Settings
-)
-
-SET @WebDavPortalUsersSettingsId = SCOPE_IDENTITY()
-
-RETURN
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateWebDavPortalUsersSettings')
-DROP PROCEDURE UpdateWebDavPortalUsersSettings
-GO
-CREATE PROCEDURE [dbo].[UpdateWebDavPortalUsersSettings]
-(
- @AccountId INT,
- @Settings NVARCHAR(max)
-)
-AS
-
-UPDATE WebDavPortalUsersSettings
-SET
- Settings = @Settings
-WHERE AccountId = @AccountId
-GO
-
-IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'SmarterMail 10.x +')
-BEGIN
-INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES(66, 4, N'SmarterMail', N'SmarterMail 10.x +', N'WebsitePanel.Providers.Mail.SmarterMail10, WebsitePanel.Providers.Mail.SmarterMail10', N'SmarterMail100', NULL)
-END
-ELSE
-BEGIN
-UPDATE [dbo].[Providers] SET [EditorControl] = 'SmarterMail100' WHERE [DisplayName] = 'SmarterMail 10.x +'
-END
-GO
-
-
--- Service items count by name and serviceid
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetServiceItemsCountByNameAndServiceId')
-DROP PROCEDURE GetServiceItemsCountByNameAndServiceId
-GO
-
-CREATE PROCEDURE [dbo].[GetServiceItemsCountByNameAndServiceId]
-(
- @ActorID int,
- @ServiceId int,
- @ItemName nvarchar(500),
- @GroupName nvarchar(100) = NULL,
- @ItemTypeName nvarchar(200)
-)
-AS
-SELECT Count(*)
-FROM ServiceItems AS SI
-INNER JOIN ServiceItemTypes AS SIT ON SI.ItemTypeID = SIT.ItemTypeID
-INNER JOIN ResourceGroups AS RG ON SIT.GroupID = RG.GroupID
-INNER JOIN Services AS S ON SI.ServiceID = S.ServiceID
-WHERE S.ServiceID = @ServiceId
-AND SIT.TypeName = @ItemTypeName
-AND SI.ItemName = @ItemName
-AND ((@GroupName IS NULL) OR (@GroupName IS NOT NULL AND RG.GroupName = @GroupName))
-RETURN
-GO
-
--- Hyper-V 2012 R2 Provider
-IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'VPS2012')
-BEGIN
-INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController], [ShowGroup]) VALUES (33, N'VPS2012', 19, NULL, 1)
-
-INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (41, 33, N'VirtualMachine', N'WebsitePanel.Providers.Virtualization.VirtualMachine, WebsitePanel.Providers.Base', 1, 0, 0, 1, 1, 1, 0, 0)
-
-INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (42, 33, N'VirtualSwitch', N'WebsitePanel.Providers.Virtualization.VirtualSwitch, WebsitePanel.Providers.Base', 2, 0, 0, 1, 1, 1, 0, 0)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (553, 33, 1, N'VPS2012.ServersNumber', N'Number of VPS', 2, 0, 41, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (554, 33, 2, N'VPS2012.ManagingAllowed', N'Allow user to create VPS', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (555, 33, 3, N'VPS2012.CpuNumber', N'Number of CPU cores', 3, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (556, 33, 7, N'VPS2012.BootCdAllowed', N'Boot from CD allowed', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (557, 33, 8, N'VPS2012.BootCdEnabled', N'Boot from CD', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (558, 33, 4, N'VPS2012.Ram', N'RAM size, MB', 2, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (559, 33, 5, N'VPS2012.Hdd', N'Hard Drive size, GB', 2, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (560, 33, 6, N'VPS2012.DvdEnabled', N'DVD drive', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (561, 33, 10, N'VPS2012.ExternalNetworkEnabled', N'External Network', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (562, 33, 11, N'VPS2012.ExternalIPAddressesNumber', N'Number of External IP addresses', 2, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (563, 33, 13, N'VPS2012.PrivateNetworkEnabled', N'Private Network', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (564, 33, 14, N'VPS2012.PrivateIPAddressesNumber', N'Number of Private IP addresses per VPS', 3, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (565, 33, 9, N'VPS2012.SnapshotsNumber', N'Number of Snaphots', 3, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (566, 33, 15, N'VPS2012.StartShutdownAllowed', N'Allow user to Start, Turn off and Shutdown VPS', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (567, 33, 16, N'VPS2012.PauseResumeAllowed', N'Allow user to Pause, Resume VPS', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (568, 33, 17, N'VPS2012.RebootAllowed', N'Allow user to Reboot VPS', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (569, 33, 18, N'VPS2012.ResetAlowed', N'Allow user to Reset VPS', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (570, 33, 19, N'VPS2012.ReinstallAllowed', N'Allow user to Re-install VPS', 1, 0, NULL, NULL)
-
-INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (571, 33, 12, N'VPS2012.Bandwidth', N'Monthly bandwidth, GB', 2, 0, NULL, NULL)
-
-END
-GO
-
-IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaID] = '572')
-BEGIN
- INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID], [HideQuota]) VALUES (572, 33, 20, N'VPS2012.ReplicationEnabled', N'Allow user to Replication', 1, 0, NULL, NULL)
-END
-GO
-
-IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [ProviderName] = 'HyperV2012R2')
-BEGIN
-INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (350, 33, N'HyperV2012R2', N'Microsoft Hyper-V 2012 R2', N'WebsitePanel.Providers.Virtualization.HyperV2012R2, WebsitePanel.Providers.Virtualization.HyperV2012R2', N'HyperV2012R2', 1)
-END
-ELSE
-BEGIN
-UPDATE [dbo].[Providers] SET [EditorControl] = N'HyperV2012R2', [GroupID] = 33 WHERE [ProviderName] = 'HyperV2012R2'
-END
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetVirtualMachinesPagedForPC')
-DROP PROCEDURE GetVirtualMachinesPagedForPC
-GO
-CREATE PROCEDURE [dbo].[GetVirtualMachinesPagedForPC]
-(
- @ActorID int,
- @PackageID int,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int,
- @Recursive bit
-)
-AS
-
-
--- check rights
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-BEGIN
- RAISERROR('You are not allowed to access this package', 16, 1)
- RETURN
-END
-
--- start
-DECLARE @condition nvarchar(700)
-SET @condition = '
-SI.ItemTypeID = 35 -- VPS
-AND ((@Recursive = 0 AND P.PackageID = @PackageID)
-OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, P.PackageID) = 1))
-'
-
-IF @FilterValue <> '' AND @FilterValue IS NOT NULL
-BEGIN
- IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
- SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
- ELSE
- SET @condition = @condition + '
- AND (ItemName LIKE ''' + @FilterValue + '''
- OR Username LIKE ''' + @FilterValue + '''
- OR ExternalIP LIKE ''' + @FilterValue + '''
- OR IPAddress LIKE ''' + @FilterValue + ''')'
-END
-
-IF @SortColumn IS NULL OR @SortColumn = ''
-SET @SortColumn = 'SI.ItemName ASC'
-
-DECLARE @sql nvarchar(3500)
-
-set @sql = '
-SELECT COUNT(SI.ItemID) FROM Packages AS P
-INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
-INNER JOIN Users AS U ON P.UserID = U.UserID
-LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
-) AS EIP ON SI.ItemID = EIP.ItemID
-LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
-WHERE ' + @condition + '
-
-DECLARE @Items AS TABLE
-(
- ItemID int
-);
-
-WITH TempItems AS (
- SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row,
- SI.ItemID
- FROM Packages AS P
- INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
- INNER JOIN Users AS U ON P.UserID = U.UserID
- LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
- ) AS EIP ON SI.ItemID = EIP.ItemID
- LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
- WHERE ' + @condition + '
-)
-
-INSERT INTO @Items
-SELECT ItemID FROM TempItems
-WHERE TempItems.Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows
-
-SELECT
- SI.ItemID,
- SI.ItemName,
- SI.PackageID,
- P.PackageName,
- P.UserID,
- U.Username,
-
- EIP.ExternalIP,
- PIP.IPAddress
-FROM @Items AS TSI
-INNER JOIN ServiceItems AS SI ON TSI.ItemID = SI.ItemID
-INNER JOIN Packages AS P ON SI.PackageID = P.PackageID
-INNER JOIN Users AS U ON P.UserID = U.UserID
-LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
-) AS EIP ON SI.ItemID = EIP.ItemID
-LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
-'
-
---print @sql
-
-exec sp_executesql @sql, N'@PackageID int, @StartRow int, @MaximumRows int, @Recursive bit',
-@PackageID, @StartRow, @MaximumRows, @Recursive
-
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetVirtualMachinesPaged2012')
-DROP PROCEDURE GetVirtualMachinesPaged2012
-GO
-CREATE PROCEDURE [dbo].[GetVirtualMachinesPaged2012]
-(
- @ActorID int,
- @PackageID int,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int,
- @Recursive bit
-)
-AS
--- check rights
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-RAISERROR('You are not allowed to access this package', 16, 1)
-
--- start
-DECLARE @condition nvarchar(700)
-SET @condition = '
-SI.ItemTypeID = 41 -- VPS2012
-AND ((@Recursive = 0 AND P.PackageID = @PackageID)
-OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, P.PackageID) = 1))
-'
-
-IF @FilterValue <> '' AND @FilterValue IS NOT NULL
-BEGIN
- IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
- SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
- ELSE
- SET @condition = @condition + '
- AND (ItemName LIKE ''' + @FilterValue + '''
- OR Username LIKE ''' + @FilterValue + '''
- OR ExternalIP LIKE ''' + @FilterValue + '''
- OR IPAddress LIKE ''' + @FilterValue + ''')'
-END
-
-IF @SortColumn IS NULL OR @SortColumn = ''
-SET @SortColumn = 'SI.ItemName ASC'
-
-DECLARE @sql nvarchar(3500)
-
-set @sql = '
-SELECT COUNT(SI.ItemID) FROM Packages AS P
-INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
-INNER JOIN Users AS U ON P.UserID = U.UserID
-LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
-) AS EIP ON SI.ItemID = EIP.ItemID
-LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
-WHERE ' + @condition + '
-
-DECLARE @Items AS TABLE
-(
- ItemID int
-);
-
-WITH TempItems AS (
- SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row,
- SI.ItemID
- FROM Packages AS P
- INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
- INNER JOIN Users AS U ON P.UserID = U.UserID
- LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
- ) AS EIP ON SI.ItemID = EIP.ItemID
- LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
- WHERE ' + @condition + '
-)
-
-INSERT INTO @Items
-SELECT ItemID FROM TempItems
-WHERE TempItems.Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows
-
-SELECT
- SI.ItemID,
- SI.ItemName,
- SI.PackageID,
- P.PackageName,
- P.UserID,
- U.Username,
-
- EIP.ExternalIP,
- PIP.IPAddress
-FROM @Items AS TSI
-INNER JOIN ServiceItems AS SI ON TSI.ItemID = SI.ItemID
-INNER JOIN Packages AS P ON SI.PackageID = P.PackageID
-INNER JOIN Users AS U ON P.UserID = U.UserID
-LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
-) AS EIP ON SI.ItemID = EIP.ItemID
-LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
-'
-
---print @sql
-
-exec sp_executesql @sql, N'@PackageID int, @StartRow int, @MaximumRows int, @Recursive bit',
-@PackageID, @StartRow, @MaximumRows, @Recursive
-
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetVirtualMachinesPaged')
-DROP PROCEDURE GetVirtualMachinesPaged
-GO
-CREATE PROCEDURE [dbo].[GetVirtualMachinesPaged]
-(
- @ActorID int,
- @PackageID int,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int,
- @Recursive bit
-)
-AS
-
-
--- check rights
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-RAISERROR('You are not allowed to access this package', 16, 1)
-
--- start
-DECLARE @condition nvarchar(700)
-SET @condition = '
-SI.ItemTypeID = 33 -- VPS
-AND ((@Recursive = 0 AND P.PackageID = @PackageID)
-OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, P.PackageID) = 1))
-'
-
-IF @FilterValue <> '' AND @FilterValue IS NOT NULL
-BEGIN
- IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
- SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
- ELSE
- SET @condition = @condition + '
- AND (ItemName LIKE ''' + @FilterValue + '''
- OR Username LIKE ''' + @FilterValue + '''
- OR ExternalIP LIKE ''' + @FilterValue + '''
- OR IPAddress LIKE ''' + @FilterValue + ''')'
-END
-
-IF @SortColumn IS NULL OR @SortColumn = ''
-SET @SortColumn = 'SI.ItemName ASC'
-
-DECLARE @sql nvarchar(3500)
-
-set @sql = '
-SELECT COUNT(SI.ItemID) FROM Packages AS P
-INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
-INNER JOIN Users AS U ON P.UserID = U.UserID
-LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
-) AS EIP ON SI.ItemID = EIP.ItemID
-LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
-WHERE ' + @condition + '
-
-DECLARE @Items AS TABLE
-(
- ItemID int
-);
-
-WITH TempItems AS (
- SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row,
- SI.ItemID
- FROM Packages AS P
- INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
- INNER JOIN Users AS U ON P.UserID = U.UserID
- LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
- ) AS EIP ON SI.ItemID = EIP.ItemID
- LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
- WHERE ' + @condition + '
-)
-
-INSERT INTO @Items
-SELECT ItemID FROM TempItems
-WHERE TempItems.Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows
-
-SELECT
- SI.ItemID,
- SI.ItemName,
- SI.PackageID,
- P.PackageName,
- P.UserID,
- U.Username,
-
- EIP.ExternalIP,
- PIP.IPAddress
-FROM @Items AS TSI
-INNER JOIN ServiceItems AS SI ON TSI.ItemID = SI.ItemID
-INNER JOIN Packages AS P ON SI.PackageID = P.PackageID
-INNER JOIN Users AS U ON P.UserID = U.UserID
-LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
-) AS EIP ON SI.ItemID = EIP.ItemID
-LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
-'
-
---print @sql
-
-exec sp_executesql @sql, N'@PackageID int, @StartRow int, @MaximumRows int, @Recursive bit',
-@PackageID, @StartRow, @MaximumRows, @Recursive
-
-RETURN
-GO
-
---ES OWA Editing
-IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'EnterpriseFoldersOwaPermissions')
-CREATE TABLE EnterpriseFoldersOwaPermissions
-(
- ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
- ItemID INT NOT NULL,
- FolderID INT NOT NULL,
- AccountID INT NOT NULL
-)
-GO
-
-IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_NAME ='FK_EnterpriseFoldersOwaPermissions_AccountId')
-ALTER TABLE [dbo].[EnterpriseFoldersOwaPermissions]
-DROP CONSTRAINT [FK_EnterpriseFoldersOwaPermissions_AccountId]
-GO
-
-ALTER TABLE [dbo].[EnterpriseFoldersOwaPermissions] WITH CHECK ADD CONSTRAINT [FK_EnterpriseFoldersOwaPermissions_AccountId] FOREIGN KEY([AccountID])
-REFERENCES [dbo].[ExchangeAccounts] ([AccountID])
-ON DELETE CASCADE
-GO
-
-IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_NAME ='FK_EnterpriseFoldersOwaPermissions_FolderId')
-ALTER TABLE [dbo].[EnterpriseFoldersOwaPermissions]
-DROP CONSTRAINT [FK_EnterpriseFoldersOwaPermissions_FolderId]
-GO
-
-ALTER TABLE [dbo].[EnterpriseFoldersOwaPermissions] WITH CHECK ADD CONSTRAINT [FK_EnterpriseFoldersOwaPermissions_FolderId] FOREIGN KEY([FolderID])
-REFERENCES [dbo].[EnterpriseFolders] ([EnterpriseFolderID])
-ON DELETE CASCADE
-GO
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteAllEnterpriseFolderOwaUsers')
-DROP PROCEDURE DeleteAllEnterpriseFolderOwaUsers
-GO
-CREATE PROCEDURE [dbo].[DeleteAllEnterpriseFolderOwaUsers]
-(
- @ItemID int,
- @FolderID int
-)
-AS
-DELETE FROM EnterpriseFoldersOwaPermissions
-WHERE ItemId = @ItemID AND FolderID = @FolderID
-GO
-
-
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddEnterpriseFolderOwaUser')
-DROP PROCEDURE AddEnterpriseFolderOwaUser
-GO
-CREATE PROCEDURE [dbo].[AddEnterpriseFolderOwaUser]
-(
- @ESOwsaUserId INT OUTPUT,
- @ItemID INT,
- @FolderID INT,
- @AccountID INT
-)
-AS
-INSERT INTO EnterpriseFoldersOwaPermissions
-(
- ItemID ,
- FolderID,
- AccountID
-)
-VALUES
-(
- @ItemID,
- @FolderID,
- @AccountID
-)
-
-SET @ESOwsaUserId = SCOPE_IDENTITY()
-
-RETURN
-GO
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetEnterpriseFolderOwaUsers')
-DROP PROCEDURE GetEnterpriseFolderOwaUsers
-GO
-CREATE PROCEDURE [dbo].[GetEnterpriseFolderOwaUsers]
-(
- @ItemID INT,
- @FolderID INT
-)
-AS
-SELECT
- EA.AccountID,
- EA.ItemID,
- EA.AccountType,
- EA.AccountName,
- EA.DisplayName,
- EA.PrimaryEmailAddress,
- EA.MailEnabledPublicFolder,
- EA.MailboxPlanId,
- EA.SubscriberNumber,
- EA.UserPrincipalName
- FROM EnterpriseFoldersOwaPermissions AS EFOP
- LEFT JOIN ExchangeAccounts AS EA ON EA.AccountID = EFOP.AccountID
- WHERE EFOP.ItemID = @ItemID AND EFOP.FolderID = @FolderID
-GO
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetEnterpriseFolderId')
-DROP PROCEDURE GetEnterpriseFolderId
-GO
-CREATE PROCEDURE [dbo].[GetEnterpriseFolderId]
-(
- @ItemID INT,
- @FolderName varchar(max)
-)
-AS
-SELECT TOP 1
- EnterpriseFolderID
- FROM EnterpriseFolders
- WHERE ItemId = @ItemID AND FolderName = @FolderName
-GO
-
-
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetUserEnterpriseFolderWithOwaEditPermission')
-DROP PROCEDURE GetUserEnterpriseFolderWithOwaEditPermission
-GO
-CREATE PROCEDURE [dbo].[GetUserEnterpriseFolderWithOwaEditPermission]
-(
- @ItemID INT,
- @AccountID INT
-)
-AS
-SELECT
- EF.FolderName
- FROM EnterpriseFoldersOwaPermissions AS EFOP
- LEFT JOIN [dbo].[EnterpriseFolders] AS EF ON EF.EnterpriseFolderID = EFOP.FolderID
- WHERE EFOP.ItemID = @ItemID AND EFOP.AccountID = @AccountID
-GO
-
-
--- CRM2015 Provider
-
-IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Hosted MS CRM 2015')
-BEGIN
-INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery])
-VALUES(1205, 24, N'CRM', N'Hosted MS CRM 2015', N'WebsitePanel.Providers.HostedSolution.CRMProvider2015, WebsitePanel.Providers.HostedSolution.Crm2015', N'CRM2011', NULL)
-END
-GO
-
--- RDS Setup Instructions
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'CC' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'CC', N'support@HostingCompany.com')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'From' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'From', N'support@HostingCompany.com')
-END
-GO
-
-DECLARE @RDSSetupLetterHtmlBody nvarchar(2500)
-
-Set @RDSSetupLetterHtmlBody = N'
-
-
RDS Setup Information
-
-
-
-
-';
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'HtmlBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'HtmlBody', @RDSSetupLetterHtmlBody)
-END
-ELSE
-UPDATE [dbo].[UserSettings] SET [PropertyValue] = @RDSSetupLetterHtmlBody WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'HtmlBody'
-GO
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'Priority' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'Priority', N'Normal')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'Subject' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'Subject', N'RDS setup')
-END
-GO
-
-DECLARE @RDSSetupLetterTextBody nvarchar(2500)
-
-Set @RDSSetupLetterTextBody = N'=================================
- RDS Setup Information
-=================================
-
-Hello #user.FirstName#,
-
-
-Please, find below RDS setup instructions.
-
-If you have any questions, feel free to contact our support department at any time.
-
-Best regards'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'TextBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'RDSSetupLetter', N'TextBody', @RDSSetupLetterTextBody)
-END
-ELSE
-UPDATE [dbo].[UserSettings] SET [PropertyValue] = @RDSSetupLetterTextBody WHERE [UserID] = 1 AND [SettingsName]= N'RDSSetupLetter' AND [PropertyName]= N'TextBody'
-GO
-
-IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE GroupName = 'Sharepoint Foundation Server')
-BEGIN
- DECLARE @group_order AS INT
- DECLARE @group_controller AS NVARCHAR(1000)
- DECLARE @group_id AS INT
- DECLARE @provider_id AS INT
-
- UPDATE [dbo].[ResourceGroups] SET GroupName = 'Sharepoint Foundation Server' WHERE GroupName = 'Hosted Sharepoint'
- SELECT @group_order = GroupOrder, @group_controller = GroupController FROM [dbo].[ResourceGroups] WHERE GroupName = 'Sharepoint Foundation Server'
- SELECT TOP 1 @group_id = GroupId + 1 From [dbo].[ResourceGroups] ORDER BY GroupID DESC
- SELECT TOP 1 @provider_id = ProviderId + 1 From [dbo].[Providers] ORDER BY ProviderID DESC
- UPDATE [dbo].[ResourceGroups] SET GroupOrder = GroupOrder + 1 WHERE GroupOrder > @group_order
- INSERT INTO [dbo].[ResourceGroups] (GroupID, GroupName, GroupOrder, GroupController, ShowGroup) VALUES (@group_id, 'Sharepoint Server', @group_order + 1, @group_controller, 1)
- INSERT INTO [dbo].[Providers] (ProviderID, GroupID, ProviderName, DisplayName, ProviderType, EditorControl, DisableAutoDiscovery)
- (SELECT @provider_id, @group_id, ProviderName, DisplayName, ProviderType, EditorControl, DisableAutoDiscovery FROM [dbo].[Providers] WHERE ProviderName = 'HostedSharePoint2013')
-
- INSERT INTO [dbo].[Quotas] (QuotaID, GroupID, QuotaOrder, QuotaName, QuotaDescription, QuotaTypeID, ServiceQuota)
- VALUES (550, @group_id, 1, 'HostedSharePointServer.Sites', 'SharePoint Site Collections', 2, 0)
- INSERT INTO [dbo].[Quotas] (QuotaID, GroupID, QuotaOrder, QuotaName, QuotaDescription, QuotaTypeID, ServiceQuota)
- VALUES (551, @group_id, 2, 'HostedSharePointServer.MaxStorage', 'Max site storage, MB', 3, 0)
- INSERT INTO [dbo].[Quotas] (QuotaID, GroupID, QuotaOrder, QuotaName, QuotaDescription, QuotaTypeID, ServiceQuota)
- VALUES (552, @group_id, 3, 'HostedSharePointServer.UseSharedSSL', 'Use shared SSL Root', 1, 0)
-END
-
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetLyncUsers')
-DROP PROCEDURE GetLyncUsers
-GO
-
-SET ANSI_NULLS ON
-GO
-SET QUOTED_IDENTIFIER OFF
-GO
-
-CREATE PROCEDURE [dbo].[GetLyncUsers]
-(
- @ItemID int,
- @SortColumn nvarchar(40),
- @SortDirection nvarchar(20),
- @StartRow int,
- @Count int
-)
-AS
-
-CREATE TABLE #TempLyncUsers
-(
- [ID] [int] IDENTITY(1,1) NOT NULL,
- [AccountID] [int],
- [ItemID] [int] NOT NULL,
- [AccountName] [nvarchar](300) NOT NULL,
- [DisplayName] [nvarchar](300) NOT NULL,
- [UserPrincipalName] [nvarchar](300) NULL,
- [SipAddress] [nvarchar](300) NULL,
- [SamAccountName] [nvarchar](100) NULL,
- [LyncUserPlanId] [int] NOT NULL,
- [LyncUserPlanName] [nvarchar] (300) NOT NULL,
-)
-
-DECLARE @condition nvarchar(700)
-SET @condition = ''
-
-IF (@SortColumn = 'DisplayName')
-BEGIN
- SET @condition = 'ORDER BY ea.DisplayName'
-END
-
-IF (@SortColumn = 'UserPrincipalName')
-BEGIN
- SET @condition = 'ORDER BY ea.UserPrincipalName'
-END
-
-IF (@SortColumn = 'SipAddress')
-BEGIN
- SET @condition = 'ORDER BY ou.SipAddress'
-END
-
-IF (@SortColumn = 'LyncUserPlanName')
-BEGIN
- SET @condition = 'ORDER BY lp.LyncUserPlanName'
-END
-
-DECLARE @sql nvarchar(3500)
-
-set @sql = '
- INSERT INTO
- #TempLyncUsers
- SELECT
- ea.AccountID,
- ea.ItemID,
- ea.AccountName,
- ea.DisplayName,
- ea.UserPrincipalName,
- ou.SipAddress,
- ea.SamAccountName,
- ou.LyncUserPlanId,
- lp.LyncUserPlanName
- FROM
- ExchangeAccounts ea
- INNER JOIN
- LyncUsers ou
- INNER JOIN
- LyncUserPlans lp
- ON
- ou.LyncUserPlanId = lp.LyncUserPlanId
- ON
- ea.AccountID = ou.AccountID
- WHERE
- ea.ItemID = @ItemID ' + @condition
-
-exec sp_executesql @sql, N'@ItemID int',@ItemID
-
-DECLARE @RetCount int
-SELECT @RetCount = COUNT(ID) FROM #TempLyncUsers
-
-IF (@SortDirection = 'ASC')
-BEGIN
- SELECT * FROM #TempLyncUsers
- WHERE ID > @StartRow AND ID <= (@StartRow + @Count)
-END
-ELSE
-BEGIN
- IF @SortColumn <> '' AND @SortColumn IS NOT NULL
- BEGIN
- IF (@SortColumn = 'DisplayName')
- BEGIN
- SELECT * FROM #TempLyncUsers
- WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY DisplayName DESC
- END
- IF (@SortColumn = 'UserPrincipalName')
- BEGIN
- SELECT * FROM #TempLyncUsers
- WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY UserPrincipalName DESC
- END
-
- IF (@SortColumn = 'SipAddress')
- BEGIN
- SELECT * FROM #TempLyncUsers
- WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY SipAddress DESC
- END
-
- IF (@SortColumn = 'LyncUserPlanName')
- BEGIN
- SELECT * FROM #TempLyncUsers
- WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY LyncUserPlanName DESC
- END
- END
- ELSE
- BEGIN
- SELECT * FROM #TempLyncUsers
- WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY UserPrincipalName DESC
- END
-END
-
-DROP TABLE #TempLyncUsers
-
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'SearchOrganizationAccounts')
-DROP PROCEDURE SearchOrganizationAccounts
-GO
-SET ANSI_NULLS ON
-GO
-SET QUOTED_IDENTIFIER OFF
-GO
-
-CREATE PROCEDURE [dbo].[SearchOrganizationAccounts]
-(
- @ActorID int,
- @ItemID int,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @SortColumn nvarchar(50),
- @IncludeMailboxes bit
-)
-AS
-DECLARE @PackageID int
-SELECT @PackageID = PackageID FROM ServiceItems
-WHERE ItemID = @ItemID
-
--- check rights
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-RAISERROR('You are not allowed to access this package', 16, 1)
-
--- start
-DECLARE @condition nvarchar(700)
-SET @condition = '
-(EA.AccountType = 7 OR (EA.AccountType = 1 AND @IncludeMailboxes = 1) )
-AND EA.ItemID = @ItemID
-'
-
-IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
-AND @FilterValue <> '' AND @FilterValue IS NOT NULL
-SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
-
-IF @SortColumn IS NULL OR @SortColumn = ''
-SET @SortColumn = 'EA.DisplayName ASC'
-
-DECLARE @sql nvarchar(3500)
-
-set @sql = '
-SELECT
- EA.AccountID,
- EA.ItemID,
- EA.AccountType,
- EA.AccountName,
- EA.DisplayName,
- EA.PrimaryEmailAddress,
- EA.SubscriberNumber,
- EA.UserPrincipalName,
- (CASE WHEN LU.AccountID IS NULL THEN ''false'' ELSE ''true'' END) as IsLyncUser
-FROM ExchangeAccounts AS EA
-LEFT JOIN LyncUsers AS LU
-ON LU.AccountID = EA.AccountID
-WHERE ' + @condition
-
-print @sql
-
-exec sp_executesql @sql, N'@ItemID int, @IncludeMailboxes bit',
-@ItemID, @IncludeMailboxes
-
-RETURN
-
-GO
-
-
--- RDS GPO
-
-IF NOT EXISTS(SELECT * FROM SYS.TABLES WHERE name = 'RDSServerSettings')
-CREATE TABLE [dbo].[RDSServerSettings](
- [RdsServerId] [int] NOT NULL,
- [SettingsName] [nvarchar](50) COLLATE Latin1_General_CI_AS NOT NULL,
- [PropertyName] [nvarchar](50) COLLATE Latin1_General_CI_AS NOT NULL,
- [PropertyValue] [ntext] COLLATE Latin1_General_CI_AS NULL,
- [ApplyUsers] [BIT] NOT NULL,
- [ApplyAdministrators] [BIT] NOT NULL
- CONSTRAINT [PK_RDSServerSettings] PRIMARY KEY CLUSTERED
-(
- [RdsServerId] ASC,
- [SettingsName] ASC,
- [PropertyName] ASC
-)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
-)
-
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetRDSServerSettings')
-DROP PROCEDURE GetRDSServerSettings
-GO
-CREATE PROCEDURE GetRDSServerSettings
-(
- @ServerId int,
- @SettingsName nvarchar(50)
-)
-AS
- SELECT RDSServerId, PropertyName, PropertyValue, ApplyUsers, ApplyAdministrators
- FROM RDSServerSettings
- WHERE RDSServerId = @ServerId AND SettingsName = @SettingsName
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteRDSServerSettings')
-DROP PROCEDURE DeleteRDSServerSettings
-GO
-CREATE PROCEDURE DeleteRDSServerSettings
-(
- @ServerId int
-)
-AS
- DELETE FROM RDSServerSettings WHERE RDSServerId = @ServerId
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateRDSServerSettings')
-DROP PROCEDURE UpdateRDSServerSettings
-GO
-CREATE PROCEDURE UpdateRDSServerSettings
-(
- @ServerId int,
- @SettingsName nvarchar(50),
- @Xml ntext
-)
-AS
-
-BEGIN TRAN
-DECLARE @idoc int
-EXEC sp_xml_preparedocument @idoc OUTPUT, @xml
-
-DELETE FROM RDSServerSettings
-WHERE RDSServerId = @ServerId AND SettingsName = @SettingsName
-
-INSERT INTO RDSServerSettings
-(
- RDSServerId,
- SettingsName,
- ApplyUsers,
- ApplyAdministrators,
- PropertyName,
- PropertyValue
-)
-SELECT
- @ServerId,
- @SettingsName,
- ApplyUsers,
- ApplyAdministrators,
- PropertyName,
- PropertyValue
-FROM OPENXML(@idoc, '/properties/property',1) WITH
-(
- PropertyName nvarchar(50) '@name',
- PropertyValue ntext '@value',
- ApplyUsers BIT '@applyUsers',
- ApplyAdministrators BIT '@applyAdministrators'
-) as PV
-
-exec sp_xml_removedocument @idoc
-
-COMMIT TRAN
-
-RETURN
-
-GO
-
-
-IF EXISTS (SELECT * FROM ResourceGroups WHERE GroupName = 'SharePoint')
-BEGIN
- DECLARE @group_id INT
- SELECT @group_id = GroupId FROM ResourceGroups WHERE GroupName = 'SharePoint'
- DELETE FROM PackageQuotas WHERE QuotaID IN (SELECT QuotaID FROM Quotas WHERE GroupID = @group_id)
- DELETE FROM HostingPlanQuotas WHERE QuotaID IN (SELECT QuotaID FROM Quotas WHERE GroupID = @group_id)
- DELETE FROM HostingPlanResources WHERE GroupId = @group_id
- DELETE FROM PackagesBandwidth WHERE GroupId = @group_id
- DELETE FROM PackagesDiskspace WHERE GroupId = @group_id
- DELETE FROM PackageResources WHERE GroupId = @group_id
- DELETE FROM ResourceGroupDnsRecords WHERE GroupId = @group_id
- DELETE FROM Providers WHERE GroupID = @group_id
- DELETE FROM Quotas WHERE GroupID = @group_id
- DELETE FROM VirtualGroups WHERE GroupID = @group_id
- DELETE FROM ServiceItemTypes WHERE GroupID = @group_id
- DELETE FROM ResourceGroups WHERE GroupID = @group_id
-END
-
-GO
-
-IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE DisplayName = 'SharePointFoundationSiteCollection')
-BEGIN
- DECLARE @group_id AS INT
- DECLARE @item_type_id INT
- SELECT TOP 1 @item_type_id = ItemTypeId + 1 FROM [dbo].[ServiceItemTypes] ORDER BY ItemTypeId DESC
- UPDATE [dbo].[ServiceItemTypes] SET DisplayName = 'SharePointFoundationSiteCollection' WHERE DisplayName = 'SharePointSiteCollection'
- SELECT @group_id = GroupId FROM [dbo].[ResourceGroups] WHERE GroupName = 'Sharepoint Server'
-
- INSERT INTO [dbo].[ServiceItemTypes] (ItemTypeId, GroupId, DisplayName, TypeName, TypeOrder, CalculateDiskSpace, CalculateBandwidth, Suspendable, Disposable, Searchable, Importable, Backupable)
- (SELECT TOP 1 @item_type_id, @group_id, 'SharePointSiteCollection', TypeName, 100, CalculateDiskSpace, CalculateBandwidth, Suspendable, Disposable, Searchable, Importable, Backupable FROM [dbo].[ServiceItemTypes] WHERE DisplayName = 'SharePointFoundationSiteCollection')
-END
-
-
-
-
-GO
-
-UPDATE [dbo].[Quotas] SET GroupID = 45 WHERE QuotaName = 'EnterpriseStorage.DriveMaps'
-GO
-
-
-UPDATE [dbo].[ResourceGroups] SET GroupName = 'Sharepoint Enterprise Server' WHERE GroupName = 'Sharepoint Server'
-GO
-
-UPDATE [dbo].[ResourceGroups] SET GroupController = 'WebsitePanel.EnterpriseServer.HostedSharePointServerEntController' WHERE GroupName = 'Sharepoint Enterprise Server'
-GO
-
-IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Hosted SharePoint Enterprise 2013')
-BEGIN
-DECLARE @provider_id AS INT
-DECLARE @group_id AS INT
-SELECT @group_id = GroupId FROM [dbo].[ResourceGroups] WHERE GroupName = 'Sharepoint Enterprise Server'
-SELECT TOP 1 @provider_id = ProviderId + 1 From [dbo].[Providers] ORDER BY ProviderID DESC
-INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery])
-VALUES (@provider_id, @group_id, N'HostedSharePoint2013Ent', N'Hosted SharePoint Enterprise 2013', N'WebsitePanel.Providers.HostedSolution.HostedSharePointServer2013Ent, WebsitePanel.Providers.HostedSolution.SharePoint2013Ent', N'HostedSharePoint30', NULL)
-END
-GO
-
-UPDATE [dbo].[Quotas] SET QuotaName = 'HostedSharePointEnterprise.Sites' WHERE QuotaId = 550
-GO
-
-UPDATE [dbo].[Quotas] SET QuotaName = 'HostedSharePointEnterprise.MaxStorage' WHERE QuotaId = 551
-GO
-
-UPDATE [dbo].[Quotas] SET QuotaName = 'HostedSharePointEnterprise.UseSharedSSL' WHERE QuotaId = 552
-GO
-
-UPDATE [dbo].[ServiceItemTypes] SET DisplayName = 'SharePointEnterpriseSiteCollection' WHERE DisplayName = 'SharePointSiteCollection'
-GO
-
-
-IF EXISTS (SELECT * FROM Providers WHERE ProviderName = 'HostedSharePoint2013' AND GroupID IN (Select GroupID FROM ResourceGroups WHERE GroupName = 'Sharepoint Enterprise Server'))
-BEGIN
- DECLARE @group_id INT
- SELECT @group_id = GroupId FROM ResourceGroups WHERE GroupName = 'Sharepoint Enterprise Server'
- DELETE FROM Providers WHERE ProviderName = 'HostedSharePoint2013' AND GroupID = @group_id
-END
-
-GO
-
-
-ALTER PROCEDURE [dbo].[AddServiceItem]
-(
- @ActorID int,
- @PackageID int,
- @ServiceID int,
- @ItemName nvarchar(500),
- @ItemTypeName nvarchar(200),
- @ItemID int OUTPUT,
- @XmlProperties ntext,
- @CreatedDate datetime
-)
-AS
-BEGIN TRAN
-
--- check rights
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-RAISERROR('You are not allowed to access this package', 16, 1)
-
--- get GroupID
-DECLARE @GroupID int
-SELECT
- @GroupID = PROV.GroupID
-FROM Services AS S
-INNER JOIN Providers AS PROV ON S.ProviderID = PROV.ProviderID
-WHERE S.ServiceID = @ServiceID
-
-DECLARE @ItemTypeID int
-SELECT @ItemTypeID = ItemTypeID FROM ServiceItemTypes
-WHERE TypeName = @ItemTypeName
-AND ((@GroupID IS NULL) OR (@GroupID IS NOT NULL AND GroupID = @GroupID))
-
--- Fix to allow plans assigned to serveradmin
-IF (@ItemTypeName = 'WebsitePanel.Providers.HostedSolution.Organization, WebsitePanel.Providers.Base')
-BEGIN
- IF NOT EXISTS (SELECT * FROM ServiceItems WHERE PackageID = 1)
- BEGIN
- INSERT INTO ServiceItems (PackageID, ItemTypeID,ServiceID,ItemName,CreatedDate)
- VALUES(1, @ItemTypeID, @ServiceID, 'System', @CreatedDate)
-
- DECLARE @TempItemID int
-
- SET @TempItemID = SCOPE_IDENTITY()
- INSERT INTO ExchangeOrganizations (ItemID, OrganizationID)
- VALUES(@TempItemID, 'System')
- END
-END
-
-
-
--- add item
-INSERT INTO ServiceItems
-(
- PackageID,
- ServiceID,
- ItemName,
- ItemTypeID,
- CreatedDate
-)
-VALUES
-(
- @PackageID,
- @ServiceID,
- @ItemName,
- @ItemTypeID,
- @CreatedDate
-)
-
-SET @ItemID = SCOPE_IDENTITY()
-
-DECLARE @idoc int
---Create an internal representation of the XML document.
-EXEC sp_xml_preparedocument @idoc OUTPUT, @XmlProperties
-
--- Execute a SELECT statement that uses the OPENXML rowset provider.
-DELETE FROM ServiceItemProperties
-WHERE ItemID = @ItemID
-
-CREATE TABLE #TempTable(
- ItemID int,
- PropertyName nvarchar(50),
- PropertyValue nvarchar(3000))
-
-INSERT INTO #TempTable (ItemID, PropertyName, PropertyValue)
-SELECT
- @ItemID,
- PropertyName,
- PropertyValue
-FROM OPENXML(@idoc, '/properties/property',1) WITH
-(
- PropertyName nvarchar(50) '@name',
- PropertyValue nvarchar(3000) '@value'
-) as PV
-
--- Move data from temp table to real table
-INSERT INTO ServiceItemProperties
-(
- ItemID,
- PropertyName,
- PropertyValue
-)
-SELECT
- ItemID,
- PropertyName,
- PropertyValue
-FROM #TempTable
-
-DROP TABLE #TempTable
-
--- remove document
-exec sp_xml_removedocument @idoc
-
-COMMIT TRAN
-RETURN
-GO
-
-UPDATE [dbo].[ServiceItemTypes] SET TypeName ='WebsitePanel.Providers.SharePoint.SharePointEnterpriseSiteCollection, WebsitePanel.Providers.Base' WHERE DisplayName = 'SharePointEnterpriseSiteCollection'
-GO
-
--- USER PASSWORD EXPIRATION NOTIFICATION tasks
-
-IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTasks] WHERE [TaskID] = N'SCHEDULE_TASK_USER_PASSWORD_EXPIRATION_NOTIFICATION')
-BEGIN
-INSERT [dbo].[ScheduleTasks] ([TaskID], [TaskType], [RoleID]) VALUES (N'SCHEDULE_TASK_USER_PASSWORD_EXPIRATION_NOTIFICATION', N'WebsitePanel.EnterpriseServer.UserPasswordExpirationNotificationTask, WebsitePanel.EnterpriseServer.Code', 1)
-END
-GO
-
-IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTaskViewConfiguration] WHERE [TaskID] = N'SCHEDULE_TASK_USER_PASSWORD_EXPIRATION_NOTIFICATION')
-BEGIN
-INSERT [dbo].[ScheduleTaskViewConfiguration] ([TaskID], [ConfigurationID], [Environment], [Description]) VALUES (N'SCHEDULE_TASK_USER_PASSWORD_EXPIRATION_NOTIFICATION', N'ASP_NET', N'ASP.NET', N'~/DesktopModules/WebsitePanel/ScheduleTaskControls/UserPasswordExpirationNotificationView.ascx')
-END
-GO
-
-IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTaskParameters] WHERE [TaskID] = N'SCHEDULE_TASK_USER_PASSWORD_EXPIRATION_NOTIFICATION' AND [ParameterID]= N'DAYS_BEFORE_EXPIRATION' )
-BEGIN
-INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_USER_PASSWORD_EXPIRATION_NOTIFICATION', N'DAYS_BEFORE_EXPIRATION', N'String', NULL, 1)
-END
-GO
-
-
--- USER PASSWORD EXPIRATION EMAIL TEMPLATE
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordExpirationLetter' AND [PropertyName]= N'From' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordExpirationLetter', N'From', N'support@HostingCompany.com')
-END
-GO
-
-DECLARE @UserPasswordExpirationLetterHtmlBody nvarchar(2500)
-
-Set @UserPasswordExpirationLetterHtmlBody = N'
-
-
Password expiration notification
-
-
-
-
-
-
Password expiration notification
-
-
-
-Hello #user.FirstName#,
-
-
-
-
-Your password expiration date is #user.PasswordExpirationDateTime#. You can reset your own password by visiting the following page:
-
-
-
#passwordResetLink#
-
-
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-
-
-Best regards
-
-
-';
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordExpirationLetter' AND [PropertyName]= N'HtmlBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordExpirationLetter', N'HtmlBody', @UserPasswordExpirationLetterHtmlBody)
-END
-GO
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordExpirationLetter' AND [PropertyName]= N'Priority' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordExpirationLetter', N'Priority', N'Normal')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordExpirationLetter' AND [PropertyName]= N'Subject' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordExpirationLetter', N'Subject', N'Password expiration notification')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordExpirationLetter' AND [PropertyName]= N'LogoUrl' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordExpirationLetter', N'LogoUrl', N'')
-END
-GO
-
-
-DECLARE @UserPasswordExpirationLetterTextBody nvarchar(2500)
-
-Set @UserPasswordExpirationLetterTextBody = N'=========================================
- Password expiration notification
-=========================================
-
-
-Hello #user.FirstName#,
-
-
-Your password expiration date is #user.PasswordExpirationDateTime#. You can reset your own password by visiting the following page:
-
-#passwordResetLink#
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-Best regards'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordExpirationLetter' AND [PropertyName]= N'TextBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordExpirationLetter', N'TextBody', @UserPasswordExpirationLetterTextBody)
-END
-GO
-
-
--- USER PASSWORD RESET EMAIL TEMPLATE
-
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'From' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetLetter', N'From', N'support@HostingCompany.com')
-END
-GO
-
-DECLARE @UserPasswordResetLetterHtmlBody nvarchar(2500)
-
-Set @UserPasswordResetLetterHtmlBody = N'
-
-
Password reset notification
-
-
-
-
-
-
Password reset notification
-
-
-
-Hello #user.FirstName#,
-
-
-
-
-We received a request to reset the password for your account. If you made this request, click the link below. If you did not make this request, you can ignore this email.
-
-
-
#passwordResetLink#
-
-
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-
-
-Best regards
-
-
-';
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'HtmlBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetLetter', N'HtmlBody', @UserPasswordResetLetterHtmlBody)
-END
-GO
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'Priority' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetLetter', N'Priority', N'Normal')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'Subject' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetLetter', N'Subject', N'Password reset notification')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'LogoUrl' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetLetter', N'LogoUrl', N'')
-END
-GO
-
-
-DECLARE @UserPasswordResetLetterTextBody nvarchar(2500)
-
-Set @UserPasswordResetLetterTextBody = N'=========================================
- Password reset notification
-=========================================
-
-
-Hello #user.FirstName#,
-
-
-We received a request to reset the password for your account. If you made this request, click the link below. If you did not make this request, you can ignore this email.
-
-#passwordResetLink#
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-Best regards'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'TextBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetLetter', N'TextBody', @UserPasswordResetLetterTextBody)
-END
-GO
-
-
-
-
-DECLARE @UserPasswordResetSMSBody nvarchar(2500)
-
-Set @UserPasswordResetSMSBody = N'Password reset link:
-#passwordResetLink#
-'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetLetter' AND [PropertyName]= N'PasswordResetLinkSmsBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetLetter', N'PasswordResetLinkSmsBody', @UserPasswordResetSMSBody)
-END
-GO
-
--- USER PASSWORD RESET EMAIL PINCODE TEMPLATE
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetPincodeLetter' AND [PropertyName]= N'From' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetPincodeLetter', N'From', N'support@HostingCompany.com')
-END
-GO
-
-DECLARE @UserPasswordResetPincodeLetterHtmlBody nvarchar(2500)
-
-Set @UserPasswordResetPincodeLetterHtmlBody = N'
-
-
Password reset notification
-
-
-
-
-
-
Password reset notification
-
-
-
-Hello #user.FirstName#,
-
-
-
-
-We received a request to reset the password for your account. Your password reset pincode:
-
-
-#passwordResetPincode#
-
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-
-
-Best regards
-
-
-';
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetPincodeLetter' AND [PropertyName]= N'HtmlBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetPincodeLetter', N'HtmlBody', @UserPasswordResetPincodeLetterHtmlBody)
-END
-GO
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetPincodeLetter' AND [PropertyName]= N'Priority' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetPincodeLetter', N'Priority', N'Normal')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetPincodeLetter' AND [PropertyName]= N'Subject' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetPincodeLetter', N'Subject', N'Password reset notification')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetPincodeLetter' AND [PropertyName]= N'LogoUrl' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetPincodeLetter', N'LogoUrl', N'')
-END
-GO
-
-
-DECLARE @UserPasswordResetPincodeLetterTextBody nvarchar(2500)
-
-Set @UserPasswordResetPincodeLetterTextBody = N'=========================================
- Password reset notification
-=========================================
-
-
-Hello #user.FirstName#,
-
-
-We received a request to reset the password for your account. Your password reset pincode:
-
-#passwordResetPincode#
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-Best regards'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetPincodeLetter' AND [PropertyName]= N'TextBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetPincodeLetter', N'TextBody', @UserPasswordResetPincodeLetterTextBody)
-END
-GO
-
-DECLARE @UserPasswordPincodeSMSBody nvarchar(2500)
-
-Set @UserPasswordPincodeSMSBody = N'
-Your password reset pincode:
-#passwordResetPincode#'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'UserPasswordResetPincodeLetter' AND [PropertyName]= N'PasswordResetPincodeSmsBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'UserPasswordResetPincodeLetter', N'PasswordResetPincodeSmsBody', @UserPasswordPincodeSMSBody)
-END
-GO
-
-
--- USER PASSWORD REQUEST EMAIL TEMPLATE
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'OrganizationUserPasswordRequestLetter' AND [PropertyName]= N'From' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'OrganizationUserPasswordRequestLetter', N'From', N'support@HostingCompany.com')
-END
-GO
-
-DECLARE @OrganizationUserPasswordRequestLetterHtmlBody nvarchar(2500)
-
-Set @OrganizationUserPasswordRequestLetterHtmlBody = N'
-
-
Password request notification
-
-
-
-
-
-
Password request notification
-
-
-
-Hello #user.FirstName#,
-
-
-
-
-Your account have been created. In order to create a password for your account, please follow next link:
-
-
-
#passwordResetLink#
-
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-
-
-Best regards
-
-
-';
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'OrganizationUserPasswordRequestLetter' AND [PropertyName]= N'HtmlBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'OrganizationUserPasswordRequestLetter', N'HtmlBody', @OrganizationUserPasswordRequestLetterHtmlBody)
-END
-GO
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'OrganizationUserPasswordRequestLetter' AND [PropertyName]= N'Priority' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'OrganizationUserPasswordRequestLetter', N'Priority', N'Normal')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'OrganizationUserPasswordRequestLetter' AND [PropertyName]= N'Subject' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'OrganizationUserPasswordRequestLetter', N'Subject', N'Password request notification')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'OrganizationUserPasswordRequestLetter' AND [PropertyName]= N'LogoUrl' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'OrganizationUserPasswordRequestLetter', N'LogoUrl', N'')
-END
-GO
-
-
-DECLARE @OrganizationUserPasswordRequestLetterTextBody nvarchar(2500)
-
-Set @OrganizationUserPasswordRequestLetterTextBody = N'=========================================
- Password request notification
-=========================================
-
-
-Hello #user.FirstName#,
-
-
-Your account have been created. In order to create a password for your account, please follow next link:
-
-#passwordResetLink#
-
-If you have any questions regarding your hosting account, feel free to contact our support department at any time.
-
-Best regards'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'OrganizationUserPasswordRequestLetter' AND [PropertyName]= N'TextBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'OrganizationUserPasswordRequestLetter', N'TextBody', @OrganizationUserPasswordRequestLetterTextBody)
-END
-GO
-
-DECLARE @OrganizationUserPasswordRequestLetterSMSBody nvarchar(2500)
-
-Set @OrganizationUserPasswordRequestLetterSMSBody = N'
-User have been created. Password request url:
-#passwordResetLink#'
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'OrganizationUserPasswordRequestLetter' AND [PropertyName]= N'SMSBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'OrganizationUserPasswordRequestLetter', N'SMSBody', @OrganizationUserPasswordRequestLetterSMSBody)
-END
-GO
-
-
-
--- Exchange setup EMAIL TEMPLATE
-
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'ExchangeMailboxSetupLetter' AND [PropertyName]= N'From' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'ExchangeMailboxSetupLetter', N'From', N'')
-END
-GO
-
-DECLARE @ExchangeMailboxSetupLetterHtmlBody nvarchar(max)
-
-Set @ExchangeMailboxSetupLetterHtmlBody = N'
-
-
Account Summary Information
-
-
-
-
-
-
-
-
-
-
-![]() |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Hello #Account.DisplayName#,
-
-
- Thanks for choosing as your Exchange hosting provider.
-
-
-
- User Accounts
-
- The following user accounts have been created for you.
-
-
-
- Username: |
- #Account.UserPrincipalName# |
-
-
- E-mail: |
- #Account.PrimaryEmailAddress# |
-
-
-
- Password Reset Url: |
- Click here |
-
-
-
-
- DNS
-
- In order for us to accept mail for your domain, you will need to point your MX records to:
-
-
-
- Webmail (OWA, Outlook Web Access)
-
-
-
-
- Outlook (Windows Clients)
-
- To configure Outlook 2013 to work with the servers, please reference:
-
-
-
-
-
- If you need to download and install the Outlook client:
-
-
-
- Outlook 2013 Client |
-
-
- Download URL: |
- |
-
-
- |
- |
-
-
-
- KEY: |
- |
-
-
-
-
- ActiveSync, iPhone, iPad
-
-
- Server: |
- #ActiveSyncServer# |
-
-
- Domain: |
- #SamDomain# |
-
-
- SSL: |
- must be checked |
-
-
- Your username: |
- #SamUsername# |
-
-
-
- Password Changes
-
- Passwords can be changed at any time using Webmail or the Control Panel.
- Control Panel
-
- If you need to change the details of your account, you can easily do this using Control Panel.
- Support
-
- You have 2 options, email or use the web interface at
-
-
-
-
|
-
-
-
- |
-
-
-
-
- |
-
-
-
-
- |
-
-
-
- |
-
-
-
-
-';
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'ExchangeMailboxSetupLetter' AND [PropertyName]= N'HtmlBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'ExchangeMailboxSetupLetter', N'HtmlBody', @ExchangeMailboxSetupLetterHtmlBody)
-END
-ELSE
-UPDATE [dbo].[UserSettings] SET [PropertyValue] = @ExchangeMailboxSetupLetterHtmlBody WHERE [UserID] = 1 AND [SettingsName]= N'ExchangeMailboxSetupLetter' AND [PropertyName]= N'HtmlBody'
-GO
-
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'ExchangeMailboxSetupLetter' AND [PropertyName]= N'Priority' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'ExchangeMailboxSetupLetter', N'Priority', N'Normal')
-END
-GO
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'ExchangeMailboxSetupLetter' AND [PropertyName]= N'Subject' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'ExchangeMailboxSetupLetter', N'Subject', N' Hosted Exchange Mailbox Setup')
-END
-GO
-
-
-DECLARE @ExchangeMailboxSetupLetterTextBody nvarchar(2500)
-
-Set @ExchangeMailboxSetupLetterTextBody = N'
-Hello #Account.DisplayName#,
-
-Thanks for choosing as your Exchange hosting provider.
-
-
-User Accounts
-
-The following user accounts have been created for you.
-
-Username: #Account.UserPrincipalName#
-E-mail: #Account.PrimaryEmailAddress#
-
-Password Reset Url: #PswResetUrl#
-
-
-
-=================================
-DNS
-=================================
-
-In order for us to accept mail for your domain, you will need to point your MX records to:
-
-
#SmtpServer#
-
-=================================
-Webmail (OWA, Outlook Web Access)
-=================================
-
-
-
-=================================
-Outlook (Windows Clients)
-=================================
-
-To configure Outlook 2010 to work with servers, please reference:
-
-
-
-If you need to download and install the Outlook 2010 client:
-
-Outlook 2010 Download URL:
-
-KEY:
-
-=================================
-ActiveSync, iPhone, iPad
-=================================
-
-Server: #ActiveSyncServer#
-Domain: #SamDomain#
-SSL: must be checked
-Your username: #SamUsername#
-
-=================================
-Password Changes
-=================================
-
-Passwords can be changed at any time using Webmail or the Control Panel
-
-
-=================================
-Control Panel
-=================================
-
-If you need to change the details of your account, you can easily do this using the Control Panel
-
-
-=================================
-Support
-=================================
-
-You have 2 options, email or use the web interface at '
-
-IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE [UserID] = 1 AND [SettingsName]= N'ExchangeMailboxSetupLetter' AND [PropertyName]= N'TextBody' )
-BEGIN
-INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'ExchangeMailboxSetupLetter', N'TextBody', @ExchangeMailboxSetupLetterTextBody)
-END
-ELSE
-UPDATE [dbo].[UserSettings] SET [PropertyValue] = @ExchangeMailboxSetupLetterTextBody WHERE [UserID] = 1 AND [SettingsName]= N'ExchangeMailboxSetupLetter' AND [PropertyName]= N'TextBody'
-GO
-
-
-
--- ORGANIZATION USER PASSWORD RESET TOKENS
-
-
-IF EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'AccessTokens')
-DROP TABLE AccessTokens
-GO
-CREATE TABLE AccessTokens
-(
- ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
- AccessTokenGuid UNIQUEIDENTIFIER NOT NULL,
- ExpirationDate DATETIME NOT NULL,
- AccountID INT NOT NULL ,
- ItemId INT NOT NULL,
- TokenType INT NOT NULL,
- SmsResponse varchar(100)
-)
-GO
-
-ALTER TABLE [dbo].[AccessTokens] WITH CHECK ADD CONSTRAINT [FK_AccessTokens_UserId] FOREIGN KEY([AccountID])
-REFERENCES [dbo].[ExchangeAccounts] ([AccountID])
-ON DELETE CASCADE
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddAccessToken')
-DROP PROCEDURE AddAccessToken
-GO
-CREATE PROCEDURE [dbo].[AddAccessToken]
-(
- @TokenID INT OUTPUT,
- @AccessToken UNIQUEIDENTIFIER,
- @ExpirationDate DATETIME,
- @AccountID INT,
- @ItemId INT,
- @TokenType INT
-)
-AS
-INSERT INTO AccessTokens
-(
- AccessTokenGuid,
- ExpirationDate,
- AccountID ,
- ItemId,
- TokenType
-)
-VALUES
-(
- @AccessToken ,
- @ExpirationDate ,
- @AccountID,
- @ItemId,
- @TokenType
-)
-
-SET @TokenID = SCOPE_IDENTITY()
-
-RETURN
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'SetAccessTokenSmsResponse')
-DROP PROCEDURE SetAccessTokenSmsResponse
-GO
-CREATE PROCEDURE [dbo].[SetAccessTokenSmsResponse]
-(
- @AccessToken UNIQUEIDENTIFIER,
- @SmsResponse varchar(100)
-)
-AS
-UPDATE [dbo].[AccessTokens] SET [SmsResponse] = @SmsResponse WHERE [AccessTokenGuid] = @AccessToken
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteAccessToken')
-DROP PROCEDURE DeleteAccessToken
-GO
-CREATE PROCEDURE [dbo].[DeleteAccessToken]
-(
- @AccessToken UNIQUEIDENTIFIER,
- @TokenType INT
-)
-AS
-DELETE FROM AccessTokens
-WHERE AccessTokenGuid = @AccessToken AND TokenType = @TokenType
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'DeleteExpiredAccessTokenTokens')
-DROP PROCEDURE DeleteExpiredAccessTokenTokens
-GO
-CREATE PROCEDURE [dbo].[DeleteExpiredAccessTokenTokens]
-AS
-DELETE FROM AccessTokens
-WHERE ExpirationDate < getdate()
-GO
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetAccessTokenByAccessToken')
-DROP PROCEDURE GetAccessTokenByAccessToken
-GO
-CREATE PROCEDURE [dbo].[GetAccessTokenByAccessToken]
-(
- @AccessToken UNIQUEIDENTIFIER,
- @TokenType INT
-)
-AS
-SELECT
- ID ,
- AccessTokenGuid,
- ExpirationDate,
- AccountID,
- ItemId,
- TokenType,
- SmsResponse
- FROM AccessTokens
- Where AccessTokenGuid = @AccessToken AND ExpirationDate > getdate() AND TokenType = @TokenType
-GO
-
-
--- ORGANIZATION SETTINGS
-
-
-IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'ExchangeOrganizationSettings')
-BEGIN
- CREATE TABLE ExchangeOrganizationSettings
- (
- ItemId INT NOT NULL,
- SettingsName nvarchar(100) NOT NULL,
- Xml nvarchar(max) NOT NULL
- );
-
- ALTER TABLE [dbo].[ExchangeOrganizationSettings] WITH CHECK ADD CONSTRAINT [FK_ExchangeOrganizationSettings_ExchangeOrganizations_ItemId] FOREIGN KEY([ItemId])
- REFERENCES [dbo].[ExchangeOrganizations] ([ItemId])
- ON DELETE CASCADE;
-END
-
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdateExchangeOrganizationSettings')
-DROP PROCEDURE UpdateExchangeOrganizationSettings
-GO
-CREATE PROCEDURE [dbo].[UpdateExchangeOrganizationSettings]
-(
- @ItemId INT ,
- @SettingsName nvarchar(100) ,
- @Xml nvarchar(max)
-)
-AS
-IF NOT EXISTS (SELECT * FROM [dbo].[ExchangeOrganizationSettings] WHERE [ItemId] = @ItemId AND [SettingsName]= @SettingsName )
-BEGIN
-INSERT [dbo].[ExchangeOrganizationSettings] ([ItemId], [SettingsName], [Xml]) VALUES (@ItemId, @SettingsName, @Xml)
-END
-ELSE
-UPDATE [dbo].[ExchangeOrganizationSettings] SET [Xml] = @Xml WHERE [ItemId] = @ItemId AND [SettingsName]= @SettingsName
-GO
-
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetExchangeOrganizationSettings')
-DROP PROCEDURE GetExchangeOrganizationSettings
-GO
-CREATE PROCEDURE [dbo].[GetExchangeOrganizationSettings]
-(
- @ItemId INT ,
- @SettingsName nvarchar(100)
-)
-AS
-SELECT
- ItemId,
- SettingsName,
- Xml
-
-FROM ExchangeOrganizationSettings
-Where ItemId = @ItemId AND SettingsName = @SettingsName
-GO
-
-
--- Exchange Account password column removed
-
-if exists(select * from sys.columns
- where Name = N'AccountPassword' and Object_ID = Object_ID(N'ExchangeAccounts'))
-begin
- ALTER TABLE [ExchangeAccounts] DROP COLUMN [AccountPassword]
-end
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'AddExchangeAccount')
-DROP PROCEDURE AddExchangeAccount
-GO
-CREATE PROCEDURE [dbo].[AddExchangeAccount]
-(
- @AccountID int OUTPUT,
- @ItemID int,
- @AccountType int,
- @AccountName nvarchar(300),
- @DisplayName nvarchar(300),
- @PrimaryEmailAddress nvarchar(300),
- @MailEnabledPublicFolder bit,
- @MailboxManagerActions varchar(200),
- @SamAccountName nvarchar(100),
- @MailboxPlanId int,
- @SubscriberNumber nvarchar(32)
-)
-AS
-
-INSERT INTO ExchangeAccounts
-(
- ItemID,
- AccountType,
- AccountName,
- DisplayName,
- PrimaryEmailAddress,
- MailEnabledPublicFolder,
- MailboxManagerActions,
- SamAccountName,
- MailboxPlanId,
- SubscriberNumber,
- UserPrincipalName
-)
-VALUES
-(
- @ItemID,
- @AccountType,
- @AccountName,
- @DisplayName,
- @PrimaryEmailAddress,
- @MailEnabledPublicFolder,
- @MailboxManagerActions,
- @SamAccountName,
- @MailboxPlanId,
- @SubscriberNumber,
- @PrimaryEmailAddress
-)
-
-SET @AccountID = SCOPE_IDENTITY()
-
-RETURN
-
-GO
-SET ANSI_NULLS ON
-GO
-SET QUOTED_IDENTIFIER ON
-GO
-
-
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'SearchExchangeAccount')
-DROP PROCEDURE SearchExchangeAccount
-GO
-CREATE PROCEDURE [dbo].[SearchExchangeAccount]
-(
- @ActorID int,
- @AccountType int,
- @PrimaryEmailAddress nvarchar(300)
-)
-AS
-
-DECLARE @PackageID int
-DECLARE @ItemID int
-DECLARE @AccountID int
-
-SELECT
- @AccountID = AccountID,
- @ItemID = ItemID
-FROM ExchangeAccounts
-WHERE PrimaryEmailAddress = @PrimaryEmailAddress
-AND AccountType = @AccountType
-
-
--- check space rights
-SELECT @PackageID = PackageID FROM ServiceItems
-WHERE ItemID = @ItemID
-
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-RAISERROR('You are not allowed to access this package', 16, 1)
-
-SELECT
- AccountID,
- ItemID,
- @PackageID AS PackageID,
- AccountType,
- AccountName,
- DisplayName,
- PrimaryEmailAddress,
- MailEnabledPublicFolder,
- MailboxManagerActions,
- SamAccountName,
- SubscriberNumber,
- UserPrincipalName
-FROM ExchangeAccounts
-WHERE AccountID = @AccountID
-
-RETURN
-
-
-GO
-SET ANSI_NULLS ON
-GO
-SET QUOTED_IDENTIFIER OFF
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetSearchTableByColumns')
-DROP PROCEDURE GetSearchTableByColumns
-GO
-CREATE PROCEDURE [dbo].[GetSearchTableByColumns]
-(
- @PagedStored nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @MaximumRows int,
-
- @Recursive bit,
- @PoolID int,
- @ServerID int,
- @ActorID int,
- @StatusID int,
- @PlanID int,
- @OrgID int,
- @ItemTypeName nvarchar(200),
- @GroupName nvarchar(100) = NULL,
- @PackageID int,
- @VPSType nvarchar(100) = NULL,
- @UserID int,
- @RoleID int,
- @FilterColumns nvarchar(200)
-)
-AS
-
-DECLARE @VPSTypeID int
-IF @VPSType <> '' AND @VPSType IS NOT NULL
-BEGIN
- SET @VPSTypeID = CASE @VPSType
- WHEN 'VPS' THEN 33
- WHEN 'VPS2012' THEN 41
- WHEN 'VPSForPC' THEN 35
- ELSE 33
- END
-END
-
-DECLARE @sql nvarchar(3000)
-SET @sql = CASE @PagedStored
-WHEN 'Domains' THEN '
- DECLARE @Domains TABLE
- (
- DomainID int,
- DomainName nvarchar(100),
- Username nvarchar(100),
- FullName nvarchar(100),
- Email nvarchar(100)
- )
- INSERT INTO @Domains (DomainID, DomainName, Username, FullName, Email)
- SELECT
- D.DomainID,
- D.DomainName,
- U.Username,
- U.FullName,
- U.Email
- 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))
- '
-WHEN 'IPAddresses' THEN '
- DECLARE @IPAddresses TABLE
- (
- AddressesID int,
- ExternalIP nvarchar(100),
- InternalIP nvarchar(100),
- DefaultGateway nvarchar(100),
- ServerName nvarchar(100),
- UserName nvarchar(100),
- ItemName nvarchar(100)
- )
- DECLARE @IsAdmin bit
- SET @IsAdmin = dbo.CheckIsUserAdmin(@ActorID)
- INSERT INTO @IPAddresses (AddressesID, ExternalIP, InternalIP, DefaultGateway, ServerName, UserName, ItemName)
- SELECT
- IP.AddressID,
- IP.ExternalIP,
- IP.InternalIP,
- IP.DefaultGateway,
- S.ServerName,
- U.UserName,
- SI.ItemName
- FROM dbo.IPAddresses AS IP
- LEFT JOIN Servers AS S ON IP.ServerID = S.ServerID
- LEFT JOIN PackageIPAddresses AS PA ON IP.AddressID = PA.AddressID
- LEFT JOIN ServiceItems SI ON PA.ItemId = SI.ItemID
- LEFT JOIN dbo.Packages P ON PA.PackageID = P.PackageID
- LEFT JOIN dbo.Users U ON P.UserID = U.UserID
- WHERE
- @IsAdmin = 1
- AND (@PoolID = 0 OR @PoolID <> 0 AND IP.PoolID = @PoolID)
- AND (@ServerID = 0 OR @ServerID <> 0 AND IP.ServerID = @ServerID)
- '
-WHEN 'Schedules' THEN '
- DECLARE @Schedules TABLE
- (
- ScheduleID int,
- ScheduleName nvarchar(100),
- Username nvarchar(100),
- FullName nvarchar(100),
- Email nvarchar(100)
- )
- INSERT INTO @Schedules (ScheduleID, ScheduleName, Username, FullName, Email)
- SELECT
- S.ScheduleID,
- S.ScheduleName,
- U.Username,
- U.FullName,
- U.Email
- FROM Schedule AS S
- INNER JOIN Packages AS P ON S.PackageID = P.PackageID
- INNER JOIN PackagesTree(@PackageID, @Recursive) AS PT ON S.PackageID = PT.PackageID
- INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
- '
-WHEN 'NestedPackages' THEN '
- DECLARE @NestedPackages TABLE
- (
- PackageID int,
- PackageName nvarchar(100),
- Username nvarchar(100),
- FullName nvarchar(100),
- Email nvarchar(100)
- )
- INSERT INTO @NestedPackages (PackageID, PackageName, Username, FullName, Email)
- SELECT
- P.PackageID,
- P.PackageName,
- U.Username,
- U.FullName,
- U.Email
- FROM Packages AS P
- INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
- INNER JOIN Servers AS S ON P.ServerID = S.ServerID
- INNER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID
- WHERE
- P.ParentPackageID = @PackageID
- AND ((@StatusID = 0) OR (@StatusID > 0 AND P.StatusID = @StatusID))
- AND ((@PlanID = 0) OR (@PlanID > 0 AND P.PlanID = @PlanID))
- AND ((@ServerID = 0) OR (@ServerID > 0 AND P.ServerID = @ServerID))
- '
-WHEN 'PackageIPAddresses' THEN '
- DECLARE @PackageIPAddresses TABLE
- (
- PackageAddressID int,
- ExternalIP nvarchar(100),
- InternalIP nvarchar(100),
- DefaultGateway nvarchar(100),
- ItemName nvarchar(100),
- UserName nvarchar(100)
- )
- INSERT INTO @PackageIPAddresses (PackageAddressID, ExternalIP, InternalIP, DefaultGateway, ItemName, UserName)
- SELECT
- PA.PackageAddressID,
- IP.ExternalIP,
- IP.InternalIP,
- IP.DefaultGateway,
- SI.ItemName,
- U.UserName
- FROM dbo.PackageIPAddresses PA
- INNER JOIN dbo.IPAddresses AS IP ON PA.AddressID = IP.AddressID
- INNER JOIN dbo.Packages P ON PA.PackageID = P.PackageID
- INNER JOIN dbo.Users U ON U.UserID = P.UserID
- LEFT JOIN ServiceItems SI ON PA.ItemId = SI.ItemID
- WHERE
- ((@Recursive = 0 AND PA.PackageID = @PackageID)
- OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, PA.PackageID) = 1))
- AND (@PoolID = 0 OR @PoolID <> 0 AND IP.PoolID = @PoolID)
- AND (@OrgID = 0 OR @OrgID <> 0 AND PA.OrgID = @OrgID)
- '
-WHEN 'ServiceItems' THEN '
- IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
- RAISERROR(''You are not allowed to access this package'', 16, 1)
- DECLARE @ServiceItems TABLE
- (
- ItemID int,
- ItemName nvarchar(100),
- Username nvarchar(100),
- FullName nvarchar(100),
- Email nvarchar(100)
- )
- DECLARE @GroupID int
- SELECT @GroupID = GroupID FROM ResourceGroups
- WHERE GroupName = @GroupName
- DECLARE @ItemTypeID int
- SELECT @ItemTypeID = ItemTypeID FROM ServiceItemTypes
- WHERE TypeName = @ItemTypeName
- AND ((@GroupID IS NULL) OR (@GroupID IS NOT NULL AND GroupID = @GroupID))
- INSERT INTO @ServiceItems (ItemID, ItemName, Username, FullName, Email)
- SELECT
- SI.ItemID,
- SI.ItemName,
- U.Username,
- U.FirstName,
- U.Email
- FROM Packages AS P
- INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
- INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
- INNER JOIN ServiceItemTypes AS IT ON SI.ItemTypeID = IT.ItemTypeID
- INNER JOIN Services AS S ON SI.ServiceID = S.ServiceID
- INNER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
- WHERE
- SI.ItemTypeID = @ItemTypeID
- AND ((@Recursive = 0 AND P.PackageID = @PackageID)
- OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, P.PackageID) = 1))
- AND ((@GroupID IS NULL) OR (@GroupID IS NOT NULL AND IT.GroupID = @GroupID))
- AND (@ServerID = 0 OR (@ServerID > 0 AND S.ServerID = @ServerID))
- '
-WHEN 'Users' THEN '
- DECLARE @Users TABLE
- (
- UserID int,
- Username nvarchar(100),
- FullName nvarchar(100),
- Email nvarchar(100),
- CompanyName nvarchar(100)
- )
- DECLARE @HasUserRights bit
- SET @HasUserRights = dbo.CheckActorUserRights(@ActorID, @UserID)
- INSERT INTO @Users (UserID, Username, FullName, Email, CompanyName)
- SELECT
- U.UserID,
- U.Username,
- U.FullName,
- U.Email,
- U.CompanyName
- FROM UsersDetailed AS U
- WHERE
- U.UserID <> @UserID AND U.IsPeer = 0 AND
- (
- (@Recursive = 0 AND OwnerID = @UserID) OR
- (@Recursive = 1 AND dbo.CheckUserParent(@UserID, U.UserID) = 1)
- )
- AND ((@StatusID = 0) OR (@StatusID > 0 AND U.StatusID = @StatusID))
- AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID))
- AND @HasUserRights = 1
- '
-WHEN 'VirtualMachines' THEN '
- IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
- RAISERROR(''You are not allowed to access this package'', 16, 1)
- DECLARE @VirtualMachines TABLE
- (
- ItemID int,
- ItemName nvarchar(100),
- Username nvarchar(100),
- ExternalIP nvarchar(100),
- IPAddress nvarchar(100)
- )
- INSERT INTO @VirtualMachines (ItemID, ItemName, Username, ExternalIP, IPAddress)
- SELECT
- SI.ItemID,
- SI.ItemName,
- U.Username,
- EIP.ExternalIP,
- PIP.IPAddress
- FROM Packages AS P
- INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
- INNER JOIN Users AS U ON P.UserID = U.UserID
- LEFT OUTER JOIN (
- SELECT PIP.ItemID, IP.ExternalIP FROM PackageIPAddresses AS PIP
- INNER JOIN IPAddresses AS IP ON PIP.AddressID = IP.AddressID
- WHERE PIP.IsPrimary = 1 AND IP.PoolID = 3 -- external IP addresses
- ) AS EIP ON SI.ItemID = EIP.ItemID
- LEFT OUTER JOIN PrivateIPAddresses AS PIP ON PIP.ItemID = SI.ItemID AND PIP.IsPrimary = 1
- WHERE
- SI.ItemTypeID = ' + CAST(@VPSTypeID AS nvarchar(12)) + '
- AND ((@Recursive = 0 AND P.PackageID = @PackageID)
- OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, P.PackageID) = 1))
- '
-WHEN 'PackagePrivateIPAddresses' THEN '
- DECLARE @PackagePrivateIPAddresses TABLE
- (
- PrivateAddressID int,
- IPAddress nvarchar(100),
- ItemName nvarchar(100)
- )
- INSERT INTO @PackagePrivateIPAddresses (PrivateAddressID, IPAddress, ItemName)
- SELECT
- PA.PrivateAddressID,
- PA.IPAddress,
- SI.ItemName
- FROM dbo.PrivateIPAddresses AS PA
- INNER JOIN dbo.ServiceItems AS SI ON PA.ItemID = SI.ItemID
- WHERE SI.PackageID = @PackageID
- '
-ELSE ''
-END + 'SELECT TOP ' + CAST(@MaximumRows AS nvarchar(12)) + ' MIN(ItemID) as [ItemID], TextSearch, ColumnType, COUNT(*) AS [Count]' + CASE @PagedStored
-WHEN 'Domains' THEN '
- FROM(
- SELECT D0.DomainID AS ItemID, D0.DomainName AS TextSearch, ''DomainName'' AS ColumnType
- FROM @Domains AS D0
- UNION
- SELECT D1.DomainID AS ItemID, D1.Username AS TextSearch, ''Username'' AS ColumnType
- FROM @Domains AS D1
- UNION
- SELECT D2.DomainID as ItemID, D2.FullName AS TextSearch, ''FullName'' AS ColumnType
- FROM @Domains AS D2
- UNION
- SELECT D3.DomainID as ItemID, D3.Email AS TextSearch, ''Email'' AS ColumnType
- FROM @Domains AS D3) AS D'
-WHEN 'IPAddresses' THEN '
- FROM(
- SELECT D0.AddressesID AS ItemID, D0.ExternalIP AS TextSearch, ''ExternalIP'' AS ColumnType
- FROM @IPAddresses AS D0
- UNION
- SELECT D1.AddressesID AS ItemID, D1.InternalIP AS TextSearch, ''InternalIP'' AS ColumnType
- FROM @IPAddresses AS D1
- UNION
- SELECT D2.AddressesID AS ItemID, D2.DefaultGateway AS TextSearch, ''DefaultGateway'' AS ColumnType
- FROM @IPAddresses AS D2
- UNION
- SELECT D3.AddressesID AS ItemID, D3.ServerName AS TextSearch, ''ServerName'' AS ColumnType
- FROM @IPAddresses AS D3
- UNION
- SELECT D4.AddressesID AS ItemID, D4.UserName AS TextSearch, ''UserName'' AS ColumnType
- FROM @IPAddresses AS D4
- UNION
- SELECT D6.AddressesID AS ItemID, D6.ItemName AS TextSearch, ''ItemName'' AS ColumnType
- FROM @IPAddresses AS D6) AS D'
-WHEN 'Schedules' THEN '
- FROM(
- SELECT D0.ScheduleID AS ItemID, D0.ScheduleName AS TextSearch, ''ScheduleName'' AS ColumnType
- FROM @Schedules AS D0
- UNION
- SELECT D1.ScheduleID AS ItemID, D1.Username AS TextSearch, ''Username'' AS ColumnType
- FROM @Schedules AS D1
- UNION
- SELECT D2.ScheduleID AS ItemID, D2.FullName AS TextSearch, ''FullName'' AS ColumnType
- FROM @Schedules AS D2
- UNION
- SELECT D3.ScheduleID AS ItemID, D3.Email AS TextSearch, ''Email'' AS ColumnType
- FROM @Schedules AS D3) AS D'
-WHEN 'NestedPackages' THEN '
- FROM(
- SELECT D0.PackageID AS ItemID, D0.PackageName AS TextSearch, ''PackageName'' AS ColumnType
- FROM @NestedPackages AS D0
- UNION
- SELECT D1.PackageID AS ItemID, D1.Username AS TextSearch, ''Username'' AS ColumnType
- FROM @NestedPackages AS D1
- UNION
- SELECT D2.PackageID as ItemID, D2.FullName AS TextSearch, ''FullName'' AS ColumnType
- FROM @NestedPackages AS D2
- UNION
- SELECT D3.PackageID as ItemID, D3.Email AS TextSearch, ''Email'' AS ColumnType
- FROM @NestedPackages AS D3) AS D'
-WHEN 'PackageIPAddresses' THEN '
- FROM(
- SELECT D0.PackageAddressID AS ItemID, D0.ExternalIP AS TextSearch, ''ExternalIP'' AS ColumnType
- FROM @PackageIPAddresses AS D0
- UNION
- SELECT D1.PackageAddressID AS ItemID, D1.InternalIP AS TextSearch, ''InternalIP'' AS ColumnType
- FROM @PackageIPAddresses AS D1
- UNION
- SELECT D2.PackageAddressID as ItemID, D2.DefaultGateway AS TextSearch, ''DefaultGateway'' AS ColumnType
- FROM @PackageIPAddresses AS D2
- UNION
- SELECT D3.PackageAddressID as ItemID, D3.ItemName AS TextSearch, ''ItemName'' AS ColumnType
- FROM @PackageIPAddresses AS D3
- UNION
- SELECT D5.PackageAddressID as ItemID, D5.UserName AS TextSearch, ''UserName'' AS ColumnType
- FROM @PackageIPAddresses AS D5) AS D'
-WHEN 'ServiceItems' THEN '
- FROM(
- SELECT D0.ItemID AS ItemID, D0.ItemName AS TextSearch, ''ItemName'' AS ColumnType
- FROM @ServiceItems AS D0
- UNION
- SELECT D1.ItemID AS ItemID, D1.Username AS TextSearch, ''Username'' AS ColumnType
- FROM @ServiceItems AS D1
- UNION
- SELECT D2.ItemID as ItemID, D2.FullName AS TextSearch, ''FullName'' AS ColumnType
- FROM @ServiceItems AS D2
- UNION
- SELECT D3.ItemID as ItemID, D3.Email AS TextSearch, ''Email'' AS ColumnType
- FROM @ServiceItems AS D3) AS D'
-WHEN 'Users' THEN '
- FROM(
- SELECT D0.UserID AS ItemID, D0.Username AS TextSearch, ''Username'' AS ColumnType
- FROM @Users AS D0
- UNION
- SELECT D1.UserID AS ItemID, D1.FullName AS TextSearch, ''FullName'' AS ColumnType
- FROM @Users AS D1
- UNION
- SELECT D2.UserID as ItemID, D2.Email AS TextSearch, ''Email'' AS ColumnType
- FROM @Users AS D2
- UNION
- SELECT D3.UserID as ItemID, D3.CompanyName AS TextSearch, ''CompanyName'' AS ColumnType
- FROM @Users AS D3) AS D'
-WHEN 'VirtualMachines' THEN '
- FROM(
- SELECT D0.ItemID AS ItemID, D0.ItemName AS TextSearch, ''ItemName'' AS ColumnType
- FROM @VirtualMachines AS D0
- UNION
- SELECT D1.ItemID AS ItemID, D1.ExternalIP AS TextSearch, ''ExternalIP'' AS ColumnType
- FROM @VirtualMachines AS D1
- UNION
- SELECT D2.ItemID as ItemID, D2.Username AS TextSearch, ''Username'' AS ColumnType
- FROM @VirtualMachines AS D2
- UNION
- SELECT D3.ItemID as ItemID, D3.IPAddress AS TextSearch, ''IPAddress'' AS ColumnType
- FROM @VirtualMachines AS D3) AS D'
-WHEN 'PackagePrivateIPAddresses' THEN '
- FROM(
- SELECT D0.PrivateAddressID AS ItemID, D0.IPAddress AS TextSearch, ''IPAddress'' AS ColumnType
- FROM @PackagePrivateIPAddresses AS D0
- UNION
- SELECT D1.PrivateAddressID AS ItemID, D1.ItemName AS TextSearch, ''ItemName'' AS ColumnType
- FROM @PackagePrivateIPAddresses AS D1) AS D'
-END + '
- WHERE (TextSearch LIKE @FilterValue)'
-IF @FilterColumns <> '' AND @FilterColumns IS NOT NULL
- SET @sql = @sql + '
- AND (ColumnType IN (' + @FilterColumns + '))'
-SET @sql = @sql + '
- GROUP BY TextSearch, ColumnType
- ORDER BY TextSearch'
-
-exec sp_executesql @sql, N'@FilterValue nvarchar(50), @Recursive bit, @PoolID int, @ServerID int, @ActorID int, @StatusID int, @PlanID int, @OrgID int, @ItemTypeName nvarchar(200), @GroupName nvarchar(100), @PackageID int, @VPSTypeID int, @UserID int, @RoleID int',
-@FilterValue, @Recursive, @PoolID, @ServerID, @ActorID, @StatusID, @PlanID, @OrgID, @ItemTypeName, @GroupName, @PackageID, @VPSTypeID, @UserID, @RoleID
-
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetPackagePrivateIPAddressesPaged')
-DROP PROCEDURE GetPackagePrivateIPAddressesPaged
-GO
-CREATE PROCEDURE [dbo].[GetPackagePrivateIPAddressesPaged]
- @PackageID int,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int
-AS
-BEGIN
-
-
--- start
-DECLARE @condition nvarchar(700)
-SET @condition = '
-SI.PackageID = @PackageID
-'
-
-IF @FilterValue <> '' AND @FilterValue IS NOT NULL
-BEGIN
- IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
- SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
- ELSE
- SET @condition = @condition + '
- AND (IPAddress LIKE ''' + @FilterValue + '''
- OR ItemName LIKE ''' + @FilterValue + ''')'
-END
-
-IF @SortColumn IS NULL OR @SortColumn = ''
-SET @SortColumn = 'PA.IPAddress ASC'
-
-DECLARE @sql nvarchar(3500)
-
-set @sql = '
-SELECT COUNT(PA.PrivateAddressID)
-FROM dbo.PrivateIPAddresses AS PA
-INNER JOIN dbo.ServiceItems AS SI ON PA.ItemID = SI.ItemID
-WHERE ' + @condition + '
-
-DECLARE @Addresses AS TABLE
-(
- PrivateAddressID int
-);
-
-WITH TempItems AS (
- SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row,
- PA.PrivateAddressID
- FROM dbo.PrivateIPAddresses AS PA
- INNER JOIN dbo.ServiceItems AS SI ON PA.ItemID = SI.ItemID
- WHERE ' + @condition + '
-)
-
-INSERT INTO @Addresses
-SELECT PrivateAddressID FROM TempItems
-WHERE TempItems.Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows
-
-SELECT
- PA.PrivateAddressID,
- PA.IPAddress,
- PA.ItemID,
- SI.ItemName,
- PA.IsPrimary
-FROM @Addresses AS TA
-INNER JOIN dbo.PrivateIPAddresses AS PA ON TA.PrivateAddressID = PA.PrivateAddressID
-INNER JOIN dbo.ServiceItems AS SI ON PA.ItemID = SI.ItemID
-'
-
-print @sql
-
-exec sp_executesql @sql, N'@PackageID int, @StartRow int, @MaximumRows int',
-@PackageID, @StartRow, @MaximumRows
-
-END
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetNestedPackagesPaged')
-DROP PROCEDURE GetNestedPackagesPaged
-GO
-CREATE PROCEDURE [dbo].[GetNestedPackagesPaged]
-(
- @ActorID int,
- @PackageID int,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @StatusID int,
- @PlanID int,
- @ServerID int,
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int
-)
-AS
-
--- build query and run it to the temporary table
-DECLARE @sql nvarchar(2000)
-
-SET @sql = '
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-RAISERROR(''You are not allowed to access this package'', 16, 1)
-
-DECLARE @EndRow int
-SET @EndRow = @StartRow + @MaximumRows
-DECLARE @Packages TABLE
-(
- ItemPosition int IDENTITY(1,1),
- PackageID int
-)
-INSERT INTO @Packages (PackageID)
-SELECT
- P.PackageID
-FROM Packages AS P
-INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
-INNER JOIN Servers AS S ON P.ServerID = S.ServerID
-INNER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID
-WHERE
- P.ParentPackageID = @PackageID
- AND ((@StatusID = 0) OR (@StatusID > 0 AND P.StatusID = @StatusID))
- AND ((@PlanID = 0) OR (@PlanID > 0 AND P.PlanID = @PlanID))
- AND ((@ServerID = 0) OR (@ServerID > 0 AND P.ServerID = @ServerID)) '
-
-IF @FilterValue <> ''
-BEGIN
- IF @FilterColumn <> ''
- SET @sql = @sql + ' AND ' + @FilterColumn + ' LIKE @FilterValue '
- ELSE
- SET @sql = @sql + '
- AND (Username LIKE @FilterValue
- OR FullName LIKE @FilterValue
- OR Email LIKE @FilterValue) '
-END
-
-IF @SortColumn <> '' AND @SortColumn IS NOT NULL
-SET @sql = @sql + ' ORDER BY ' + @SortColumn + ' '
-
-SET @sql = @sql + ' SELECT COUNT(PackageID) FROM @Packages;
-SELECT
- P.PackageID,
- P.PackageName,
- P.StatusID,
- P.PurchaseDate,
-
- dbo.GetItemComments(P.PackageID, ''PACKAGE'', @ActorID) AS Comments,
-
- -- server
- P.ServerID,
- ISNULL(S.ServerName, ''None'') AS ServerName,
- ISNULL(S.Comments, '''') AS ServerComments,
- ISNULL(S.VirtualServer, 1) AS VirtualServer,
-
- -- hosting plan
- P.PlanID,
- HP.PlanName,
-
- -- user
- P.UserID,
- U.Username,
- U.FirstName,
- U.LastName,
- U.FullName,
- U.RoleID,
- U.Email
-FROM @Packages AS TP
-INNER JOIN Packages AS P ON TP.PackageID = P.PackageID
-INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
-INNER JOIN Servers AS S ON P.ServerID = S.ServerID
-INNER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID
-WHERE TP.ItemPosition BETWEEN @StartRow AND @EndRow'
-
-exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @PackageID int, @FilterValue nvarchar(50), @ActorID int, @StatusID int, @PlanID int, @ServerID int',
-@StartRow, @MaximumRows, @PackageID, @FilterValue, @ActorID, @StatusID, @PlanID, @ServerID
-
-
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetUsersPaged')
-DROP PROCEDURE GetUsersPaged
-GO
-CREATE PROCEDURE [dbo].[GetUsersPaged]
-(
- @ActorID int,
- @UserID int,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @StatusID int,
- @RoleID int,
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int,
- @Recursive bit
-)
-AS
--- build query and run it to the temporary table
-DECLARE @sql nvarchar(2000)
-
-SET @sql = '
-
-DECLARE @HasUserRights bit
-SET @HasUserRights = dbo.CheckActorUserRights(@ActorID, @UserID)
-
-DECLARE @EndRow int
-SET @EndRow = @StartRow + @MaximumRows
-DECLARE @Users TABLE
-(
- ItemPosition int IDENTITY(0,1),
- UserID int
-)
-INSERT INTO @Users (UserID)
-SELECT
- U.UserID
-FROM UsersDetailed AS U
-WHERE
- U.UserID <> @UserID AND U.IsPeer = 0 AND
- (
- (@Recursive = 0 AND OwnerID = @UserID) OR
- (@Recursive = 1 AND dbo.CheckUserParent(@UserID, U.UserID) = 1)
- )
- AND ((@StatusID = 0) OR (@StatusID > 0 AND U.StatusID = @StatusID))
- AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID))
- AND @HasUserRights = 1 '
-
-IF @FilterValue <> ''
-BEGIN
- IF @FilterColumn <> ''
- SET @sql = @sql + ' AND ' + @FilterColumn + ' LIKE @FilterValue '
- ELSE
- SET @sql = @sql + '
- AND (Username LIKE @FilterValue
- OR FullName LIKE @FilterValue
- OR Email LIKE @FilterValue) '
-END
-
-IF @SortColumn <> '' AND @SortColumn IS NOT NULL
-SET @sql = @sql + ' ORDER BY ' + @SortColumn + ' '
-
-SET @sql = @sql + ' SELECT COUNT(UserID) FROM @Users;
-SELECT
- U.UserID,
- U.RoleID,
- U.StatusID,
- U.SubscriberNumber,
- U.LoginStatusId,
- U.FailedLogins,
- U.OwnerID,
- U.Created,
- U.Changed,
- U.IsDemo,
- dbo.GetItemComments(U.UserID, ''USER'', @ActorID) AS Comments,
- U.IsPeer,
- U.Username,
- U.FirstName,
- U.LastName,
- U.Email,
- U.FullName,
- U.OwnerUsername,
- U.OwnerFirstName,
- U.OwnerLastName,
- U.OwnerRoleID,
- U.OwnerFullName,
- U.OwnerEmail,
- U.PackagesNumber,
- U.CompanyName,
- U.EcommerceEnabled
-FROM @Users AS TU
-INNER JOIN UsersDetailed AS U ON TU.UserID = U.UserID
-WHERE TU.ItemPosition BETWEEN @StartRow AND @EndRow'
-
-exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @UserID int, @FilterValue nvarchar(50), @ActorID int, @Recursive bit, @StatusID int, @RoleID int',
-@StartRow, @MaximumRows, @UserID, @FilterValue, @ActorID, @Recursive, @StatusID, @RoleID
-
-
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetServiceItemsPaged')
-DROP PROCEDURE GetServiceItemsPaged
-GO
-CREATE PROCEDURE [dbo].[GetServiceItemsPaged]
-(
- @ActorID int,
- @PackageID int,
- @ItemTypeName nvarchar(200),
- @GroupName nvarchar(100) = NULL,
- @ServerID int,
- @Recursive bit,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int
-)
-AS
-
-
--- check rights
-IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
-RAISERROR('You are not allowed to access this package', 16, 1)
-
--- start
-DECLARE @GroupID int
-SELECT @GroupID = GroupID FROM ResourceGroups
-WHERE GroupName = @GroupName
-
-DECLARE @ItemTypeID int
-SELECT @ItemTypeID = ItemTypeID FROM ServiceItemTypes
-WHERE TypeName = @ItemTypeName
-AND ((@GroupID IS NULL) OR (@GroupID IS NOT NULL AND GroupID = @GroupID))
-
-DECLARE @condition nvarchar(700)
-SET @condition = 'SI.ItemTypeID = @ItemTypeID
-AND ((@Recursive = 0 AND P.PackageID = @PackageID)
- OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, P.PackageID) = 1))
-AND ((@GroupID IS NULL) OR (@GroupID IS NOT NULL AND IT.GroupID = @GroupID))
-AND (@ServerID = 0 OR (@ServerID > 0 AND S.ServerID = @ServerID))
-'
-
-IF @FilterValue <> '' AND @FilterValue IS NOT NULL
-BEGIN
- IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
- SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
- ELSE
- SET @condition = @condition + '
- AND (ItemName LIKE ''' + @FilterValue + '''
- OR Username ''' + @FilterValue + '''
- OR FullName ''' + @FilterValue + '''
- OR Email ''' + @FilterValue + ''')'
-END
-
-IF @SortColumn IS NULL OR @SortColumn = ''
-SET @SortColumn = 'SI.ItemName ASC'
-
-DECLARE @sql nvarchar(3500)
-
-set @sql = '
-SELECT COUNT(SI.ItemID) FROM Packages AS P
-INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
-INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
-INNER JOIN ServiceItemTypes AS IT ON SI.ItemTypeID = IT.ItemTypeID
-INNER JOIN Services AS S ON SI.ServiceID = S.ServiceID
-WHERE ' + @condition + '
-
-DECLARE @Items AS TABLE
-(
- ItemID int
-);
-
-WITH TempItems AS (
- SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row,
- SI.ItemID
- FROM Packages AS P
- INNER JOIN ServiceItems AS SI ON P.PackageID = SI.PackageID
- INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
- INNER JOIN ServiceItemTypes AS IT ON SI.ItemTypeID = IT.ItemTypeID
- INNER JOIN Services AS S ON SI.ServiceID = S.ServiceID
- INNER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
- WHERE ' + @condition + '
-)
-
-INSERT INTO @Items
-SELECT ItemID FROM TempItems
-WHERE TempItems.Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows
-
-SELECT
- SI.ItemID,
- SI.ItemName,
- SI.ItemTypeID,
- IT.TypeName,
- SI.ServiceID,
- SI.PackageID,
- SI.CreatedDate,
- RG.GroupName,
-
- -- 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 @Items AS TSI
-INNER JOIN ServiceItems AS SI ON TSI.ItemID = SI.ItemID
-INNER JOIN ServiceItemTypes AS IT ON SI.ItemTypeID = IT.ItemTypeID
-INNER JOIN Packages AS P ON SI.PackageID = P.PackageID
-INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
-INNER JOIN Services AS S ON SI.ServiceID = S.ServiceID
-INNER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
-INNER JOIN ResourceGroups AS RG ON IT.GroupID = RG.GroupID
-
-
-SELECT
- IP.ItemID,
- IP.PropertyName,
- IP.PropertyValue
-FROM ServiceItemProperties AS IP
-INNER JOIN @Items AS TSI ON IP.ItemID = TSI.ItemID'
-
---print @sql
-
-exec sp_executesql @sql, N'@ItemTypeID int, @PackageID int, @GroupID int, @StartRow int, @MaximumRows int, @Recursive bit, @ServerID int',
-@ItemTypeID, @PackageID, @GroupID, @StartRow, @MaximumRows, @Recursive, @ServerID
-
-RETURN
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetIPAddressesPaged')
-DROP PROCEDURE GetIPAddressesPaged
-GO
-CREATE PROCEDURE [dbo].[GetIPAddressesPaged]
-(
- @ActorID int,
- @PoolID int,
- @ServerID int,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int
-)
-AS
-BEGIN
-
--- check rights
-DECLARE @IsAdmin bit
-SET @IsAdmin = dbo.CheckIsUserAdmin(@ActorID)
-
--- start
-DECLARE @condition nvarchar(700)
-SET @condition = '
-@IsAdmin = 1
-AND (@PoolID = 0 OR @PoolID <> 0 AND IP.PoolID = @PoolID)
-AND (@ServerID = 0 OR @ServerID <> 0 AND IP.ServerID = @ServerID)
-'
-
-IF @FilterValue <> '' AND @FilterValue IS NOT NULL
-BEGIN
- IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
- SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
- ELSE
- SET @condition = @condition + '
- AND (ExternalIP LIKE ''' + @FilterValue + '''
- OR InternalIP LIKE ''' + @FilterValue + '''
- OR DefaultGateway LIKE ''' + @FilterValue + '''
- OR ServerName LIKE ''' + @FilterValue + '''
- OR ItemName LIKE ''' + @FilterValue + '''
- OR Username LIKE ''' + @FilterValue + ''')'
-END
-
-IF @SortColumn IS NULL OR @SortColumn = ''
-SET @SortColumn = 'IP.ExternalIP ASC'
-
-DECLARE @sql nvarchar(3500)
-
-set @sql = '
-SELECT COUNT(IP.AddressID)
-FROM dbo.IPAddresses AS IP
-LEFT JOIN Servers AS S ON IP.ServerID = S.ServerID
-LEFT JOIN PackageIPAddresses AS PA ON IP.AddressID = PA.AddressID
-LEFT JOIN ServiceItems SI ON PA.ItemId = SI.ItemID
-LEFT JOIN dbo.Packages P ON PA.PackageID = P.PackageID
-LEFT JOIN dbo.Users U ON P.UserID = U.UserID
-WHERE ' + @condition + '
-
-DECLARE @Addresses AS TABLE
-(
- AddressID int
-);
-
-WITH TempItems AS (
- SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row,
- IP.AddressID
- FROM dbo.IPAddresses AS IP
- LEFT JOIN Servers AS S ON IP.ServerID = S.ServerID
- LEFT JOIN PackageIPAddresses AS PA ON IP.AddressID = PA.AddressID
- LEFT JOIN ServiceItems SI ON PA.ItemId = SI.ItemID
- LEFT JOIN dbo.Packages P ON PA.PackageID = P.PackageID
- LEFT JOIN dbo.Users U ON U.UserID = P.UserID
- WHERE ' + @condition + '
-)
-
-INSERT INTO @Addresses
-SELECT AddressID FROM TempItems
-WHERE TempItems.Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows
-
-SELECT
- IP.AddressID,
- IP.PoolID,
- IP.ExternalIP,
- IP.InternalIP,
- IP.SubnetMask,
- IP.DefaultGateway,
- IP.Comments,
-
- IP.ServerID,
- S.ServerName,
-
- PA.ItemID,
- SI.ItemName,
-
- PA.PackageID,
- P.PackageName,
-
- P.UserID,
- U.UserName
-FROM @Addresses AS TA
-INNER JOIN dbo.IPAddresses AS IP ON TA.AddressID = IP.AddressID
-LEFT JOIN Servers AS S ON IP.ServerID = S.ServerID
-LEFT JOIN PackageIPAddresses AS PA ON IP.AddressID = PA.AddressID
-LEFT JOIN ServiceItems SI ON PA.ItemId = SI.ItemID
-LEFT JOIN dbo.Packages P ON PA.PackageID = P.PackageID
-LEFT JOIN dbo.Users U ON U.UserID = P.UserID
-'
-
-exec sp_executesql @sql, N'@IsAdmin bit, @PoolID int, @ServerID int, @StartRow int, @MaximumRows int',
-@IsAdmin, @PoolID, @ServerID, @StartRow, @MaximumRows
-
-END
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetSearchObject')
-DROP PROCEDURE GetSearchObject
-GO
-CREATE PROCEDURE [dbo].[GetSearchObject]
-(
- @ActorID int,
- @UserID int,
- @FilterColumn nvarchar(50) = '',
- @FilterValue nvarchar(50) = '',
- @StatusID int,
- @RoleID int,
- @SortColumn nvarchar(50),
- @StartRow int,
- @MaximumRows int = 0,
- @Recursive bit,
- @ColType nvarchar(50) = '',
- @FullType nvarchar(50) = '',
- @OnlyFind bit
-)
-AS
-
-IF dbo.CheckActorUserRights(@ActorID, @UserID) = 0
-RAISERROR('You are not allowed to access this account', 16, 1)
-
-DECLARE @columnUsername nvarchar(20)
-SET @columnUsername = 'Username'
-
-DECLARE @columnEmail nvarchar(20)
-SET @columnEmail = 'Email'
-
-DECLARE @columnCompanyName nvarchar(20)
-SET @columnCompanyName = 'CompanyName'
-
-DECLARE @columnFullName nvarchar(20)
-SET @columnFullName = 'FullName'
-
-DECLARE @curUsers cursor
-DECLARE @curSpace cursor
-
-DECLARE @sqlSpace nvarchar(3000)
-DECLARE @sqlUsers nvarchar(2000)
-DECLARE @sqlReturn nvarchar(4000)
-
-IF @FilterColumn = '' AND @FilterValue <> ''
-SET @FilterColumn = 'TextSearch'
-
-SET @sqlUsers = '
-DECLARE @HasUserRights bit
-SET @HasUserRights = dbo.CheckActorUserRights(@ActorID, @UserID)
-DECLARE @Users TABLE
-(
- ItemPosition int IDENTITY(0,1),
- UserID int
-)
-INSERT INTO @Users (UserID)
-SELECT
- U.UserID
-FROM UsersDetailed AS U
-WHERE
- U.UserID <> @UserID AND U.IsPeer = 0 AND
- (
- (@Recursive = 0 AND OwnerID = @UserID) OR
- (@Recursive = 1 AND dbo.CheckUserParent(@UserID, U.UserID) = 1)
- )
- AND ((@StatusID = 0) OR (@StatusID > 0 AND U.StatusID = @StatusID))
- AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID))
- AND @HasUserRights = 1
-SET @curValue = cursor local for
-SELECT '
-
-IF @OnlyFind = 1
-SET @sqlUsers = @sqlUsers + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
-
-SET @sqlUsers = @sqlUsers + 'U.ItemID,
- U.TextSearch,
- U.ColumnType,
- ''Users'' as FullType,
- 0 as PackageID,
- 0 as AccountID
-FROM @Users AS TU
-INNER JOIN
-(
-SELECT ItemID, TextSearch, ColumnType
-FROM(
-SELECT U0.UserID as ItemID, U0.Username as TextSearch, @columnUsername as ColumnType
-FROM dbo.Users AS U0
-UNION
-SELECT U1.UserID as ItemID, U1.Email as TextSearch, @columnEmail as ColumnType
-FROM dbo.Users AS U1
-UNION
-SELECT U2.UserID as ItemID, U2.CompanyName as TextSearch, @columnCompanyName as ColumnType
-FROM dbo.Users AS U2
-UNION
-SELECT U3.UserID as ItemID, U3.FirstName + '' '' + U3.LastName as TextSearch, @columnFullName as ColumnType
-FROM dbo.Users AS U3) as U
-WHERE TextSearch<>'' '' OR ISNULL(TextSearch, 0) > 0
-)
- AS U ON TU.UserID = U.ItemID'
-IF @FilterValue <> ''
- SET @sqlUsers = @sqlUsers + ' WHERE TextSearch LIKE ''' + @FilterValue + ''''
-SET @sqlUsers = @sqlUsers + ' ORDER BY TextSearch'
-
-SET @sqlUsers = @sqlUsers + ' open @curValue'
-
-exec sp_executesql @sqlUsers, N'@UserID int, @FilterValue nvarchar(50), @ActorID int, @Recursive bit, @StatusID int, @RoleID int, @columnUsername nvarchar(20), @columnEmail nvarchar(20), @columnCompanyName nvarchar(20), @columnFullName nvarchar(20), @curValue cursor output',
-@UserID, @FilterValue, @ActorID, @Recursive, @StatusID, @RoleID, @columnUsername, @columnEmail, @columnCompanyName, @columnFullName, @curValue=@curUsers output
-
-SET @sqlSpace = '
- DECLARE @ItemsService TABLE
- (
- ItemID int
- )
- INSERT INTO @ItemsService (ItemID)
- SELECT
- SI.ItemID
- FROM ServiceItems AS SI
- INNER JOIN Packages AS P ON P.PackageID = SI.PackageID
- INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
- WHERE
- dbo.CheckUserParent(@UserID, P.UserID) = 1
- DECLARE @ItemsDomain TABLE
- (
- ItemID int
- )
- INSERT INTO @ItemsDomain (ItemID)
- SELECT
- D.DomainID
- FROM Domains AS D
- INNER JOIN Packages AS P ON P.PackageID = D.PackageID
- INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
- WHERE
- dbo.CheckUserParent(@UserID, P.UserID) = 1
-
- SET @curValue = cursor local for
- SELECT '
-
-IF @OnlyFind = 1
-SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
-
-SET @sqlSpace = @sqlSpace + '
- SI.ItemID as ItemID,
- SI.ItemName as TextSearch,
- STYPE.DisplayName as ColumnType,
- STYPE.DisplayName as FullType,
- SI.PackageID as PackageID,
- 0 as AccountID
- FROM @ItemsService AS I
- INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID
- INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID
- WHERE (STYPE.Searchable = 1)'
-IF @FilterValue <> ''
- SET @sqlSpace = @sqlSpace + ' AND (SI.ItemName LIKE ''' + @FilterValue + ''')'
-SET @sqlSpace = @sqlSpace + '
- UNION (
- SELECT '
-
-IF @OnlyFind = 1
-SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
-
-SET @sqlSpace = @sqlSpace + '
- D.DomainID AS ItemID,
- D.DomainName as TextSearch,
- ''Domain'' as ColumnType,
- ''Domain'' as FullType,
- D.PackageID as PackageID,
- 0 as AccountID
- FROM @ItemsDomain AS I
- INNER JOIN Domains AS D ON I.ItemID = D.DomainID
- WHERE (D.IsDomainPointer=0)'
-IF @FilterValue <> ''
- SET @sqlSpace = @sqlSpace + ' AND (D.DomainName LIKE ''' + @FilterValue + ''')'
-SET @sqlSpace = @sqlSpace + '
- UNION
- SELECT '
-
-IF @OnlyFind = 1
-SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
-
-SET @sqlSpace = @sqlSpace + '
- EA.ItemID AS ItemID,
- EA.DisplayName as TextSearch,
- ''ExchangeAccount'' as ColumnType,
- ''ExchangeAccount'' as FullType,
- SI2.PackageID as PackageID,
- EA.AccountID as AccountID
- FROM @ItemsService AS I2
- INNER JOIN ServiceItems AS SI2 ON I2.ItemID = SI2.ItemID
- INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID'
-IF @FilterValue <> ''
- SET @sqlSpace = @sqlSpace + ' WHERE (EA.DisplayName LIKE ''' + @FilterValue + ''')'
-SET @sqlSpace = @sqlSpace + '
- UNION
- SELECT '
-
-IF @OnlyFind = 1
-SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
-
-SET @sqlSpace = @sqlSpace + '
- EA4.ItemID AS ItemID,
- EA4.PrimaryEmailAddress as TextSearch,
- ''ExchangeAccount'' as ColumnType,
- ''ExchangeAccount'' as FullType,
- SI4.PackageID as PackageID,
- EA4.AccountID as AccountID
- FROM @ItemsService AS I4
- INNER JOIN ServiceItems AS SI4 ON I4.ItemID = SI4.ItemID
- INNER JOIN ExchangeAccounts AS EA4 ON I4.ItemID = EA4.ItemID'
-IF @FilterValue <> ''
- SET @sqlSpace = @sqlSpace + ' WHERE (EA4.PrimaryEmailAddress LIKE ''' + @FilterValue + ''')'
-SET @sqlSpace = @sqlSpace + '
- UNION
- SELECT '
-
-IF @OnlyFind = 1
-SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
-
-SET @sqlSpace = @sqlSpace + '
- I3.ItemID AS ItemID,
- EAEA.EmailAddress as TextSearch,
- ''ExchangeAccount'' as ColumnType,
- ''ExchangeAccount'' as FullType,
- SI3.PackageID as PackageID,
- 0 as AccountID
- FROM @ItemsService AS I3
- INNER JOIN ServiceItems AS SI3 ON I3.ItemID = SI3.ItemID
- INNER JOIN ExchangeAccountEmailAddresses AS EAEA ON I3.ItemID = EAEA.AccountID'
-IF @FilterValue <> ''
- SET @sqlSpace = @sqlSpace + ' WHERE (EAEA.EmailAddress LIKE ''' + @FilterValue + ''')'
-SET @sqlSpace = @sqlSpace + ') ORDER BY TextSearch';
-
-SET @sqlSpace = @sqlSpace + ' open @curValue'
-
-exec sp_executesql @sqlSpace, N'@UserID int, @FilterValue nvarchar(50), @ActorID int, @curValue cursor output',
-@UserID, @FilterValue, @ActorID, @curValue=@curSpace output
-
-SET @sqlReturn = '
-DECLARE @ItemID int
-DECLARE @TextSearch nvarchar(500)
-DECLARE @ColumnType nvarchar(50)
-DECLARE @FullType nvarchar(50)
-DECLARE @PackageID int
-DECLARE @AccountID int
-DECLARE @EndRow int
-SET @EndRow = @StartRow + @MaximumRows
-DECLARE @ItemsAll TABLE
- (
- ItemPosition int IDENTITY(1,1),
- ItemID int,
- TextSearch nvarchar(500),
- ColumnType nvarchar(50),
- FullType nvarchar(50),
- PackageID int,
- AccountID int
- )
-
-FETCH NEXT FROM @curUsersValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID
-WHILE @@FETCH_STATUS = 0
-BEGIN
-INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID)
-VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID)
-FETCH NEXT FROM @curUsersValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID
-END
-
-FETCH NEXT FROM @curSpaceValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID
-WHILE @@FETCH_STATUS = 0
-BEGIN
-INSERT INTO @ItemsAll(ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID)
-VALUES(@ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID)
-FETCH NEXT FROM @curSpaceValue INTO @ItemID, @TextSearch, @ColumnType, @FullType, @PackageID, @AccountID
-END
-
-DECLARE @ItemsReturn TABLE
- (
- ItemPosition int IDENTITY(1,1),
- ItemID int,
- TextSearch nvarchar(500),
- ColumnType nvarchar(50),
- FullType nvarchar(50),
- PackageID int,
- AccountID int
- )
-INSERT INTO @ItemsReturn(ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID)
-SELECT ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID
-FROM @ItemsAll AS IA WHERE (1 = 1) '
-
-
-IF @ColType <> ''
-SET @sqlReturn = @sqlReturn + ' AND IA.ColumnType in ( ' + @ColType + ' ) ';
-
-IF @FullType <> ''
-SET @sqlReturn = @sqlReturn + ' AND IA.FullType = ''' + @FullType + '''';
-
-SET @sqlReturn = @sqlReturn + '
-SELECT COUNT(ItemID) FROM @ItemsReturn;
-SELECT DISTINCT(ColumnType) FROM @ItemsReturn WHERE (1 = 1) ';
-IF @FullType <> ''
-SET @sqlReturn = @sqlReturn + ' AND FullType = ''' + @FullType + '''';
-SET @sqlReturn = @sqlReturn + '; ';
-SET @sqlReturn = @sqlReturn + '
-SELECT ItemPosition, ItemID, TextSearch, ColumnType, FullType, PackageID, AccountID
-FROM @ItemsReturn AS IR WHERE (1 = 1)
-'
-
-IF @MaximumRows > 0
-SET @sqlReturn = @sqlReturn + ' AND IR.ItemPosition BETWEEN @StartRow AND @EndRow';
-
-exec sp_executesql @sqlReturn, N'@StartRow int, @MaximumRows int, @FilterValue nvarchar(50), @curSpaceValue cursor, @curUsersValue cursor',
-@StartRow, @MaximumRows, @FilterValue, @curSpace, @curUsers
-
-CLOSE @curSpace
-DEALLOCATE @curSpace
-CLOSE @curUsers
-DEALLOCATE @curUsers
-RETURN
-
-
-IF EXISTS (SELECT TOP 1 * FROM ServiceItemTypes WHERE DisplayName = 'SharePointEnterpriseSiteCollection')
-BEGIN
- DECLARE @item_type_id AS INT
- SELECT @item_type_id = ItemTypeId FROM ServiceItemTypes WHERE DisplayName = 'SharePointEnterpriseSiteCollection'
- UPDATE [dbo].[Quotas] SET ItemTypeID = @item_type_id WHERE QuotaId = 550
-END
-GO
-
--- OneTimePassword
-IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='Users' AND COLS.name='OneTimePasswordState')
-BEGIN
-ALTER TABLE [dbo].[Users] ADD
- [OneTimePasswordState] int NULL
-END
-GO
-
-IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'SetUserOneTimePassword')
-DROP PROCEDURE SetUserOneTimePassword
-GO
-CREATE PROCEDURE [dbo].[SetUserOneTimePassword]
-(
- @UserID int,
- @Password nvarchar(200),
- @OneTimePasswordState int
-)
-AS
-UPDATE Users
-SET Password = @Password, OneTimePasswordState = @OneTimePasswordState
-WHERE UserID = @UserID
-RETURN
-GO
-
-ALTER PROCEDURE [dbo].[GetUserByUsernameInternally]
-(
- @Username nvarchar(50)
-)
-AS
- SELECT
- U.UserID,
- U.RoleID,
- U.StatusID,
- U.SubscriberNumber,
- U.LoginStatusId,
- U.FailedLogins,
- U.OwnerID,
- U.Created,
- U.Changed,
- U.IsDemo,
- U.Comments,
- U.IsPeer,
- U.Username,
- U.Password,
- U.FirstName,
- U.LastName,
- U.Email,
- U.SecondaryEmail,
- U.Address,
- U.City,
- U.State,
- U.Country,
- U.Zip,
- U.PrimaryPhone,
- U.SecondaryPhone,
- U.Fax,
- U.InstantMessenger,
- U.HtmlMail,
- U.CompanyName,
- U.EcommerceEnabled,
- U.[AdditionalParams],
- U.OneTimePasswordState
- FROM Users AS U
- WHERE U.Username = @Username
-
- RETURN
-GO
-
-ALTER PROCEDURE [dbo].[GetUserByIdInternally]
-(
- @UserID int
-)
-AS
- SELECT
- U.UserID,
- U.RoleID,
- U.StatusID,
- U.SubscriberNumber,
- U.LoginStatusId,
- U.FailedLogins,
- U.OwnerID,
- U.Created,
- U.Changed,
- U.IsDemo,
- U.Comments,
- U.IsPeer,
- U.Username,
- U.Password,
- U.FirstName,
- U.LastName,
- U.Email,
- U.SecondaryEmail,
- U.Address,
- U.City,
- U.State,
- U.Country,
- U.Zip,
- U.PrimaryPhone,
- U.SecondaryPhone,
- U.Fax,
- U.InstantMessenger,
- U.HtmlMail,
- U.CompanyName,
- U.EcommerceEnabled,
- U.[AdditionalParams],
- U.OneTimePasswordState
- FROM Users AS U
- WHERE U.UserID = @UserID
-
- RETURN
-GO
-
-ALTER PROCEDURE [dbo].[ChangeUserPassword]
-(
- @ActorID int,
- @UserID int,
- @Password nvarchar(200)
-)
-AS
-
--- check actor rights
-IF dbo.CanUpdateUserDetails(@ActorID, @UserID) = 0
-RETURN
-
-UPDATE Users
-SET Password = @Password, OneTimePasswordState = 0
-WHERE UserID = @UserID
-
-RETURN
-GO
\ No newline at end of file
diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Common/RestrictedTraceAssertion.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Common/RestrictedTraceAssertion.cs
index 708ebc18..f7ff0a08 100644
--- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Common/RestrictedTraceAssertion.cs
+++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Common/RestrictedTraceAssertion.cs
@@ -112,6 +112,15 @@ namespace WebsitePanel.EnterpriseServer
filename = file;
}
+ void stripContent(XmlElement el, String tagName)
+ {
+ XmlNodeList passwords = el.GetElementsByTagName(tagName);
+ for (int i = 0; i < passwords.Count; ++i)
+ {
+ XmlNode node = passwords.Item(i);
+ node.InnerXml = "*****";
+ }
+ }
public override SoapFilterResult ProcessMessage(SoapEnvelope envelope)
{
XmlDocument dom = null;
@@ -137,12 +146,16 @@ namespace WebsitePanel.EnterpriseServer
}
XmlNode newNode = dom.ImportNode(envelope.DocumentElement, true);
- XmlNodeList passwords = (newNode as XmlElement).GetElementsByTagName("password");
+ XmlElement el = newNode as XmlElement;
+ stripContent(el, "password");
+ stripContent(el, "Password");
+ stripContent(el, "AnonymousUserPassword");
+/* XmlNodeList passwords = (newNode as XmlElement).GetElementsByTagName("password");
for (int i = 0; i < passwords.Count; ++i)
{
XmlNode node = passwords.Item(i);
node.InnerXml = "*****";
- }
+ } */
rootNode.AppendChild(newNode);
diff --git a/WebsitePanel/build.xml b/WebsitePanel/build.xml
index dce6efa3..069c0e62 100644
--- a/WebsitePanel/build.xml
+++ b/WebsitePanel/build.xml
@@ -1,4 +1,4 @@
-
+
2.1.0
$(BUILD_NUMBER)
@@ -617,7 +617,6 @@
-
@@ -649,8 +648,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+