5917 lines
135 KiB
Transact-SQL
5917 lines
135 KiB
Transact-SQL
USE [${install.database}]
|
|
GO
|
|
|
|
-- update database version
|
|
DECLARE @build_version nvarchar(10), @build_date datetime
|
|
SET @build_version = N'${release.version}'
|
|
SET @build_date = '${release.date}T00:00:00' -- ISO 8601 Format (YYYY-MM-DDTHH:MM:SS)
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Versions] WHERE [DatabaseVersion] = @build_version)
|
|
BEGIN
|
|
INSERT [dbo].[Versions] ([DatabaseVersion], [BuildDate]) VALUES (@build_version, @build_date)
|
|
END
|
|
GO
|
|
|
|
-- Windows Server 2012
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Windows Server 2012')
|
|
BEGIN
|
|
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (104, 1, N'Windows2012', N'Windows Server 2012', N'WebsitePanel.Providers.OS.Windows2012, WebsitePanel.Providers.OS.Windows2012', N'Windows2008', NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 104 AND [PropertyName] = N'UsersHome')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (104, N'UsersHome', N'%SYSTEMDRIVE%\HostingSpaces')
|
|
END
|
|
GO
|
|
|
|
-- IIS 8.0
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Internet Information Services 8.0')
|
|
BEGIN
|
|
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (105, 2, N'IIS80', N'Internet Information Services 8.0', N'WebsitePanel.Providers.Web.IIs80, WebsitePanel.Providers.Web.IIs80', N'IIS70', NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'AspNet11Pool')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'AspNet11Pool', N'ASP.NET 1.1')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'AspNet40Path')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'AspNet40Path', N'%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'AspNet40x64Path')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'AspNet40x64Path', N'%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'AspNetBitnessMode')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'AspNetBitnessMode', N'32')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'CFFlashRemotingDirectory')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'CFFlashRemotingDirectory', N'C:\ColdFusion9\runtime\lib\wsconfig\1')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'CFScriptsDirectory')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'CFScriptsDirectory', N'C:\Inetpub\wwwroot\CFIDE')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'ClassicAspNet20Pool')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'ClassicAspNet20Pool', N'ASP.NET 2.0 (Classic)')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'ClassicAspNet40Pool')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'ClassicAspNet40Pool', N'ASP.NET 4.0 (Classic)')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'ColdFusionPath')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'ColdFusionPath', N'C:\ColdFusion9\runtime\lib\wsconfig\jrun_iis6.dll')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'GalleryXmlFeedUrl')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'GalleryXmlFeedUrl', N'')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'IntegratedAspNet20Pool')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'IntegratedAspNet20Pool', N'ASP.NET 2.0 (Integrated)')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'IntegratedAspNet40Pool')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'IntegratedAspNet40Pool', N'ASP.NET 4.0 (Integrated)')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'PerlPath')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'PerlPath', N'%SYSTEMDRIVE%\Perl\bin\PerlEx30.dll')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'Php4Path')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'Php4Path', N'%PROGRAMFILES%\PHP\php.exe')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'PhpMode')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'PhpMode', N'FastCGI')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'PhpPath')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'PhpPath', N'%PROGRAMFILES%\PHP\php-cgi.exe')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'ProtectedGroupsFile')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'ProtectedGroupsFile', N'.htgroup')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'ProtectedUsersFile')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'ProtectedUsersFile', N'.htpasswd')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'SecureFoldersModuleAssembly')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'SecureFoldersModuleAssembly', N'WebsitePanel.IIsModules.SecureFolders, WebsitePanel.IIsModules, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=37f9c58a0aa32ff0')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'WebGroupName')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'WebGroupName', N'WSP_IUSRS')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'WmSvc.CredentialsMode')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'WmSvc.CredentialsMode', N'WINDOWS')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 105 AND [PropertyName] = N'WmSvc.Port')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (105, N'WmSvc.Port', N'8172')
|
|
END
|
|
GO
|
|
|
|
-- MS FTP 8.0
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft FTP Server 8.0')
|
|
BEGIN
|
|
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (106, 3, N'MSFTP80', N'Microsoft FTP Server 8.0', N'WebsitePanel.Providers.FTP.MsFTP80, WebsitePanel.Providers.FTP.IIs80', N'MSFTP70', NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 106 AND [PropertyName] = N'FtpGroupName')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (106, N'FtpGroupName', N'WSPFtpUsers')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 106 AND [PropertyName] = N'SiteId')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (106, N'SiteId', N'Default FTP Site')
|
|
END
|
|
GO
|
|
|
|
-- end of MS FTP 8.0, IIS 8.0 and Windows 2012
|
|
|
|
-- new user settings
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[UserSettings] WHERE ([UserID] = 1) AND ([SettingsName] = 'WebPolicy') AND ([PropertyName] = 'EnableParkingPageTokens'))
|
|
BEGIN
|
|
INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [PropertyValue]) VALUES (1, N'WebPolicy', N'EnableParkingPageTokens', N'False')
|
|
END
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'MsSQL2012')
|
|
BEGIN
|
|
INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (23, N'MsSQL2012', 10, N'WebsitePanel.EnterpriseServer.DatabaseServerController')
|
|
END
|
|
GO
|
|
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 1 WHERE [GroupName] = N'OS'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 2 WHERE [GroupName] = N'Web'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 3 WHERE [GroupName] = N'FTP'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 4 WHERE [GroupName] = N'Mail'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 5 WHERE [GroupName] = N'Exchange'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 6 WHERE [GroupName] = N'Hosted Organizations'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 7 WHERE [GroupName] = N'MsSQL2000'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 8 WHERE [GroupName] = N'MsSQL2005'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 9 WHERE [GroupName] = N'MsSQL2008'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 10 WHERE [GroupName] = N'MsSQL2012'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 11 WHERE [GroupName] = N'MySQL4'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 12 WHERE [GroupName] = N'MySQL5'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 13 WHERE [GroupName] = N'SharePoint'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 14 WHERE [GroupName] = N'Hosted SharePoint'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 15 WHERE [GroupName] = N'Hosted CRM'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 16 WHERE [GroupName] = N'DNS'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 17 WHERE [GroupName] = N'Statistics'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 18 WHERE [GroupName] = N'VPS'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 19 WHERE [GroupName] = N'VPSForPC'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 20 WHERE [GroupName] = N'BlackBerry'
|
|
GO
|
|
UPDATE [dbo].[ResourceGroups] SET [GroupOrder] = 21 WHERE [GroupName] = N'OCS'
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ResourceGroups] WHERE [GroupName] = 'Lync')
|
|
BEGIN
|
|
INSERT [dbo].[ResourceGroups] ([GroupID], [GroupName], [GroupOrder], [GroupController]) VALUES (41, N'Lync',22, NULL)
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [DisplayName] = 'MsSQL2012Database')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (37, 23, N'MsSQL2012Database', N'WebsitePanel.Providers.Database.SqlDatabase, WebsitePanel.Providers.Base', 1, 1, 0, 0, 1, 1, 1, 1)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceItemTypes] WHERE [DisplayName] = 'MsSQL2012User')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceItemTypes] ([ItemTypeID], [GroupID], [DisplayName], [TypeName], [TypeOrder], [CalculateDiskspace], [CalculateBandwidth], [Suspendable], [Disposable], [Searchable], [Importable], [Backupable]) VALUES (38, 23, N'MsSQL2012User', N'WebsitePanel.Providers.Database.SqlUser, WebsitePanel.Providers.Base', 1, 0, 0, 0, 1, 1, 1, 1)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft SQL Server 2012')
|
|
BEGIN
|
|
-- provider
|
|
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Databases')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (218, 23, 1, N'MsSQL2012.Databases', N'Databases', 2, 0, 37)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Users')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (219, 23, 2, N'MsSQL2012.Users', N'Users', 2, 0, 38)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.MaxDatabaseSize')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (221, 23, 3, N'MsSQL2012.MaxDatabaseSize', N'Max Database Size', 3, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Backup')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (222, 23, 5, N'MsSQL2012.Backup', N'Database Backups', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Restore')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (223, 23, 6, N'MsSQL2012.Restore', N'Database Restores', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.Truncate')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (224, 23, 7, N'MsSQL2012.Truncate', N'Database Truncate', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'MsSQL2012.MaxLogSize')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (225, 23, 4, N'MsSQL2012.MaxLogSize', N'Max Log Size', 3, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedSharePoint.UseSharedSSL')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (400, 20, 3, N'HostedSharePoint.UseSharedSSL', N'Use shared SSL Root', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.KeepDeletedItemsDays')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (364, 12, 19, N'Exchange2007.KeepDeletedItemsDays', N'Keep Deleted Items (days)', 3, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
UPDATE [dbo].[Quotas] SET [QuotaTypeID] = 3 WHERE [QuotaID] = 364
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.MaxRecipients')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (365, 12, 20, N'Exchange2007.MaxRecipients', N'Maximum Recipients', 3, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
UPDATE [dbo].[Quotas] SET [QuotaTypeID] = 3 WHERE [QuotaID] = 365
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.MaxSendMessageSizeKB')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (366, 12, 21, N'Exchange2007.MaxSendMessageSizeKB', N'Maximum Send Message Size (Kb)', 3, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
UPDATE [dbo].[Quotas] SET [QuotaTypeID] = 3 WHERE [QuotaID] = 366
|
|
GO
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.MaxReceiveMessageSizeKB')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (367, 12, 22, N'Exchange2007.MaxReceiveMessageSizeKB', N'Maximum Receive Message Size (Kb)', 3, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
UPDATE [dbo].[Quotas] SET [QuotaTypeID] = 3 WHERE [QuotaID] = 367
|
|
GO
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.IsConsumer')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (368, 12, 1, N'Exchange2007.IsConsumer',N'Is Consumer Organization', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Exchange2007.EnablePlansEditing')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID],[QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (369, 12, 23,N'Exchange2007.EnablePlansEditing',N'Enable Plans Editing',1, 0 , NULL)
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.Users')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (370, 41, 1, N'Lync.Users', N'Users',2 ,0 , NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.Federation')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (371, 41, 2, N'Lync.Federation' , N'Allow Federation', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.Conferencing')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (372, 41, 3, N'Lync.Conferencing', N'Allow Conferencing', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.MaxParticipants')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (373, 41, 4, N'Lync.MaxParticipants', N'Maximum Conference Particiapants', 3, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.AllowVideo')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (374, 41, 5, N'Lync.AllowVideo', N'Allow Video in Conference', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EnterpriseVoice')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (375, 41, 6, N'Lync.EnterpriseVoice', N'Allow EnterpriseVoice', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVUsers')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (376, 41, 7, N'Lync.EVUsers', N'Number of Enterprise Voice Users', 2, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVNational')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (377, 41, 8, N'Lync.EVNational', N'Allow National Calls', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVMobile')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (378, 41, 9, N'Lync.EVMobile', N'Allow Mobile Calls', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EVInternational')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (379, 41, 10, N'Lync.EVInternational', N'Allow International Calls', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'HostedSharePoint.UseSharedSSL')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (400, 20, 3, N'HostedSharePoint.UseSharedSSL', N'Use shared SSL Root', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Lync.EnablePlansEditing')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (380, 41, 11, N'Lync.EnablePlansEditing', N'Enable Plans Editing', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Hosted Microsoft Exchange Server 2010 SP2')
|
|
BEGIN
|
|
INSERT [dbo].[Providers] ([ProviderId], [GroupId], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES(90, 12, N'Exchange2010SP2', N'Hosted Microsoft Exchange Server 2010 SP2', N'WebsitePanel.Providers.HostedSolution.Exchange2010SP2, WebsitePanel.Providers.HostedSolution', N'Exchange', 1)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE [dbo].[Providers] SET [DisableAutoDiscovery] = NULL WHERE [DisplayName] = 'Hosted Microsoft Exchange Server 2010 SP2'
|
|
END
|
|
GO
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft Lync Server 2010 Multitenant Hosting Pack')
|
|
BEGIN
|
|
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (250, 41, N'Lync2010', N'Microsoft Lync Server 2010 Multitenant Hosting Pack', 'WebsitePanel.Providers.HostedSolution.Lync2010, WebsitePanel.Providers.HostedSolution', 'Lync', NULL)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE [dbo].[Providers] SET [DisableAutoDiscovery] = NULL WHERE [DisplayName] = 'Microsoft Lync Server 2010 Multitenant Hosting Pack'
|
|
END
|
|
GO
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'OS.AllowTenantCreateDomains')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (410, 1, 12, N'OS.AllowTenantCreateDomains', N'Allow Tenants to Create Top Level Domains', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Web.AllowIPAddressModeSwitch')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (333, 2, 22, N'Web.AllowIPAddressModeSwitch', N'Allow IP Address Mode Switch', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
DELETE FROM [dbo].[PackageQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled')
|
|
DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled')
|
|
DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.POP3Enabled'
|
|
|
|
DELETE FROM [dbo].[PackageQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.IMAPEnabled')
|
|
DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.IMAPEnabled')
|
|
DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.IMAPEnabled'
|
|
|
|
DELETE FROM [dbo].[PackageQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.OWAEnabled')
|
|
DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.OWAEnabled')
|
|
DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.OWAEnabled'
|
|
|
|
DELETE FROM [dbo].[PackageQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.MAPIEnabled')
|
|
DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.MAPIEnabled')
|
|
DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.MAPIEnabled'
|
|
|
|
DELETE FROM [dbo].[PackageQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.ActiveSyncEnabled')
|
|
DELETE FROM [dbo].[HostingPlanQuotas] WHERE [QuotaID] IN (SELECT [QuotaID] FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.ActiveSyncEnabled')
|
|
DELETE FROM [dbo].[Quotas] WHERE [QuotaName] = N'Exchange2007.ActiveSyncEnabled'
|
|
|
|
UPDATE [dbo].[ScheduleTaskParameters] SET DefaultValue = N'MsSQL2000=SQL Server 2000;MsSQL2005=SQL Server 2005;MsSQL2008=SQL Server 2008;MsSQL2012=SQL Server 2012;MySQL4=MySQL 4.0;MySQL5=MySQL 5.0' WHERE [ParameterID] = N'DATABASE_GROUP'
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [DisplayName] = 'Microsoft SQL Server 2012')
|
|
BEGIN
|
|
INSERT [dbo].[Providers] ([ProviderID], [GroupID], [ProviderName], [DisplayName], [ProviderType], [EditorControl], [DisableAutoDiscovery]) VALUES (209, 23, N'MsSQL', N'Microsoft SQL Server 2012', N'WebsitePanel.Providers.Database.MsSqlServer2012, WebsitePanel.Providers.Database.SqlServer', N'MSSQL', NULL)
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 12 AND [PropertyName] = 'LogsFolder')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (12, N'LogsFolder', N'%PROGRAMFILES%\Gene6 FTP Server\Log')
|
|
END
|
|
GO
|
|
UPDATE [dbo].[Providers] SET [EditorControl] = N'hMailServer5' WHERE [ProviderID] = 63
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 63 AND [PropertyName] = N'AdminUsername')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminUsername', N'Administrator')
|
|
END
|
|
GO
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[ServiceDefaultProperties] WHERE [ProviderID] = 63 AND [PropertyName] = N'AdminPassword')
|
|
BEGIN
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (63, N'AdminPassword', N'')
|
|
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='Users' AND COLS.name='LoginStatusId')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[Users] ADD
|
|
[LoginStatusId] [int] NULL,
|
|
[FailedLogins] [int] NULL
|
|
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='GlobalDnsRecords' AND COLS.name='SrvPriority')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[GlobalDnsRecords] ADD
|
|
[SrvPriority] [int] NULL,
|
|
[SrvWeight] [int] NULL,
|
|
[SrvPort] [int] NULL
|
|
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='ResourceGroups' AND COLS.name='ShowGroup')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[ResourceGroups] ADD [ShowGroup] [bit] NULL
|
|
END
|
|
GO
|
|
|
|
|
|
UPDATE [dbo].[ResourceGroups] SET ShowGroup=1
|
|
GO
|
|
|
|
|
|
/****** Object: Table [dbo].[ExchangeAccounts] Extend Exchange Accounts with SubscriberNumber ******/
|
|
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='SubscriberNumber')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[Users] ADD [SubscriberNumber] [nvarchar] (32) COLLATE Latin1_General_CI_AS NULL
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[AddDnsRecord]
|
|
(
|
|
@ActorID int,
|
|
@ServiceID int,
|
|
@ServerID int,
|
|
@PackageID int,
|
|
@RecordType nvarchar(10),
|
|
@RecordName nvarchar(50),
|
|
@RecordData nvarchar(500),
|
|
@MXPriority int,
|
|
@SrvPriority int,
|
|
@SrvWeight int,
|
|
@SrvPort int,
|
|
@IPAddressID int
|
|
)
|
|
AS
|
|
|
|
IF (@ServiceID > 0 OR @ServerID > 0) AND dbo.CheckIsUserAdmin(@ActorID) = 0
|
|
RAISERROR('You should have administrator role to perform such operation', 16, 1)
|
|
|
|
IF (@PackageID > 0) AND dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
|
|
|
IF @ServiceID = 0 SET @ServiceID = NULL
|
|
IF @ServerID = 0 SET @ServerID = NULL
|
|
IF @PackageID = 0 SET @PackageID = NULL
|
|
IF @IPAddressID = 0 SET @IPAddressID = NULL
|
|
|
|
IF EXISTS
|
|
(
|
|
SELECT RecordID FROM GlobalDnsRecords WHERE
|
|
ServiceID = @ServiceID AND ServerID = @ServerID AND PackageID = @PackageID
|
|
AND RecordName = @RecordName AND RecordType = @RecordType
|
|
)
|
|
|
|
UPDATE GlobalDnsRecords
|
|
SET
|
|
RecordData = RecordData,
|
|
MXPriority = MXPriority,
|
|
SrvPriority = SrvPriority,
|
|
SrvWeight = SrvWeight,
|
|
SrvPort = SrvPort,
|
|
|
|
IPAddressID = @IPAddressID
|
|
WHERE
|
|
ServiceID = @ServiceID AND ServerID = @ServerID AND PackageID = @PackageID
|
|
ELSE
|
|
INSERT INTO GlobalDnsRecords
|
|
(
|
|
ServiceID,
|
|
ServerID,
|
|
PackageID,
|
|
RecordType,
|
|
RecordName,
|
|
RecordData,
|
|
MXPriority,
|
|
SrvPriority,
|
|
SrvWeight,
|
|
SrvPort,
|
|
IPAddressID
|
|
)
|
|
VALUES
|
|
(
|
|
@ServiceID,
|
|
@ServerID,
|
|
@PackageID,
|
|
@RecordType,
|
|
@RecordName,
|
|
@RecordData,
|
|
@MXPriority,
|
|
@SrvPriority,
|
|
@SrvWeight,
|
|
@SrvPort,
|
|
@IPAddressID
|
|
)
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[CheckDomain]
|
|
(
|
|
@PackageID int,
|
|
@DomainName nvarchar(100),
|
|
@IsDomainPointer bit,
|
|
@Result int OUTPUT
|
|
)
|
|
AS
|
|
|
|
/*
|
|
@Result values:
|
|
0 - OK
|
|
-1 - already exists
|
|
-2 - sub-domain of prohibited domain
|
|
*/
|
|
|
|
SET @Result = 0 -- OK
|
|
|
|
-- check if the domain already exists
|
|
IF EXISTS(
|
|
SELECT DomainID FROM Domains
|
|
WHERE DomainName = @DomainName AND IsDomainPointer = @IsDomainPointer
|
|
)
|
|
BEGIN
|
|
SET @Result = -1
|
|
RETURN
|
|
END
|
|
|
|
-- check if this is a sub-domain of other domain
|
|
-- that is not allowed for 3rd level hosting
|
|
|
|
DECLARE @UserID int
|
|
SELECT @UserID = UserID FROM Packages
|
|
WHERE PackageID = @PackageID
|
|
|
|
-- find sub-domains
|
|
DECLARE @DomainUserID int, @HostingAllowed bit
|
|
SELECT
|
|
@DomainUserID = P.UserID,
|
|
@HostingAllowed = D.HostingAllowed
|
|
FROM Domains AS D
|
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
|
WHERE CHARINDEX('.' + DomainName, @DomainName) > 0
|
|
AND (CHARINDEX('.' + DomainName, @DomainName) + LEN('.' + DomainName)) = LEN(@DomainName) + 1
|
|
AND IsDomainPointer = 0
|
|
|
|
-- this is a domain of other user
|
|
IF @UserID <> @DomainUserID AND @HostingAllowed = 0
|
|
BEGIN
|
|
SET @Result = -2
|
|
RETURN
|
|
END
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetDnsRecord]
|
|
(
|
|
@ActorID int,
|
|
@RecordID int
|
|
)
|
|
AS
|
|
|
|
-- check rights
|
|
DECLARE @ServiceID int, @ServerID int, @PackageID int
|
|
SELECT
|
|
@ServiceID = ServiceID,
|
|
@ServerID = ServerID,
|
|
@PackageID = PackageID
|
|
FROM GlobalDnsRecords
|
|
WHERE
|
|
RecordID = @RecordID
|
|
|
|
IF (@ServiceID > 0 OR @ServerID > 0) AND dbo.CheckIsUserAdmin(@ActorID) = 0
|
|
RAISERROR('You are not allowed to perform this operation', 16, 1)
|
|
|
|
IF (@PackageID > 0) AND dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
|
|
|
SELECT
|
|
NR.RecordID,
|
|
NR.ServiceID,
|
|
NR.ServerID,
|
|
NR.PackageID,
|
|
NR.RecordType,
|
|
NR.RecordName,
|
|
NR.RecordData,
|
|
NR.MXPriority,
|
|
NR.SrvPriority,
|
|
NR.SrvWeight,
|
|
NR.SrvPort,
|
|
NR.IPAddressID
|
|
FROM
|
|
GlobalDnsRecords AS NR
|
|
WHERE NR.RecordID = @RecordID
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetDnsRecordsByPackage]
|
|
(
|
|
@ActorID int,
|
|
@PackageID int
|
|
)
|
|
AS
|
|
|
|
-- check rights
|
|
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
|
|
|
SELECT
|
|
NR.RecordID,
|
|
NR.ServiceID,
|
|
NR.ServerID,
|
|
NR.PackageID,
|
|
NR.RecordType,
|
|
NR.RecordName,
|
|
NR.RecordData,
|
|
NR.MXPriority,
|
|
NR.SrvPriority,
|
|
NR.SrvWeight,
|
|
NR.SrvPort,
|
|
NR.IPAddressID,
|
|
CASE
|
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
|
ELSE NR.RecordData
|
|
END AS FullRecordData,
|
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
|
IP.ExternalIP,
|
|
IP.InternalIP
|
|
FROM
|
|
GlobalDnsRecords AS NR
|
|
LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
|
|
WHERE NR.PackageID = @PackageID
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetDnsRecordsByServer]
|
|
(
|
|
@ActorID int,
|
|
@ServerID int
|
|
)
|
|
AS
|
|
|
|
SELECT
|
|
NR.RecordID,
|
|
NR.ServiceID,
|
|
NR.ServerID,
|
|
NR.PackageID,
|
|
NR.RecordType,
|
|
NR.RecordName,
|
|
NR.RecordData,
|
|
CASE
|
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
|
ELSE NR.RecordData
|
|
END AS FullRecordData,
|
|
NR.MXPriority,
|
|
NR.SrvPriority,
|
|
NR.SrvWeight,
|
|
NR.SrvPort,
|
|
NR.IPAddressID,
|
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
|
IP.ExternalIP,
|
|
IP.InternalIP
|
|
FROM
|
|
GlobalDnsRecords AS NR
|
|
LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
|
|
WHERE
|
|
NR.ServerID = @ServerID
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetDnsRecordsByService]
|
|
(
|
|
@ActorID int,
|
|
@ServiceID int
|
|
)
|
|
AS
|
|
|
|
SELECT
|
|
NR.RecordID,
|
|
NR.ServiceID,
|
|
NR.ServerID,
|
|
NR.PackageID,
|
|
NR.RecordType,
|
|
NR.RecordName,
|
|
CASE
|
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
|
ELSE NR.RecordData
|
|
END AS FullRecordData,
|
|
NR.RecordData,
|
|
NR.MXPriority,
|
|
NR.SrvPriority,
|
|
NR.SrvWeight,
|
|
NR.SrvPort,
|
|
NR.IPAddressID,
|
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress,
|
|
IP.ExternalIP,
|
|
IP.InternalIP
|
|
FROM
|
|
GlobalDnsRecords AS NR
|
|
LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
|
|
WHERE
|
|
NR.ServiceID = @ServiceID
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetDnsRecordsTotal]
|
|
(
|
|
@ActorID int,
|
|
@PackageID int
|
|
)
|
|
AS
|
|
|
|
-- check rights
|
|
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
|
|
|
-- create temp table for DNS records
|
|
DECLARE @Records TABLE
|
|
(
|
|
RecordID int,
|
|
RecordType nvarchar(10) COLLATE Latin1_General_CI_AS,
|
|
RecordName nvarchar(50) COLLATE Latin1_General_CI_AS
|
|
)
|
|
|
|
-- select PACKAGES DNS records
|
|
DECLARE @ParentPackageID int, @TmpPackageID int
|
|
SET @TmpPackageID = @PackageID
|
|
|
|
WHILE 10 = 10
|
|
BEGIN
|
|
|
|
-- get DNS records for the current package
|
|
INSERT INTO @Records (RecordID, RecordType, RecordName)
|
|
SELECT
|
|
GR.RecordID,
|
|
GR.RecordType,
|
|
GR.RecordName
|
|
FROM GlobalDNSRecords AS GR
|
|
WHERE GR.PackageID = @TmpPackageID
|
|
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
|
|
|
|
SET @ParentPackageID = NULL
|
|
|
|
-- get parent package
|
|
SELECT
|
|
@ParentPackageID = ParentPackageID
|
|
FROM Packages
|
|
WHERE PackageID = @TmpPackageID
|
|
|
|
IF @ParentPackageID IS NULL -- the last parent
|
|
BREAK
|
|
|
|
SET @TmpPackageID = @ParentPackageID
|
|
END
|
|
|
|
-- select SERVER DNS records
|
|
DECLARE @ServerID int
|
|
SELECT @ServerID = ServerID FROM Packages
|
|
WHERE PackageID = @PackageID
|
|
|
|
INSERT INTO @Records (RecordID, RecordType, RecordName)
|
|
SELECT
|
|
GR.RecordID,
|
|
GR.RecordType,
|
|
GR.RecordName
|
|
FROM GlobalDNSRecords AS GR
|
|
WHERE GR.ServerID = @ServerID
|
|
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
|
|
|
|
|
|
-- select SERVICES DNS records
|
|
-- re-distribute package services
|
|
EXEC DistributePackageServices @ActorID, @PackageID
|
|
|
|
INSERT INTO @Records (RecordID, RecordType, RecordName)
|
|
SELECT
|
|
GR.RecordID,
|
|
GR.RecordType,
|
|
GR.RecordName
|
|
FROM GlobalDNSRecords AS GR
|
|
WHERE GR.ServiceID IN (SELECT ServiceID FROM PackageServices WHERE PackageID = @PackageID)
|
|
AND GR.RecordType + GR.RecordName NOT IN (SELECT RecordType + RecordName FROM @Records)
|
|
|
|
|
|
SELECT
|
|
NR.RecordID,
|
|
NR.ServiceID,
|
|
NR.ServerID,
|
|
NR.PackageID,
|
|
NR.RecordType,
|
|
NR.RecordName,
|
|
NR.RecordData,
|
|
NR.MXPriority,
|
|
NR.SrvPriority,
|
|
NR.SrvWeight,
|
|
NR.SrvPort,
|
|
NR.IPAddressID,
|
|
ISNULL(IP.ExternalIP, '') AS ExternalIP,
|
|
ISNULL(IP.InternalIP, '') AS InternalIP,
|
|
CASE
|
|
WHEN NR.RecordType = 'A' AND NR.RecordData = '' THEN dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP)
|
|
WHEN NR.RecordType = 'MX' THEN CONVERT(varchar(3), NR.MXPriority) + ', ' + NR.RecordData
|
|
WHEN NR.RecordType = 'SRV' THEN CONVERT(varchar(3), NR.SrvPort) + ', ' + NR.RecordData
|
|
ELSE NR.RecordData
|
|
END AS FullRecordData,
|
|
dbo.GetFullIPAddress(IP.ExternalIP, IP.InternalIP) AS IPAddress
|
|
FROM @Records AS TR
|
|
INNER JOIN GlobalDnsRecords AS NR ON TR.RecordID = NR.RecordID
|
|
LEFT OUTER JOIN IPAddresses AS IP ON NR.IPAddressID = IP.AddressID
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetDomainsPaged]
|
|
(
|
|
@ActorID int,
|
|
@PackageID int,
|
|
@ServerID int,
|
|
@Recursive bit,
|
|
@FilterColumn nvarchar(50) = '',
|
|
@FilterValue nvarchar(50) = '',
|
|
@SortColumn nvarchar(50),
|
|
@StartRow int,
|
|
@MaximumRows int
|
|
)
|
|
AS
|
|
SET NOCOUNT ON
|
|
|
|
-- check rights
|
|
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
|
|
|
-- build query and run it to the temporary table
|
|
DECLARE @sql nvarchar(2000)
|
|
|
|
IF @SortColumn = '' OR @SortColumn IS NULL
|
|
SET @SortColumn = 'DomainName'
|
|
|
|
SET @sql = '
|
|
DECLARE @Domains TABLE
|
|
(
|
|
ItemPosition int IDENTITY(1,1),
|
|
DomainID int
|
|
)
|
|
INSERT INTO @Domains (DomainID)
|
|
SELECT
|
|
D.DomainID
|
|
FROM Domains AS D
|
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
|
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
|
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
|
WHERE D.IsInstantAlias = 0 AND
|
|
((@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.DomainName,
|
|
D.HostingAllowed,
|
|
ISNULL(WS.ItemID, 0) AS WebSiteID,
|
|
WS.ItemName AS WebSiteName,
|
|
ISNULL(MD.ItemID, 0) AS MailDomainID,
|
|
MD.ItemName AS MailDomainName,
|
|
D.IsSubDomain,
|
|
D.IsInstantAlias,
|
|
D.IsDomainPointer,
|
|
|
|
-- packages
|
|
P.PackageName,
|
|
|
|
-- server
|
|
ISNULL(SRV.ServerID, 0) AS ServerID,
|
|
ISNULL(SRV.ServerName, '''') AS ServerName,
|
|
ISNULL(SRV.Comments, '''') AS ServerComments,
|
|
ISNULL(SRV.VirtualServer, 0) AS VirtualServer,
|
|
|
|
-- user
|
|
P.UserID,
|
|
U.Username,
|
|
U.FirstName,
|
|
U.LastName,
|
|
U.FullName,
|
|
U.RoleID,
|
|
U.Email
|
|
FROM @Domains AS SD
|
|
INNER JOIN Domains AS D ON SD.DomainID = D.DomainID
|
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
|
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
|
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
|
WHERE SD.ItemPosition BETWEEN @StartRow + 1 AND @StartRow + @MaximumRows'
|
|
|
|
exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @PackageID int, @FilterValue nvarchar(50), @ServerID int, @Recursive bit',
|
|
@StartRow, @MaximumRows, @PackageID, @FilterValue, @ServerID, @Recursive
|
|
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[UpdateDnsRecord]
|
|
(
|
|
@ActorID int,
|
|
@RecordID int,
|
|
@RecordType nvarchar(10),
|
|
@RecordName nvarchar(50),
|
|
@RecordData nvarchar(500),
|
|
@MXPriority int,
|
|
@SrvPriority int,
|
|
@SrvWeight int,
|
|
@SrvPort int,
|
|
@IPAddressID int
|
|
)
|
|
AS
|
|
|
|
IF @IPAddressID = 0 SET @IPAddressID = NULL
|
|
|
|
-- check rights
|
|
DECLARE @ServiceID int, @ServerID int, @PackageID int
|
|
SELECT
|
|
@ServiceID = ServiceID,
|
|
@ServerID = ServerID,
|
|
@PackageID = PackageID
|
|
FROM GlobalDnsRecords
|
|
WHERE
|
|
RecordID = @RecordID
|
|
|
|
IF (@ServiceID > 0 OR @ServerID > 0) AND dbo.CheckIsUserAdmin(@ActorID) = 0
|
|
RAISERROR('You are not allowed to perform this operation', 16, 1)
|
|
|
|
IF (@PackageID > 0) AND dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
|
|
|
|
|
-- update record
|
|
UPDATE GlobalDnsRecords
|
|
SET
|
|
RecordType = @RecordType,
|
|
RecordName = @RecordName,
|
|
RecordData = @RecordData,
|
|
MXPriority = @MXPriority,
|
|
SrvPriority = @SrvPriority,
|
|
SrvWeight = @SrvWeight,
|
|
SrvPort = @SrvPort,
|
|
IPAddressID = @IPAddressID
|
|
WHERE
|
|
RecordID = @RecordID
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'HostedSharePoint.Sites'
|
|
GO
|
|
UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'HostedSolution.Users'
|
|
GO
|
|
UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'Exchange2007.Mailboxes'
|
|
GO
|
|
UPDATE dbo.Quotas SET QuotaTypeID = 2 WHERE QuotaName = 'Exchange2007.DiskSpace'
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Remove ExchangeHostedEdition Quotas
|
|
DELETE FROM Quotas WHERE QuotaID = 340
|
|
GO
|
|
DELETE FROM Quotas WHERE QuotaID = 341
|
|
GO
|
|
DELETE FROM Quotas WHERE QuotaID = 342
|
|
GO
|
|
DELETE FROM Quotas WHERE QuotaID = 343
|
|
GO
|
|
|
|
|
|
-- Remove ExchangeHostedEdition ServiceItemType
|
|
DELETE FROM ServiceItemTypes WHERE ItemTypeID = 40
|
|
GO
|
|
|
|
|
|
-- Remove ExchangeHostedEdition ServiceDefaultProperties
|
|
DELETE FROM ServiceDefaultProperties WHERE ProviderID = 207
|
|
GO
|
|
|
|
|
|
|
|
-- Remove ExchangeHostedEdition Provider
|
|
DELETE FROM Providers WHERE ProviderID = 207
|
|
GO
|
|
|
|
|
|
|
|
-- Remove ExchangeHostedEdition VirtualGroups
|
|
DELETE FROM VirtualGroups WHERE GroupID = 33
|
|
GO
|
|
|
|
|
|
|
|
-- Remove ExchangeHostedEdition ResourceGroups
|
|
DELETE FROM ResourceGroups WHERE GRoupID = 33
|
|
GO
|
|
|
|
|
|
-- Create Exchange Mailbox Plans
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ExchangeMailboxPlans]') AND type in (N'U'))
|
|
BEGIN
|
|
CREATE TABLE [dbo].[ExchangeMailboxPlans](
|
|
[MailboxPlanId] [int] IDENTITY(1,1) NOT NULL,
|
|
[ItemID] [int] NOT NULL,
|
|
[MailboxPlan] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL,
|
|
[MailboxPlanType] [int] NULL,
|
|
[EnableActiveSync] [bit] NOT NULL,
|
|
[EnableIMAP] [bit] NOT NULL,
|
|
[EnableMAPI] [bit] NOT NULL,
|
|
[EnableOWA] [bit] NOT NULL,
|
|
[EnablePOP] [bit] NOT NULL,
|
|
[IsDefault] [bit] NOT NULL,
|
|
[IssueWarningPct] [int] NOT NULL,
|
|
[KeepDeletedItemsDays] [int] NOT NULL,
|
|
[MailboxSizeMB] [int] NOT NULL,
|
|
[MaxReceiveMessageSizeKB] [int] NOT NULL,
|
|
[MaxRecipients] [int] NOT NULL,
|
|
[MaxSendMessageSizeKB] [int] NOT NULL,
|
|
[ProhibitSendPct] [int] NOT NULL,
|
|
[ProhibitSendReceivePct] [int] NOT NULL,
|
|
[HideFromAddressBook] [bit] NOT NULL,
|
|
CONSTRAINT [PK_ExchangeMailboxPlans] PRIMARY KEY CLUSTERED
|
|
(
|
|
[MailboxPlanId] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
|
|
/****** Object: Table [dbo].[ExchangeAccounts] ******/
|
|
ALTER TABLE [dbo].[ExchangeAccounts] ALTER COLUMN [AccountName] [nvarchar](300) COLLATE Latin1_General_CI_AS NOT NULL
|
|
|
|
/****** Object: Table [dbo].[ExchangeAccounts] ******/
|
|
ALTER TABLE [dbo].[ExchangeAccounts] ADD [MailboxPlanId] int NULL
|
|
|
|
/****** Object: Table [dbo].[ExchangeAccounts] ******/
|
|
ALTER TABLE [dbo].[ExchangeAccounts] WITH CHECK ADD CONSTRAINT [FK_ExchangeAccounts_ExchangeMailboxPlans] FOREIGN KEY([MailboxPlanId])
|
|
REFERENCES [dbo].[ExchangeMailboxPlans] ([MailboxPlanId])
|
|
|
|
ALTER TABLE [dbo].[ExchangeAccounts] CHECK CONSTRAINT [FK_ExchangeAccounts_ExchangeMailboxPlans]
|
|
|
|
/****** Object: Table [dbo].[ExchangeAccounts] ******/
|
|
ALTER TABLE [dbo].[ExchangeMailboxPlans] WITH CHECK ADD CONSTRAINT [FK_ExchangeMailboxPlans_ExchangeOrganizations] FOREIGN KEY([ItemID])
|
|
REFERENCES [dbo].[ExchangeOrganizations] ([ItemID])
|
|
ON DELETE CASCADE
|
|
|
|
/****** Object: Table [dbo].[ExchangeAccounts] ******/
|
|
ALTER TABLE dbo.ExchangeMailboxPlans ADD CONSTRAINT
|
|
IX_ExchangeMailboxPlans UNIQUE NONCLUSTERED
|
|
(
|
|
MailboxPlanId
|
|
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
|
|
END
|
|
GO
|
|
|
|
/****** Object: Table [dbo].[ExchangeAccounts] Extend Exchange Accounts with MailboxplanID ******/
|
|
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='ExchangeAccounts' AND COLS.name='MailboxPlanId')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[ExchangeAccounts] ADD [MailboxPlanId] [int] NULL
|
|
END
|
|
GO
|
|
|
|
/****** Object: Table [dbo].[ExchangeAccounts] Extend Exchange Accounts with SubscriberNumber ******/
|
|
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='ExchangeAccounts' AND COLS.name='SubscriberNumber')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[ExchangeAccounts] ADD [SubscriberNumber] [nvarchar] (32) COLLATE Latin1_General_CI_AS NULL
|
|
END
|
|
GO
|
|
|
|
|
|
ALTER VIEW [dbo].[UsersDetailed]
|
|
AS
|
|
SELECT U.UserID, U.RoleID, U.StatusID, U.LoginStatusId, U.SubscriberNumber, U.FailedLogins, U.OwnerID, U.Created, U.Changed, U.IsDemo, U.Comments, U.IsPeer, U.Username, U.FirstName, U.LastName, U.Email,
|
|
U.CompanyName, U.FirstName + ' ' + U.LastName AS FullName, UP.Username AS OwnerUsername, UP.FirstName AS OwnerFirstName,
|
|
UP.LastName AS OwnerLastName, UP.RoleID AS OwnerRoleID, UP.FirstName + ' ' + UP.LastName AS OwnerFullName, UP.Email AS OwnerEmail, UP.RoleID AS Expr1,
|
|
(SELECT COUNT(PackageID) AS Expr1
|
|
FROM dbo.Packages AS P
|
|
WHERE (UserID = U.UserID)) AS PackagesNumber, U.EcommerceEnabled
|
|
FROM dbo.Users AS U LEFT OUTER JOIN
|
|
dbo.Users AS UP ON U.OwnerID = UP.UserID
|
|
GO
|
|
|
|
|
|
/****** Object: Table [dbo].[ExchangeOrganizations] ******/
|
|
ALTER TABLE [dbo].[ExchangeOrganizations] ALTER COLUMN [OrganizationID] [nvarchar](128) COLLATE Latin1_General_CI_AS NOT NULL
|
|
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='MailboxPlanType')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[ExchangeMailboxPlans] ADD
|
|
[MailboxPlanType] [int] NULL
|
|
END
|
|
GO
|
|
|
|
-- LyncUsers
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[LyncUsers]') AND type in (N'U'))
|
|
BEGIN
|
|
CREATE TABLE [dbo].[LyncUsers](
|
|
[LyncUserID] [int] IDENTITY(1,1) NOT NULL,
|
|
[AccountID] [int] NOT NULL,
|
|
[LyncUserPlanID] [int] NOT NULL,
|
|
[CreatedDate] [datetime] NOT NULL,
|
|
[ModifiedDate] [datetime] NOT NULL,
|
|
CONSTRAINT [PK_LyncUsers] PRIMARY KEY CLUSTERED
|
|
(
|
|
[LyncUserID] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
|
|
|
|
ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_CreatedDate] DEFAULT (getdate()) FOR [CreatedDate]
|
|
|
|
ALTER TABLE [dbo].[LyncUsers] ADD CONSTRAINT [DF_LyncUsers_ChangedDate] DEFAULT (getdate()) FOR [ModifiedDate]
|
|
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
-- LyncUserPlans
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[LyncUserPlans]') AND type in (N'U'))
|
|
BEGIN
|
|
CREATE TABLE [dbo].[LyncUserPlans](
|
|
[LyncUserPlanId] [int] IDENTITY(1,1) NOT NULL,
|
|
[ItemID] [int] NOT NULL,
|
|
[LyncUserPlanName] [nvarchar](300) NOT NULL,
|
|
[LyncUserPlanType] [int] NULL,
|
|
[IM] [bit] NOT NULL,
|
|
[Mobility] [bit] NOT NULL,
|
|
[MobilityEnableOutsideVoice] [bit] NOT NULL,
|
|
[Federation] [bit] NOT NULL,
|
|
[Conferencing] [bit] NOT NULL,
|
|
[EnterpriseVoice] [bit] NOT NULL,
|
|
[VoicePolicy] [int] NOT NULL,
|
|
[IsDefault] [bit] NOT NULL,
|
|
CONSTRAINT [PK_LyncUserPlans] PRIMARY KEY CLUSTERED
|
|
(
|
|
[LyncUserPlanId] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY]
|
|
|
|
ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT
|
|
IX_LyncUserPlans UNIQUE NONCLUSTERED
|
|
(
|
|
LyncUserPlanId
|
|
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
|
|
ALTER TABLE dbo.LyncUserPlans ADD CONSTRAINT
|
|
FK_LyncUserPlans_ExchangeOrganizations FOREIGN KEY
|
|
(
|
|
ItemID
|
|
) REFERENCES dbo.ExchangeOrganizations
|
|
(
|
|
ItemID
|
|
) ON UPDATE NO ACTION
|
|
ON DELETE CASCADE
|
|
|
|
ALTER TABLE [dbo].[LyncUsers] WITH CHECK ADD CONSTRAINT [FK_LyncUsers_LyncUserPlans] FOREIGN KEY([LyncUserPlanId])
|
|
REFERENCES [dbo].[LyncUserPlans] ([LyncUserPlanId])
|
|
|
|
ALTER TABLE [dbo].[LyncUsers] CHECK CONSTRAINT [FK_LyncUsers_LyncUserPlans]
|
|
|
|
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='LyncUserPlans' AND COLS.name='LyncUserPlanType')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[LyncUserPlans] ADD
|
|
[LyncUserPlanType] [int] NULL
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
/****** Object: Table [dbo].[AddExchangeAccount] ******/
|
|
ALTER 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),
|
|
@AccountPassword nvarchar(200),
|
|
@MailboxPlanId int,
|
|
@SubscriberNumber nvarchar(32)
|
|
)
|
|
AS
|
|
|
|
INSERT INTO ExchangeAccounts
|
|
(
|
|
ItemID,
|
|
AccountType,
|
|
AccountName,
|
|
DisplayName,
|
|
PrimaryEmailAddress,
|
|
MailEnabledPublicFolder,
|
|
MailboxManagerActions,
|
|
SamAccountName,
|
|
AccountPassword,
|
|
MailboxPlanId,
|
|
SubscriberNumber
|
|
)
|
|
VALUES
|
|
(
|
|
@ItemID,
|
|
@AccountType,
|
|
@AccountName,
|
|
@DisplayName,
|
|
@PrimaryEmailAddress,
|
|
@MailEnabledPublicFolder,
|
|
@MailboxManagerActions,
|
|
@SamAccountName,
|
|
@AccountPassword,
|
|
@MailboxPlanId,
|
|
@SubscriberNumber
|
|
)
|
|
|
|
SET @AccountID = SCOPE_IDENTITY()
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'AddExchangeMailboxPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'
|
|
CREATE 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
|
|
)
|
|
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
|
|
)
|
|
VALUES
|
|
(
|
|
@ItemID,
|
|
@MailboxPlan,
|
|
@EnableActiveSync,
|
|
@EnableIMAP,
|
|
@EnableMAPI,
|
|
@EnableOWA,
|
|
@EnablePOP,
|
|
@IsDefault,
|
|
@IssueWarningPct,
|
|
@KeepDeletedItemsDays,
|
|
@MailboxSizeMB,
|
|
@MaxReceiveMessageSizeKB,
|
|
@MaxRecipients,
|
|
@MaxSendMessageSizeKB,
|
|
@ProhibitSendPct,
|
|
@ProhibitSendReceivePct,
|
|
@HideFromAddressBook,
|
|
@MailboxPlanType
|
|
)
|
|
|
|
SET @MailboxPlanId = SCOPE_IDENTITY()
|
|
|
|
RETURN'
|
|
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
|
|
)
|
|
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
|
|
)
|
|
VALUES
|
|
(
|
|
@ItemID,
|
|
@MailboxPlan,
|
|
@EnableActiveSync,
|
|
@EnableIMAP,
|
|
@EnableMAPI,
|
|
@EnableOWA,
|
|
@EnablePOP,
|
|
@IsDefault,
|
|
@IssueWarningPct,
|
|
@KeepDeletedItemsDays,
|
|
@MailboxSizeMB,
|
|
@MaxReceiveMessageSizeKB,
|
|
@MaxRecipients,
|
|
@MaxSendMessageSizeKB,
|
|
@ProhibitSendPct,
|
|
@ProhibitSendReceivePct,
|
|
@HideFromAddressBook,
|
|
@MailboxPlanType
|
|
)
|
|
|
|
SET @MailboxPlanId = SCOPE_IDENTITY()
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[AddExchangeOrganization]
|
|
(
|
|
@ItemID int,
|
|
@OrganizationID nvarchar(128)
|
|
)
|
|
AS
|
|
|
|
IF NOT EXISTS(SELECT * FROM ExchangeOrganizations WHERE OrganizationID = @OrganizationID)
|
|
BEGIN
|
|
INSERT INTO ExchangeOrganizations
|
|
(ItemID, OrganizationID)
|
|
VALUES
|
|
(@ItemID, @OrganizationID)
|
|
END
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER FUNCTION [dbo].[CalculateQuotaUsage]
|
|
(
|
|
@PackageID int,
|
|
@QuotaID int
|
|
)
|
|
RETURNS int
|
|
AS
|
|
BEGIN
|
|
|
|
DECLARE @QuotaTypeID int
|
|
SELECT @QuotaTypeID = QuotaTypeID 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 = 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.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
|
|
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 * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'DeleteExchangeMailboxPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'
|
|
CREATE PROCEDURE [dbo].[DeleteExchangeMailboxPlan]
|
|
(
|
|
@MailboxPlanId int
|
|
)
|
|
AS
|
|
|
|
-- delete mailboxplan
|
|
DELETE FROM ExchangeMailboxPlans
|
|
WHERE MailboxPlanId = @MailboxPlanId
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[DeleteExchangeOrganization]
|
|
(
|
|
@ItemID int
|
|
)
|
|
AS
|
|
BEGIN TRAN
|
|
DELETE FROM ExchangeMailboxPlans WHERE ItemID = @ItemID
|
|
DELETE FROM ExchangeOrganizations WHERE ItemID = @ItemID
|
|
COMMIT TRAN
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'UpdateExchangeMailboxPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'
|
|
CREATE 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
|
|
)
|
|
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
|
|
WHERE MailboxPlanId = @MailboxPlanId
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetUserByExchangeOrganizationIdInternally')
|
|
BEGIN
|
|
EXEC sp_executesql N'
|
|
CREATE PROCEDURE [dbo].[GetUserByExchangeOrganizationIdInternally]
|
|
(
|
|
@ItemID 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]
|
|
FROM Users AS U
|
|
WHERE U.UserID IN (SELECT UserID FROM Packages WHERE PackageID IN (
|
|
SELECT PackageID FROM ServiceItems WHERE ItemID = @ItemID))
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetUserByExchangeOrganizationIdInternally]
|
|
(
|
|
@ItemID 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]
|
|
FROM Users AS U
|
|
WHERE U.UserID IN (SELECT UserID FROM Packages WHERE PackageID IN (
|
|
SELECT PackageID FROM ServiceItems WHERE ItemID = @ItemID))
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetUserByExchangeOrganizationIdInternally]
|
|
(
|
|
@ItemID 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]
|
|
FROM Users AS U
|
|
WHERE U.UserID IN (SELECT UserID FROM Packages WHERE PackageID IN (
|
|
SELECT PackageID FROM ServiceItems WHERE ItemID = @ItemID))
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[ExchangeAccountExists]
|
|
(
|
|
@AccountName nvarchar(20),
|
|
@Exists bit OUTPUT
|
|
)
|
|
AS
|
|
SET @Exists = 0
|
|
IF EXISTS(SELECT * FROM ExchangeAccounts WHERE sAMAccountName LIKE '%\'+@AccountName)
|
|
BEGIN
|
|
SET @Exists = 1
|
|
END
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetExchangeAccounts]
|
|
(
|
|
@ItemID int,
|
|
@AccountType int
|
|
)
|
|
AS
|
|
SELECT
|
|
E.AccountID,
|
|
E.ItemID,
|
|
E.AccountType,
|
|
E.AccountName,
|
|
E.DisplayName,
|
|
E.PrimaryEmailAddress,
|
|
E.MailEnabledPublicFolder,
|
|
E.MailboxPlanId,
|
|
P.MailboxPlan,
|
|
E.SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts AS E
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
|
WHERE
|
|
E.ItemID = @ItemID AND
|
|
(E.AccountType = @AccountType OR @AccountType IS NULL)
|
|
ORDER BY DisplayName
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetExchangeAccountsPaged]
|
|
(
|
|
@ActorID int,
|
|
@ItemID int,
|
|
@AccountTypes nvarchar(30),
|
|
@FilterColumn nvarchar(50) = '',
|
|
@FilterValue nvarchar(50) = '',
|
|
@SortColumn nvarchar(50),
|
|
@StartRow int,
|
|
@MaximumRows int
|
|
)
|
|
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 IN (' + @AccountTypes + ')
|
|
AND EA.ItemID = @ItemID
|
|
'
|
|
|
|
IF @FilterColumn <> '' AND @FilterColumn IS NOT NULL
|
|
AND @FilterValue <> '' AND @FilterValue IS NOT NULL
|
|
BEGIN
|
|
IF @FilterColumn = 'PrimaryEmailAddress' AND @AccountTypes <> '2'
|
|
BEGIN
|
|
SET @condition = @condition + ' AND EA.AccountID IN (SELECT EAEA.AccountID FROM ExchangeAccountEmailAddresses EAEA WHERE EAEA.EmailAddress LIKE ''' + @FilterValue + ''')'
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @condition = @condition + ' AND ' + @FilterColumn + ' LIKE ''' + @FilterValue + ''''
|
|
END
|
|
END
|
|
|
|
IF @SortColumn IS NULL OR @SortColumn = ''
|
|
SET @SortColumn = 'EA.DisplayName ASC'
|
|
|
|
DECLARE @joincondition nvarchar(700)
|
|
SET @joincondition = ',P.MailboxPlan FROM ExchangeAccounts AS EA
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON EA.MailboxPlanId = P.MailboxPlanId'
|
|
|
|
DECLARE @sql nvarchar(3500)
|
|
|
|
set @sql = '
|
|
SELECT COUNT(EA.AccountID) FROM ExchangeAccounts AS EA
|
|
WHERE ' + @condition + ';
|
|
|
|
WITH Accounts AS (
|
|
SELECT ROW_NUMBER() OVER (ORDER BY ' + @SortColumn + ') as Row,
|
|
EA.AccountID,
|
|
EA.ItemID,
|
|
EA.AccountType,
|
|
EA.AccountName,
|
|
EA.DisplayName,
|
|
EA.PrimaryEmailAddress,
|
|
EA.MailEnabledPublicFolder,
|
|
EA.MailboxPlanId,
|
|
EA.SubscriberNumber ' + @joincondition +
|
|
' WHERE ' + @condition + '
|
|
)
|
|
|
|
SELECT * FROM Accounts
|
|
WHERE Row BETWEEN @StartRow + 1 and @StartRow + @MaximumRows
|
|
'
|
|
|
|
print @sql
|
|
|
|
exec sp_executesql @sql, N'@ItemID int, @StartRow int, @MaximumRows int',
|
|
@ItemID, @StartRow, @MaximumRows
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeAccountByAccountName')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetExchangeAccountByAccountName]
|
|
(
|
|
@ItemID int,
|
|
@AccountName nvarchar(300)
|
|
)
|
|
AS
|
|
SELECT
|
|
E.AccountID,
|
|
E.ItemID,
|
|
E.AccountType,
|
|
E.AccountName,
|
|
E.DisplayName,
|
|
E.PrimaryEmailAddress,
|
|
E.MailEnabledPublicFolder,
|
|
E.MailboxManagerActions,
|
|
E.SamAccountName,
|
|
E.AccountPassword,
|
|
E.MailboxPlanId,
|
|
P.MailboxPlan,
|
|
E.SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts AS E
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
|
WHERE
|
|
E.ItemID = @ItemID AND
|
|
E.AccountName = @AccountName
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeAccountByMailboxPlanId')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetExchangeAccountByMailboxPlanId]
|
|
(
|
|
@ItemID int,
|
|
@MailboxPlanId int
|
|
)
|
|
AS
|
|
|
|
IF (@MailboxPlanId < 0)
|
|
BEGIN
|
|
SELECT
|
|
E.AccountID,
|
|
E.ItemID,
|
|
E.AccountType,
|
|
E.AccountName,
|
|
E.DisplayName,
|
|
E.PrimaryEmailAddress,
|
|
E.MailEnabledPublicFolder,
|
|
E.MailboxManagerActions,
|
|
E.SamAccountName,
|
|
E.AccountPassword,
|
|
E.MailboxPlanId,
|
|
P.MailboxPlan,
|
|
E.SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts AS E
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
|
WHERE
|
|
E.ItemID = @ItemID AND
|
|
E.MailboxPlanId IS NULL AND
|
|
E.AccountType IN (1,5)
|
|
RETURN
|
|
|
|
END
|
|
ELSE
|
|
IF (@ItemId = 0)
|
|
BEGIN
|
|
SELECT
|
|
E.AccountID,
|
|
E.ItemID,
|
|
E.AccountType,
|
|
E.AccountName,
|
|
E.DisplayName,
|
|
E.PrimaryEmailAddress,
|
|
E.MailEnabledPublicFolder,
|
|
E.MailboxManagerActions,
|
|
E.SamAccountName,
|
|
E.AccountPassword,
|
|
E.MailboxPlanId,
|
|
P.MailboxPlan,
|
|
E.SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts AS E
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
|
WHERE
|
|
E.MailboxPlanId = @MailboxPlanId AND
|
|
E.AccountType IN (1,5)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT
|
|
E.AccountID,
|
|
E.ItemID,
|
|
E.AccountType,
|
|
E.AccountName,
|
|
E.DisplayName,
|
|
E.PrimaryEmailAddress,
|
|
E.MailEnabledPublicFolder,
|
|
E.MailboxManagerActions,
|
|
E.SamAccountName,
|
|
E.AccountPassword,
|
|
E.MailboxPlanId,
|
|
P.MailboxPlan,
|
|
E.SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts AS E
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
|
WHERE
|
|
E.ItemID = @ItemID AND
|
|
E.MailboxPlanId = @MailboxPlanId AND
|
|
E.AccountType IN (1,5)
|
|
RETURN
|
|
END'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetExchangeAccountByMailboxPlanId]
|
|
(
|
|
@ItemID int,
|
|
@MailboxPlanId int
|
|
)
|
|
AS
|
|
|
|
IF (@MailboxPlanId < 0)
|
|
BEGIN
|
|
SELECT
|
|
E.AccountID,
|
|
E.ItemID,
|
|
E.AccountType,
|
|
E.AccountName,
|
|
E.DisplayName,
|
|
E.PrimaryEmailAddress,
|
|
E.MailEnabledPublicFolder,
|
|
E.MailboxManagerActions,
|
|
E.SamAccountName,
|
|
E.AccountPassword,
|
|
E.MailboxPlanId,
|
|
P.MailboxPlan,
|
|
E.SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts AS E
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
|
WHERE
|
|
E.ItemID = @ItemID AND
|
|
E.MailboxPlanId IS NULL AND
|
|
E.AccountType IN (1,5)
|
|
RETURN
|
|
|
|
END
|
|
ELSE
|
|
IF (@ItemId = 0)
|
|
BEGIN
|
|
SELECT
|
|
E.AccountID,
|
|
E.ItemID,
|
|
E.AccountType,
|
|
E.AccountName,
|
|
E.DisplayName,
|
|
E.PrimaryEmailAddress,
|
|
E.MailEnabledPublicFolder,
|
|
E.MailboxManagerActions,
|
|
E.SamAccountName,
|
|
E.AccountPassword,
|
|
E.MailboxPlanId,
|
|
P.MailboxPlan,
|
|
E.SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts AS E
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
|
WHERE
|
|
E.MailboxPlanId = @MailboxPlanId AND
|
|
E.AccountType IN (1,5)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT
|
|
E.AccountID,
|
|
E.ItemID,
|
|
E.AccountType,
|
|
E.AccountName,
|
|
E.DisplayName,
|
|
E.PrimaryEmailAddress,
|
|
E.MailEnabledPublicFolder,
|
|
E.MailboxManagerActions,
|
|
E.SamAccountName,
|
|
E.AccountPassword,
|
|
E.MailboxPlanId,
|
|
P.MailboxPlan,
|
|
E.SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts AS E
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
|
WHERE
|
|
E.ItemID = @ItemID AND
|
|
E.MailboxPlanId = @MailboxPlanId AND
|
|
E.AccountType IN (1,5)
|
|
RETURN
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeMailboxPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE 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
|
|
FROM
|
|
ExchangeMailboxPlans
|
|
WHERE
|
|
MailboxPlanId = @MailboxPlanId
|
|
RETURN'
|
|
END
|
|
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
|
|
FROM
|
|
ExchangeMailboxPlans
|
|
WHERE
|
|
MailboxPlanId = @MailboxPlanId
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeMailboxPlans')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetExchangeMailboxPlans]
|
|
(
|
|
@ItemID int
|
|
)
|
|
AS
|
|
SELECT
|
|
MailboxPlanId,
|
|
ItemID,
|
|
MailboxPlan,
|
|
EnableActiveSync,
|
|
EnableIMAP,
|
|
EnableMAPI,
|
|
EnableOWA,
|
|
EnablePOP,
|
|
IsDefault,
|
|
IssueWarningPct,
|
|
KeepDeletedItemsDays,
|
|
MailboxSizeMB,
|
|
MaxReceiveMessageSizeKB,
|
|
MaxRecipients,
|
|
MaxSendMessageSizeKB,
|
|
ProhibitSendPct,
|
|
ProhibitSendReceivePct,
|
|
HideFromAddressBook,
|
|
MailboxPlanType
|
|
FROM
|
|
ExchangeMailboxPlans
|
|
WHERE
|
|
ItemID = @ItemID
|
|
ORDER BY MailboxPlan
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetExchangeMailboxPlans]
|
|
(
|
|
@ItemID int
|
|
)
|
|
AS
|
|
SELECT
|
|
MailboxPlanId,
|
|
ItemID,
|
|
MailboxPlan,
|
|
EnableActiveSync,
|
|
EnableIMAP,
|
|
EnableMAPI,
|
|
EnableOWA,
|
|
EnablePOP,
|
|
IsDefault,
|
|
IssueWarningPct,
|
|
KeepDeletedItemsDays,
|
|
MailboxSizeMB,
|
|
MaxReceiveMessageSizeKB,
|
|
MaxRecipients,
|
|
MaxSendMessageSizeKB,
|
|
ProhibitSendPct,
|
|
ProhibitSendReceivePct,
|
|
HideFromAddressBook,
|
|
MailboxPlanType
|
|
FROM
|
|
ExchangeMailboxPlans
|
|
WHERE
|
|
ItemID = @ItemID
|
|
ORDER BY MailboxPlan
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetExchangeOrganizationStatistics]
|
|
(
|
|
@ItemID int
|
|
)
|
|
AS
|
|
|
|
IF -1 IN (SELECT B.MailboxSizeMB FROM ExchangeAccounts AS A INNER JOIN ExchangeMailboxPlans AS B ON A.MailboxPlanId = B.MailboxPlanId WHERE A.ItemID=@ItemID)
|
|
BEGIN
|
|
SELECT
|
|
(SELECT COUNT(*) FROM ExchangeAccounts WHERE (AccountType = 1 OR AccountType = 5 OR AccountType = 6) AND ItemID = @ItemID) AS CreatedMailboxes,
|
|
(SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 2 AND ItemID = @ItemID) AS CreatedContacts,
|
|
(SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 3 AND ItemID = @ItemID) AS CreatedDistributionLists,
|
|
(SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 4 AND ItemID = @ItemID) AS CreatedPublicFolders,
|
|
(SELECT COUNT(*) FROM ExchangeOrganizationDomains WHERE ItemID = @ItemID) AS CreatedDomains,
|
|
(SELECT MIN(B.MailboxSizeMB) FROM ExchangeAccounts AS A INNER JOIN ExchangeMailboxPlans AS B ON A.MailboxPlanId = B.MailboxPlanId WHERE A.ItemID=@ItemID) AS UsedDiskSpace
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT
|
|
(SELECT COUNT(*) FROM ExchangeAccounts WHERE (AccountType = 1 OR AccountType = 5 OR AccountType = 6) AND ItemID = @ItemID) AS CreatedMailboxes,
|
|
(SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 2 AND ItemID = @ItemID) AS CreatedContacts,
|
|
(SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 3 AND ItemID = @ItemID) AS CreatedDistributionLists,
|
|
(SELECT COUNT(*) FROM ExchangeAccounts WHERE AccountType = 4 AND ItemID = @ItemID) AS CreatedPublicFolders,
|
|
(SELECT COUNT(*) FROM ExchangeOrganizationDomains WHERE ItemID = @ItemID) AS CreatedDomains,
|
|
(SELECT SUM(B.MailboxSizeMB) FROM ExchangeAccounts AS A INNER JOIN ExchangeMailboxPlans AS B ON A.MailboxPlanId = B.MailboxPlanId WHERE A.ItemID=@ItemID) AS UsedDiskSpace
|
|
END
|
|
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetPackages]
|
|
(
|
|
@ActorID int,
|
|
@UserID int
|
|
)
|
|
AS
|
|
|
|
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.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
|
|
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 NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetExchangeAccountMailboxplan')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetExchangeAccountMailboxplan]
|
|
(
|
|
@AccountID int,
|
|
@MailboxPlanId int
|
|
)
|
|
AS
|
|
|
|
UPDATE ExchangeAccounts SET
|
|
MailboxPlanId = @MailboxPlanId
|
|
WHERE
|
|
AccountID = @AccountID
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetOrganizationDefaultExchangeMailboxPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetOrganizationDefaultExchangeMailboxPlan]
|
|
(
|
|
@ItemId int,
|
|
@MailboxPlanId int
|
|
)
|
|
AS
|
|
|
|
UPDATE ExchangeMailboxPlans SET IsDefault=0 WHERE ItemId=@ItemId
|
|
UPDATE ExchangeMailboxPlans SET IsDefault=1 WHERE MailboxPlanId=@MailboxPlanId
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[UpdateExchangeAccount]
|
|
(
|
|
@AccountID int,
|
|
@AccountName nvarchar(300),
|
|
@DisplayName nvarchar(300),
|
|
@PrimaryEmailAddress nvarchar(300),
|
|
@AccountType int,
|
|
@SamAccountName nvarchar(100),
|
|
@MailEnabledPublicFolder bit,
|
|
@MailboxManagerActions varchar(200),
|
|
@Password varchar(200),
|
|
@MailboxPlanId int,
|
|
@SubscriberNumber varchar(32)
|
|
)
|
|
AS
|
|
|
|
BEGIN TRAN
|
|
|
|
IF (@MailboxPlanId = -1)
|
|
BEGIN
|
|
SET @MailboxPlanId = NULL
|
|
END
|
|
|
|
UPDATE ExchangeAccounts SET
|
|
AccountName = @AccountName,
|
|
DisplayName = @DisplayName,
|
|
PrimaryEmailAddress = @PrimaryEmailAddress,
|
|
MailEnabledPublicFolder = @MailEnabledPublicFolder,
|
|
MailboxManagerActions = @MailboxManagerActions,
|
|
AccountType =@AccountType,
|
|
SamAccountName = @SamAccountName,
|
|
MailboxPlanId = @MailboxPlanId,
|
|
SubscriberNumber = @SubscriberNumber
|
|
|
|
WHERE
|
|
AccountID = @AccountID
|
|
|
|
IF (@@ERROR <> 0 )
|
|
BEGIN
|
|
ROLLBACK TRANSACTION
|
|
RETURN -1
|
|
END
|
|
|
|
UPDATE ExchangeAccounts SET
|
|
AccountPassword = @Password WHERE AccountID = @AccountID AND @Password IS NOT NULL
|
|
|
|
IF (@@ERROR <> 0 )
|
|
BEGIN
|
|
ROLLBACK TRANSACTION
|
|
RETURN -1
|
|
END
|
|
COMMIT TRAN
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetExchangeAccount]
|
|
(
|
|
@ItemID int,
|
|
@AccountID int
|
|
)
|
|
AS
|
|
SELECT
|
|
E.AccountID,
|
|
E.ItemID,
|
|
E.AccountType,
|
|
E.AccountName,
|
|
E.DisplayName,
|
|
E.PrimaryEmailAddress,
|
|
E.MailEnabledPublicFolder,
|
|
E.MailboxManagerActions,
|
|
E.SamAccountName,
|
|
E.AccountPassword,
|
|
E.MailboxPlanId,
|
|
P.MailboxPlan,
|
|
E.SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts AS E
|
|
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
|
|
WHERE
|
|
E.ItemID = @ItemID AND
|
|
E.AccountID = @AccountID
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetExchangeMailboxes]
|
|
@ItemID int
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
AccountID,
|
|
ItemID,
|
|
AccountType,
|
|
AccountName,
|
|
DisplayName,
|
|
PrimaryEmailAddress,
|
|
MailEnabledPublicFolder,
|
|
SubscriberNumber
|
|
FROM
|
|
ExchangeAccounts
|
|
WHERE
|
|
ItemID = @ItemID AND
|
|
(AccountType =1 OR AccountType=5 OR AccountType=6)
|
|
ORDER BY 1
|
|
|
|
END
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER 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,
|
|
AccountPassword,
|
|
SubscriberNumber
|
|
FROM ExchangeAccounts
|
|
WHERE AccountID = @AccountID
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[SearchExchangeAccounts]
|
|
(
|
|
@ActorID int,
|
|
@ItemID int,
|
|
@IncludeMailboxes bit,
|
|
@IncludeContacts bit,
|
|
@IncludeDistributionLists bit,
|
|
@IncludeRooms bit,
|
|
@IncludeEquipment bit,
|
|
@FilterColumn nvarchar(50) = '',
|
|
@FilterValue nvarchar(50) = '',
|
|
@SortColumn nvarchar(50)
|
|
)
|
|
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 = '
|
|
((@IncludeMailboxes = 1 AND EA.AccountType = 1)
|
|
OR (@IncludeContacts = 1 AND EA.AccountType = 2)
|
|
OR (@IncludeDistributionLists = 1 AND EA.AccountType = 3)
|
|
OR (@IncludeRooms = 1 AND EA.AccountType = 5)
|
|
OR (@IncludeEquipment = 1 AND EA.AccountType = 6))
|
|
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.MailEnabledPublicFolder,
|
|
EA.SubscriberNumber
|
|
FROM ExchangeAccounts AS EA
|
|
WHERE ' + @condition
|
|
|
|
print @sql
|
|
|
|
exec sp_executesql @sql, N'@ItemID int, @IncludeMailboxes int, @IncludeContacts int,
|
|
@IncludeDistributionLists int, @IncludeRooms bit, @IncludeEquipment bit',
|
|
@ItemID, @IncludeMailboxes, @IncludeContacts, @IncludeDistributionLists, @IncludeRooms, @IncludeEquipment
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER 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
|
|
FROM ExchangeAccounts AS EA
|
|
WHERE ' + @condition
|
|
|
|
print @sql
|
|
|
|
exec sp_executesql @sql, N'@ItemID int, @IncludeMailboxes bit',
|
|
@ItemID, @IncludeMailboxes
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'AddLyncUser')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[AddLyncUser]
|
|
@AccountID int,
|
|
@LyncUserPlanID int
|
|
AS
|
|
INSERT INTO
|
|
dbo.LyncUsers
|
|
(AccountID,
|
|
LyncUserPlanID,
|
|
CreatedDate,
|
|
ModifiedDate)
|
|
VALUES
|
|
(
|
|
@AccountID,
|
|
@LyncUserPlanID,
|
|
getdate(),
|
|
getdate()
|
|
)'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUsersByPlanId')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUsersByPlanId]
|
|
(
|
|
@ItemID int,
|
|
@PlanId int
|
|
)
|
|
AS
|
|
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ea.PrimaryEmailAddress,
|
|
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 AND
|
|
ou.LyncUserPlanId = @PlanId'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetLyncUsersByPlanId]
|
|
(
|
|
@ItemID int,
|
|
@PlanId int
|
|
)
|
|
AS
|
|
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ea.PrimaryEmailAddress,
|
|
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 AND
|
|
ou.LyncUserPlanId = @PlanId
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'AddLyncUserPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[AddLyncUserPlan]
|
|
(
|
|
@LyncUserPlanId int OUTPUT,
|
|
@ItemID int,
|
|
@LyncUserPlanName nvarchar(300),
|
|
@LyncUserPlanType int,
|
|
@IM bit,
|
|
@Mobility bit,
|
|
@MobilityEnableOutsideVoice bit,
|
|
@Federation bit,
|
|
@Conferencing bit,
|
|
@EnterpriseVoice bit,
|
|
@VoicePolicy int,
|
|
@IsDefault bit
|
|
)
|
|
AS
|
|
|
|
|
|
|
|
IF (((SELECT Count(*) FROM LyncUserPlans WHERE ItemId = @ItemID) = 0) AND (@LyncUserPlanType=0))
|
|
BEGIN
|
|
SET @IsDefault = 1
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF ((@IsDefault = 1) AND (@LyncUserPlanType=0))
|
|
BEGIN
|
|
UPDATE LyncUserPlans SET IsDefault = 0 WHERE ItemID = @ItemID
|
|
END
|
|
END
|
|
|
|
|
|
INSERT INTO LyncUserPlans
|
|
(
|
|
ItemID,
|
|
LyncUserPlanName,
|
|
LyncUserPlanType,
|
|
IM,
|
|
Mobility,
|
|
MobilityEnableOutsideVoice,
|
|
Federation,
|
|
Conferencing,
|
|
EnterpriseVoice,
|
|
VoicePolicy,
|
|
IsDefault
|
|
)
|
|
VALUES
|
|
(
|
|
@ItemID,
|
|
@LyncUserPlanName,
|
|
@LyncUserPlanType,
|
|
@IM,
|
|
@Mobility,
|
|
@MobilityEnableOutsideVoice,
|
|
@Federation,
|
|
@Conferencing,
|
|
@EnterpriseVoice,
|
|
@VoicePolicy,
|
|
@IsDefault
|
|
)
|
|
|
|
SET @LyncUserPlanId = SCOPE_IDENTITY()
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[AddLyncUserPlan]
|
|
(
|
|
@LyncUserPlanId int OUTPUT,
|
|
@ItemID int,
|
|
@LyncUserPlanName nvarchar(300),
|
|
@LyncUserPlanType int,
|
|
@IM bit,
|
|
@Mobility bit,
|
|
@MobilityEnableOutsideVoice bit,
|
|
@Federation bit,
|
|
@Conferencing bit,
|
|
@EnterpriseVoice bit,
|
|
@VoicePolicy int,
|
|
@IsDefault bit
|
|
)
|
|
AS
|
|
|
|
IF (((SELECT Count(*) FROM LyncUserPlans WHERE ItemId = @ItemID) = 0) AND (@LyncUserPlanType=0))
|
|
BEGIN
|
|
SET @IsDefault = 1
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF ((@IsDefault = 1) AND (@LyncUserPlanType=0))
|
|
BEGIN
|
|
UPDATE LyncUserPlans SET IsDefault = 0 WHERE ItemID = @ItemID
|
|
END
|
|
END
|
|
|
|
|
|
INSERT INTO LyncUserPlans
|
|
(
|
|
ItemID,
|
|
LyncUserPlanName,
|
|
LyncUserPlanType,
|
|
IM,
|
|
Mobility,
|
|
MobilityEnableOutsideVoice,
|
|
Federation,
|
|
Conferencing,
|
|
EnterpriseVoice,
|
|
VoicePolicy,
|
|
IsDefault
|
|
)
|
|
VALUES
|
|
(
|
|
@ItemID,
|
|
@LyncUserPlanName,
|
|
@LyncUserPlanType,
|
|
@IM,
|
|
@Mobility,
|
|
@MobilityEnableOutsideVoice,
|
|
@Federation,
|
|
@Conferencing,
|
|
@EnterpriseVoice,
|
|
@VoicePolicy,
|
|
@IsDefault
|
|
)
|
|
|
|
SET @LyncUserPlanId = SCOPE_IDENTITY()
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'CheckLyncUserExists')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[CheckLyncUserExists]
|
|
@AccountID int
|
|
AS
|
|
SELECT
|
|
COUNT(AccountID)
|
|
FROM
|
|
dbo.LyncUsers
|
|
WHERE AccountID = @AccountID'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'CheckLyncUserExists')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[CheckLyncUserExists]
|
|
@AccountID int
|
|
AS
|
|
BEGIN
|
|
SELECT
|
|
COUNT(AccountID)
|
|
FROM
|
|
dbo.LyncUsers
|
|
WHERE AccountID = @AccountID'
|
|
END
|
|
GO
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'DeleteLyncUser')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[DeleteLyncUser]
|
|
(
|
|
@AccountId int
|
|
)
|
|
AS
|
|
|
|
DELETE FROM
|
|
LyncUsers
|
|
WHERE
|
|
AccountId = @AccountId
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'DeleteLyncUserPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[DeleteLyncUserPlan]
|
|
(
|
|
@LyncUserPlanId int
|
|
)
|
|
AS
|
|
|
|
-- delete lyncuserplan
|
|
DELETE FROM LyncUserPlans
|
|
WHERE LyncUserPlanId = @LyncUserPlanId
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUserPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUserPlan]
|
|
(
|
|
@LyncUserPlanId int
|
|
)
|
|
AS
|
|
SELECT
|
|
LyncUserPlanId,
|
|
ItemID,
|
|
LyncUserPlanName,
|
|
LyncUserPlanType,
|
|
IM,
|
|
Mobility,
|
|
MobilityEnableOutsideVoice,
|
|
Federation,
|
|
Conferencing,
|
|
EnterpriseVoice,
|
|
VoicePolicy,
|
|
IsDefault
|
|
FROM
|
|
LyncUserPlans
|
|
WHERE
|
|
LyncUserPlanId = @LyncUserPlanId
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetLyncUserPlan]
|
|
(
|
|
@LyncUserPlanId int
|
|
)
|
|
AS
|
|
SELECT
|
|
LyncUserPlanId,
|
|
ItemID,
|
|
LyncUserPlanName,
|
|
LyncUserPlanType,
|
|
IM,
|
|
Mobility,
|
|
MobilityEnableOutsideVoice,
|
|
Federation,
|
|
Conferencing,
|
|
EnterpriseVoice,
|
|
VoicePolicy,
|
|
IsDefault
|
|
FROM
|
|
LyncUserPlans
|
|
WHERE
|
|
LyncUserPlanId = @LyncUserPlanId
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUserPlanByAccountId')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUserPlanByAccountId]
|
|
(
|
|
@AccountID int
|
|
)
|
|
AS
|
|
SELECT
|
|
LyncUserPlanId,
|
|
ItemID,
|
|
LyncUserPlanName,
|
|
LyncUserPlanType,
|
|
IM,
|
|
Mobility,
|
|
MobilityEnableOutsideVoice,
|
|
Federation,
|
|
Conferencing,
|
|
EnterpriseVoice,
|
|
VoicePolicy,
|
|
IsDefault
|
|
FROM
|
|
LyncUserPlans
|
|
WHERE
|
|
LyncUserPlanId IN (SELECT LyncUserPlanId FROM LyncUsers WHERE AccountID = @AccountID)
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetLyncUserPlanByAccountId]
|
|
(
|
|
@AccountID int
|
|
)
|
|
AS
|
|
SELECT
|
|
LyncUserPlanId,
|
|
ItemID,
|
|
LyncUserPlanName,
|
|
LyncUserPlanType,
|
|
IM,
|
|
Mobility,
|
|
MobilityEnableOutsideVoice,
|
|
Federation,
|
|
Conferencing,
|
|
EnterpriseVoice,
|
|
VoicePolicy,
|
|
IsDefault
|
|
FROM
|
|
LyncUserPlans
|
|
WHERE
|
|
LyncUserPlanId IN (SELECT LyncUserPlanId FROM LyncUsers WHERE AccountID = @AccountID)
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUserPlans')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUserPlans]
|
|
(
|
|
@ItemID int
|
|
)
|
|
AS
|
|
SELECT
|
|
LyncUserPlanId,
|
|
ItemID,
|
|
LyncUserPlanName,
|
|
LyncUserPlanType,
|
|
IM,
|
|
Mobility,
|
|
MobilityEnableOutsideVoice,
|
|
Federation,
|
|
Conferencing,
|
|
EnterpriseVoice,
|
|
VoicePolicy,
|
|
IsDefault
|
|
FROM
|
|
LyncUserPlans
|
|
WHERE
|
|
ItemID = @ItemID
|
|
ORDER BY LyncUserPlanName
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetLyncUserPlans]
|
|
(
|
|
@ItemID int
|
|
)
|
|
AS
|
|
SELECT
|
|
LyncUserPlanId,
|
|
ItemID,
|
|
LyncUserPlanName,
|
|
LyncUserPlanType,
|
|
IM,
|
|
Mobility,
|
|
MobilityEnableOutsideVoice,
|
|
Federation,
|
|
Conferencing,
|
|
EnterpriseVoice,
|
|
VoicePolicy,
|
|
IsDefault
|
|
FROM
|
|
LyncUserPlans
|
|
WHERE
|
|
ItemID = @ItemID
|
|
ORDER BY LyncUserPlanName
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUsers')
|
|
BEGIN
|
|
EXEC sp_executesql N'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,
|
|
[PrimaryEmailAddress] [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 = ''PrimaryEmailAddress'')
|
|
BEGIN
|
|
SET @condition = ''ORDER BY ea.PrimaryEmailAddress''
|
|
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.PrimaryEmailAddress,
|
|
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 = ''PrimaryEmailAddress'')
|
|
BEGIN
|
|
SELECT * FROM #TempLyncUsers
|
|
WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress 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 PrimaryEmailAddress DESC
|
|
END
|
|
|
|
|
|
END
|
|
|
|
DROP TABLE #TempLyncUsers'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetLyncUsersCount')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetLyncUsersCount]
|
|
(
|
|
@ItemID int
|
|
)
|
|
AS
|
|
|
|
SELECT
|
|
COUNT(ea.AccountID)
|
|
FROM
|
|
ExchangeAccounts ea
|
|
INNER JOIN
|
|
LyncUsers ou
|
|
ON
|
|
ea.AccountID = ou.AccountID
|
|
WHERE
|
|
ea.ItemID = @ItemID'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetLyncUserLyncUserPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetLyncUserLyncUserPlan]
|
|
(
|
|
@AccountID int,
|
|
@LyncUserPlanId int
|
|
)
|
|
AS
|
|
|
|
UPDATE LyncUsers SET
|
|
LyncUserPlanId = @LyncUserPlanId
|
|
WHERE
|
|
AccountID = @AccountID
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'SetOrganizationDefaultLyncUserPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SetOrganizationDefaultLyncUserPlan]
|
|
(
|
|
@ItemId int,
|
|
@LyncUserPlanId int
|
|
)
|
|
AS
|
|
|
|
UPDATE LyncUserPlans SET IsDefault=0 WHERE ItemId=@ItemId
|
|
UPDATE LyncUserPlans SET IsDefault=1 WHERE LyncUserPlanId=@LyncUserPlanId
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetHostingPlanQuotas]
|
|
(
|
|
@ActorID int,
|
|
@PlanID int,
|
|
@PackageID int,
|
|
@ServerID int
|
|
)
|
|
AS
|
|
|
|
-- check rights
|
|
IF dbo.CheckActorParentPackageRights(@ActorID, @PackageID) = 0
|
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
|
|
|
DECLARE @IsAddon bit
|
|
|
|
IF @ServerID = 0
|
|
SELECT @ServerID = ServerID FROM Packages
|
|
WHERE PackageID = @PackageID
|
|
|
|
-- get resource groups
|
|
SELECT
|
|
RG.GroupID,
|
|
RG.GroupName,
|
|
CASE
|
|
WHEN HPR.CalculateDiskSpace IS NULL THEN CAST(0 as bit)
|
|
ELSE CAST(1 as bit)
|
|
END AS Enabled,
|
|
dbo.GetPackageAllocatedResource(@PackageID, RG.GroupID, @ServerID) AS ParentEnabled,
|
|
ISNULL(HPR.CalculateDiskSpace, 1) AS CalculateDiskSpace,
|
|
ISNULL(HPR.CalculateBandwidth, 1) AS CalculateBandwidth
|
|
FROM ResourceGroups AS RG
|
|
LEFT OUTER JOIN HostingPlanResources AS HPR ON RG.GroupID = HPR.GroupID AND HPR.PlanID = @PlanID
|
|
WHERE (RG.ShowGroup = 1)
|
|
ORDER BY RG.GroupOrder
|
|
|
|
-- get quotas by groups
|
|
SELECT
|
|
Q.QuotaID,
|
|
Q.GroupID,
|
|
Q.QuotaName,
|
|
Q.QuotaDescription,
|
|
Q.QuotaTypeID,
|
|
ISNULL(HPQ.QuotaValue, 0) AS QuotaValue,
|
|
dbo.GetPackageAllocatedQuota(@PackageID, Q.QuotaID) AS ParentQuotaValue
|
|
FROM Quotas AS Q
|
|
LEFT OUTER JOIN HostingPlanQuotas AS HPQ ON Q.QuotaID = HPQ.QuotaID AND HPQ.PlanID = @PlanID
|
|
ORDER BY Q.QuotaOrder
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetRawServicesByServerID]
|
|
(
|
|
@ActorID int,
|
|
@ServerID int
|
|
)
|
|
AS
|
|
|
|
-- check rights
|
|
DECLARE @IsAdmin bit
|
|
SET @IsAdmin = dbo.CheckIsUserAdmin(@ActorID)
|
|
|
|
-- resource groups
|
|
SELECT
|
|
GroupID,
|
|
GroupName
|
|
FROM ResourceGroups
|
|
WHERE @IsAdmin = 1 AND (ShowGroup = 1)
|
|
ORDER BY GroupOrder
|
|
|
|
-- services
|
|
SELECT
|
|
S.ServiceID,
|
|
S.ServerID,
|
|
S.ServiceName,
|
|
S.Comments,
|
|
RG.GroupID,
|
|
PROV.DisplayName AS ProviderName
|
|
FROM Services AS S
|
|
INNER JOIN Providers AS PROV ON S.ProviderID = PROV.ProviderID
|
|
INNER JOIN ResourceGroups AS RG ON PROV.GroupID = RG.GroupID
|
|
WHERE
|
|
S.ServerID = @ServerID
|
|
AND @IsAdmin = 1
|
|
ORDER BY RG.GroupOrder
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetVirtualServices]
|
|
(
|
|
@ActorID int,
|
|
@ServerID int
|
|
)
|
|
AS
|
|
|
|
-- check rights
|
|
DECLARE @IsAdmin bit
|
|
SET @IsAdmin = dbo.CheckIsUserAdmin(@ActorID)
|
|
|
|
-- virtual groups
|
|
SELECT
|
|
VRG.VirtualGroupID,
|
|
RG.GroupID,
|
|
RG.GroupName,
|
|
ISNULL(VRG.DistributionType, 1) AS DistributionType,
|
|
ISNULL(VRG.BindDistributionToPrimary, 1) AS BindDistributionToPrimary
|
|
FROM ResourceGroups AS RG
|
|
LEFT OUTER JOIN VirtualGroups AS VRG ON RG.GroupID = VRG.GroupID AND VRG.ServerID = @ServerID
|
|
WHERE
|
|
@IsAdmin = 1 AND (ShowGroup = 1)
|
|
ORDER BY RG.GroupOrder
|
|
|
|
-- services
|
|
SELECT
|
|
VS.ServiceID,
|
|
S.ServiceName,
|
|
S.Comments,
|
|
P.GroupID,
|
|
P.DisplayName,
|
|
SRV.ServerName
|
|
FROM VirtualServices AS VS
|
|
INNER JOIN Services AS S ON VS.ServiceID = S.ServiceID
|
|
INNER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
|
INNER JOIN Providers AS P ON S.ProviderID = P.ProviderID
|
|
WHERE
|
|
VS.ServerID = @ServerID
|
|
AND @IsAdmin = 1
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[AddUser]
|
|
(
|
|
@ActorID int,
|
|
@UserID int OUTPUT,
|
|
@OwnerID int,
|
|
@RoleID int,
|
|
@StatusID int,
|
|
@SubscriberNumber nvarchar(32),
|
|
@LoginStatusID int,
|
|
@IsDemo bit,
|
|
@IsPeer bit,
|
|
@Comments ntext,
|
|
@Username nvarchar(50),
|
|
@Password nvarchar(200),
|
|
@FirstName nvarchar(50),
|
|
@LastName nvarchar(50),
|
|
@Email nvarchar(255),
|
|
@SecondaryEmail nvarchar(255),
|
|
@Address nvarchar(200),
|
|
@City nvarchar(50),
|
|
@State nvarchar(50),
|
|
@Country nvarchar(50),
|
|
@Zip varchar(20),
|
|
@PrimaryPhone varchar(30),
|
|
@SecondaryPhone varchar(30),
|
|
@Fax varchar(30),
|
|
@InstantMessenger nvarchar(200),
|
|
@HtmlMail bit,
|
|
@CompanyName nvarchar(100),
|
|
@EcommerceEnabled bit
|
|
)
|
|
AS
|
|
|
|
-- check if the user already exists
|
|
IF EXISTS(SELECT UserID FROM Users WHERE Username = @Username)
|
|
BEGIN
|
|
SET @UserID = -1
|
|
RETURN
|
|
END
|
|
|
|
-- check actor rights
|
|
IF dbo.CanCreateUser(@ActorID, @OwnerID) = 0
|
|
BEGIN
|
|
SET @UserID = -2
|
|
RETURN
|
|
END
|
|
|
|
INSERT INTO Users
|
|
(
|
|
OwnerID,
|
|
RoleID,
|
|
StatusID,
|
|
SubscriberNumber,
|
|
LoginStatusID,
|
|
Created,
|
|
Changed,
|
|
IsDemo,
|
|
IsPeer,
|
|
Comments,
|
|
Username,
|
|
Password,
|
|
FirstName,
|
|
LastName,
|
|
Email,
|
|
SecondaryEmail,
|
|
Address,
|
|
City,
|
|
State,
|
|
Country,
|
|
Zip,
|
|
PrimaryPhone,
|
|
SecondaryPhone,
|
|
Fax,
|
|
InstantMessenger,
|
|
HtmlMail,
|
|
CompanyName,
|
|
EcommerceEnabled
|
|
)
|
|
VALUES
|
|
(
|
|
@OwnerID,
|
|
@RoleID,
|
|
@StatusID,
|
|
@SubscriberNumber,
|
|
@LoginStatusID,
|
|
GetDate(),
|
|
GetDate(),
|
|
@IsDemo,
|
|
@IsPeer,
|
|
@Comments,
|
|
@Username,
|
|
@Password,
|
|
@FirstName,
|
|
@LastName,
|
|
@Email,
|
|
@SecondaryEmail,
|
|
@Address,
|
|
@City,
|
|
@State,
|
|
@Country,
|
|
@Zip,
|
|
@PrimaryPhone,
|
|
@SecondaryPhone,
|
|
@Fax,
|
|
@InstantMessenger,
|
|
@HtmlMail,
|
|
@CompanyName,
|
|
@EcommerceEnabled
|
|
)
|
|
|
|
SET @UserID = SCOPE_IDENTITY()
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetUserById]
|
|
(
|
|
@ActorID int,
|
|
@UserID int
|
|
)
|
|
AS
|
|
-- user can retrieve his own account, his users accounts
|
|
-- and his reseller account (without pasword)
|
|
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,
|
|
CASE WHEN dbo.CanGetUserPassword(@ActorID, @UserID) = 1 THEN U.Password
|
|
ELSE '' END AS 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]
|
|
FROM Users AS U
|
|
WHERE U.UserID = @UserID
|
|
AND dbo.CanGetUserDetails(@ActorID, @UserID) = 1 -- actor user rights
|
|
|
|
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]
|
|
FROM Users AS U
|
|
WHERE U.UserID = @UserID
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetUserByUsername]
|
|
(
|
|
@ActorID int,
|
|
@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,
|
|
CASE WHEN dbo.CanGetUserPassword(@ActorID, UserID) = 1 THEN U.Password
|
|
ELSE '' END AS 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]
|
|
FROM Users AS U
|
|
WHERE U.Username = @Username
|
|
AND dbo.CanGetUserDetails(@ActorID, UserID) = 1 -- actor user rights
|
|
|
|
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]
|
|
FROM Users AS U
|
|
WHERE U.Username = @Username
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetUserDomainsPaged]
|
|
(
|
|
@ActorID int,
|
|
@UserID int,
|
|
@FilterColumn nvarchar(50) = '',
|
|
@FilterValue nvarchar(50) = '',
|
|
@SortColumn nvarchar(50),
|
|
@StartRow int,
|
|
@MaximumRows int
|
|
)
|
|
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(1,1),
|
|
UserID int,
|
|
DomainID int
|
|
)
|
|
INSERT INTO @Users (UserID, DomainID)
|
|
SELECT
|
|
U.UserID,
|
|
D.DomainID
|
|
FROM Users AS U
|
|
INNER JOIN UsersTree(@UserID, 1) AS UT ON U.UserID = UT.UserID
|
|
LEFT OUTER JOIN Packages AS P ON U.UserID = P.UserID
|
|
LEFT OUTER JOIN Domains AS D ON P.PackageID = D.PackageID
|
|
WHERE
|
|
U.UserID <> @UserID AND U.IsPeer = 0
|
|
AND @HasUserRights = 1 '
|
|
|
|
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(UserID) FROM @Users;
|
|
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.FirstName,
|
|
U.LastName,
|
|
U.Email,
|
|
D.DomainName
|
|
FROM @Users AS TU
|
|
INNER JOIN Users AS U ON TU.UserID = U.UserID
|
|
LEFT OUTER JOIN Domains AS D ON TU.DomainID = D.DomainID
|
|
WHERE TU.ItemPosition BETWEEN @StartRow AND @EndRow'
|
|
|
|
exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @UserID int, @FilterValue nvarchar(50), @ActorID int',
|
|
@StartRow, @MaximumRows, @UserID, @FilterValue, @ActorID
|
|
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetUserParents]
|
|
(
|
|
@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
|
|
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.FirstName,
|
|
U.LastName,
|
|
U.Email,
|
|
U.CompanyName,
|
|
U.EcommerceEnabled
|
|
FROM UserParents(@ActorID, @UserID) AS UP
|
|
INNER JOIN Users AS U ON UP.UserID = U.UserID
|
|
ORDER BY UP.UserOrder DESC
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetUserPeers]
|
|
(
|
|
@ActorID int,
|
|
@UserID int
|
|
)
|
|
AS
|
|
|
|
DECLARE @CanGetDetails bit
|
|
SET @CanGetDetails = dbo.CanGetUserDetails(@ActorID, @UserID)
|
|
|
|
SELECT
|
|
U.UserID,
|
|
U.RoleID,
|
|
U.StatusID,
|
|
U.LoginStatusId,
|
|
U.FailedLogins,
|
|
U.OwnerID,
|
|
U.Created,
|
|
U.Changed,
|
|
U.IsDemo,
|
|
U.Comments,
|
|
U.IsPeer,
|
|
U.Username,
|
|
U.FirstName,
|
|
U.LastName,
|
|
U.Email,
|
|
U.FullName,
|
|
(U.FirstName + ' ' + U.LastName) AS FullName,
|
|
U.CompanyName,
|
|
U.EcommerceEnabled
|
|
FROM UsersDetailed AS U
|
|
WHERE U.OwnerID = @UserID AND IsPeer = 1
|
|
AND @CanGetDetails = 1 -- actor rights
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetUsers]
|
|
(
|
|
@ActorID int,
|
|
@OwnerID int,
|
|
@Recursive bit = 0
|
|
)
|
|
AS
|
|
|
|
DECLARE @CanGetDetails bit
|
|
SET @CanGetDetails = dbo.CanGetUserDetails(@ActorID, @OwnerID)
|
|
|
|
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.FirstName,
|
|
U.LastName,
|
|
U.Email,
|
|
U.FullName,
|
|
U.OwnerUsername,
|
|
U.OwnerFirstName,
|
|
U.OwnerLastName,
|
|
U.OwnerRoleID,
|
|
U.OwnerFullName,
|
|
U.PackagesNumber,
|
|
U.CompanyName,
|
|
U.EcommerceEnabled
|
|
FROM UsersDetailed AS U
|
|
WHERE U.UserID <> @OwnerID AND
|
|
((@Recursive = 1 AND dbo.CheckUserParent(@OwnerID, U.UserID) = 1) OR
|
|
(@Recursive = 0 AND U.OwnerID = @OwnerID))
|
|
AND U.IsPeer = 0
|
|
AND @CanGetDetails = 1 -- actor user rights
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER 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 @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(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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[UpdateUser]
|
|
(
|
|
@ActorID int,
|
|
@UserID int,
|
|
@RoleID int,
|
|
@StatusID int,
|
|
@SubscriberNumber nvarchar(32),
|
|
@LoginStatusId int,
|
|
@IsDemo bit,
|
|
@IsPeer bit,
|
|
@Comments ntext,
|
|
@FirstName nvarchar(50),
|
|
@LastName nvarchar(50),
|
|
@Email nvarchar(255),
|
|
@SecondaryEmail nvarchar(255),
|
|
@Address nvarchar(200),
|
|
@City nvarchar(50),
|
|
@State nvarchar(50),
|
|
@Country nvarchar(50),
|
|
@Zip varchar(20),
|
|
@PrimaryPhone varchar(30),
|
|
@SecondaryPhone varchar(30),
|
|
@Fax varchar(30),
|
|
@InstantMessenger nvarchar(200),
|
|
@HtmlMail bit,
|
|
@CompanyName nvarchar(100),
|
|
@EcommerceEnabled BIT,
|
|
@AdditionalParams NVARCHAR(max)
|
|
)
|
|
AS
|
|
|
|
-- check actor rights
|
|
IF dbo.CanUpdateUserDetails(@ActorID, @UserID) = 0
|
|
BEGIN
|
|
RETURN
|
|
END
|
|
|
|
IF @LoginStatusId = 0
|
|
BEGIN
|
|
UPDATE Users SET
|
|
FailedLogins = 0
|
|
WHERE UserID = @UserID
|
|
END
|
|
|
|
UPDATE Users SET
|
|
RoleID = @RoleID,
|
|
StatusID = @StatusID,
|
|
SubscriberNumber = @SubscriberNumber,
|
|
LoginStatusId = @LoginStatusId,
|
|
Changed = GetDate(),
|
|
IsDemo = @IsDemo,
|
|
IsPeer = @IsPeer,
|
|
Comments = @Comments,
|
|
FirstName = @FirstName,
|
|
LastName = @LastName,
|
|
Email = @Email,
|
|
SecondaryEmail = @SecondaryEmail,
|
|
Address = @Address,
|
|
City = @City,
|
|
State = @State,
|
|
Country = @Country,
|
|
Zip = @Zip,
|
|
PrimaryPhone = @PrimaryPhone,
|
|
SecondaryPhone = @SecondaryPhone,
|
|
Fax = @Fax,
|
|
InstantMessenger = @InstantMessenger,
|
|
HtmlMail = @HtmlMail,
|
|
CompanyName = @CompanyName,
|
|
EcommerceEnabled = @EcommerceEnabled,
|
|
[AdditionalParams] = @AdditionalParams
|
|
WHERE UserID = @UserID
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'UpdateUserFailedLoginAttempt')
|
|
BEGIN
|
|
EXEC sp_executesql N' CREATE PROCEDURE [dbo].[UpdateUserFailedLoginAttempt]
|
|
(
|
|
@UserID int,
|
|
@LockOut int,
|
|
@Reset int
|
|
)
|
|
AS
|
|
|
|
IF (@Reset = 1)
|
|
BEGIN
|
|
UPDATE Users SET FailedLogins = 0 WHERE UserID = @UserID
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF (@LockOut <= (SELECT FailedLogins FROM USERS WHERE UserID = @UserID))
|
|
BEGIN
|
|
UPDATE Users SET LoginStatusId = 2 WHERE UserID = @UserID
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF ((SELECT FailedLogins FROM Users WHERE UserID = @UserID) IS NULL)
|
|
BEGIN
|
|
UPDATE Users SET FailedLogins = 1 WHERE UserID = @UserID
|
|
END
|
|
ELSE
|
|
UPDATE Users SET FailedLogins = FailedLogins + 1 WHERE UserID = @UserID
|
|
END
|
|
END'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'UpdateLyncUserPlan')
|
|
BEGIN
|
|
EXEC sp_executesql N' CREATE PROCEDURE [dbo].[UpdateLyncUserPlan]
|
|
(
|
|
@LyncUserPlanId int,
|
|
@LyncUserPlanName nvarchar(300),
|
|
@LyncUserPlanType int,
|
|
@IM bit,
|
|
@Mobility bit,
|
|
@MobilityEnableOutsideVoice bit,
|
|
@Federation bit,
|
|
@Conferencing bit,
|
|
@EnterpriseVoice bit,
|
|
@VoicePolicy int,
|
|
@IsDefault bit
|
|
)
|
|
AS
|
|
|
|
UPDATE LyncUserPlans SET
|
|
LyncUserPlanName = @LyncUserPlanName,
|
|
LyncUserPlanType = @LyncUserPlanType,
|
|
IM = @IM,
|
|
Mobility = @Mobility,
|
|
MobilityEnableOutsideVoice = @MobilityEnableOutsideVoice,
|
|
Federation = @Federation,
|
|
Conferencing =@Conferencing,
|
|
EnterpriseVoice = @EnterpriseVoice,
|
|
VoicePolicy = @VoicePolicy,
|
|
IsDefault = @IsDefault
|
|
WHERE LyncUserPlanId = @LyncUserPlanId
|
|
|
|
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
UPDATE [dbo].[Providers] SET [DisplayName] = 'MailEnable Server 1.x - 7.x' WHERE [DisplayName] = 'MailEnable Server 1.x - 4.x'
|
|
GO
|
|
|
|
UPDATE [dbo].[Providers] SET [DisplayName] = 'SmarterMail 7.x - 8.x' WHERE [DisplayName] = 'SmarterMail 7.x'
|
|
GO
|
|
UPDATE [dbo].[Providers] SET [DisplayName] = 'SmarterMail 10.x +' WHERE [DisplayName] = 'SmarterMail 10.x'
|
|
GO
|
|
UPDATE [dbo].[Providers] SET [DisplayName] = 'SmarterStats 5.x +' WHERE [DisplayName] = 'SmarterStats 5.x-6.x'
|
|
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'SmarterMail60', NULL)
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (66, N'AdminPassword', N'')
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (66, N'AdminUsername', N'admin')
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (66, N'DomainsPath', N'%SYSTEMDRIVE%\SmarterMail')
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (66, N'ServerIPAddress', N'127.0.0.1;127.0.0.1')
|
|
INSERT [dbo].[ServiceDefaultProperties] ([ProviderID], [PropertyName], [PropertyValue]) VALUES (66, N'ServiceUrl', N'http://localhost:9998/services/')
|
|
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
|
|
|
|
INSERT INTO ServiceItemProperties
|
|
(
|
|
ItemID,
|
|
PropertyName,
|
|
PropertyValue
|
|
)
|
|
SELECT
|
|
@ItemID,
|
|
PropertyName,
|
|
PropertyValue
|
|
FROM OPENXML(@idoc, '/properties/property',1) WITH
|
|
(
|
|
PropertyName nvarchar(50) '@name',
|
|
PropertyValue nvarchar(3000) '@value'
|
|
) as PV
|
|
|
|
-- remove document
|
|
exec sp_xml_removedocument @idoc
|
|
|
|
COMMIT TRAN
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetBlackBerryUsers')
|
|
BEGIN
|
|
EXEC sp_executesql N'
|
|
CREATE PROCEDURE [dbo].[GetBlackBerryUsers]
|
|
(
|
|
@ItemID int,
|
|
@SortColumn nvarchar(40),
|
|
@SortDirection nvarchar(20),
|
|
@Name nvarchar(400),
|
|
@Email nvarchar(400),
|
|
@StartRow int,
|
|
@Count int
|
|
)
|
|
AS
|
|
|
|
IF (@Name IS NULL)
|
|
BEGIN
|
|
SET @Name = ''%''
|
|
END
|
|
|
|
IF (@Email IS NULL)
|
|
BEGIN
|
|
SET @Email = ''%''
|
|
END
|
|
|
|
CREATE TABLE #TempBlackBerryUsers
|
|
(
|
|
[ID] [int] IDENTITY(1,1) NOT NULL,
|
|
[AccountID] [int],
|
|
[ItemID] [int] NOT NULL,
|
|
[AccountName] [nvarchar](300) NOT NULL,
|
|
[DisplayName] [nvarchar](300) NOT NULL,
|
|
[PrimaryEmailAddress] [nvarchar](300) NULL,
|
|
[SamAccountName] [nvarchar](100) NULL
|
|
)
|
|
|
|
|
|
IF (@SortColumn = ''DisplayName'')
|
|
BEGIN
|
|
INSERT INTO
|
|
#TempBlackBerryUsers
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ea.PrimaryEmailAddress,
|
|
ea.SamAccountName
|
|
FROM
|
|
ExchangeAccounts ea
|
|
INNER JOIN
|
|
BlackBerryUsers bu
|
|
ON
|
|
ea.AccountID = bu.AccountID
|
|
WHERE
|
|
ea.ItemID = @ItemID AND ea.DisplayName LIKE @Name AND ea.PrimaryEmailAddress LIKE @Email
|
|
ORDER BY
|
|
ea.DisplayName
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO
|
|
#TempBlackBerryUsers
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ea.PrimaryEmailAddress,
|
|
ea.SamAccountName
|
|
FROM
|
|
ExchangeAccounts ea
|
|
INNER JOIN
|
|
BlackBerryUsers bu
|
|
ON
|
|
ea.AccountID = bu.AccountID
|
|
WHERE
|
|
ea.ItemID = @ItemID AND ea.DisplayName LIKE @Name AND ea.PrimaryEmailAddress LIKE @Email
|
|
ORDER BY
|
|
ea.PrimaryEmailAddress
|
|
END
|
|
|
|
DECLARE @RetCount int
|
|
SELECT @RetCount = COUNT(ID) FROM #TempBlackBerryUsers
|
|
|
|
IF (@SortDirection = ''ASC'')
|
|
BEGIN
|
|
SELECT * FROM #TempBlackBerryUsers
|
|
WHERE ID > @StartRow AND ID <= (@StartRow + @Count)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF (@SortColumn = ''DisplayName'')
|
|
BEGIN
|
|
SELECT * FROM #TempBlackBerryUsers
|
|
WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY DisplayName DESC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT * FROM #TempBlackBerryUsers
|
|
WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC
|
|
END
|
|
|
|
END
|
|
|
|
|
|
DROP TABLE #TempBlackBerryUsers'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetBlackBerryUsers]
|
|
(
|
|
@ItemID int,
|
|
@SortColumn nvarchar(40),
|
|
@SortDirection nvarchar(20),
|
|
@Name nvarchar(400),
|
|
@Email nvarchar(400),
|
|
@StartRow int,
|
|
@Count int
|
|
)
|
|
AS
|
|
|
|
IF (@Name IS NULL)
|
|
BEGIN
|
|
SET @Name = '%'
|
|
END
|
|
|
|
IF (@Email IS NULL)
|
|
BEGIN
|
|
SET @Email = '%'
|
|
END
|
|
|
|
CREATE TABLE #TempBlackBerryUsers
|
|
(
|
|
[ID] [int] IDENTITY(1,1) NOT NULL,
|
|
[AccountID] [int],
|
|
[ItemID] [int] NOT NULL,
|
|
[AccountName] [nvarchar](300) NOT NULL,
|
|
[DisplayName] [nvarchar](300) NOT NULL,
|
|
[PrimaryEmailAddress] [nvarchar](300) NULL,
|
|
[SamAccountName] [nvarchar](100) NULL
|
|
)
|
|
|
|
|
|
IF (@SortColumn = 'DisplayName')
|
|
BEGIN
|
|
INSERT INTO
|
|
#TempBlackBerryUsers
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ea.PrimaryEmailAddress,
|
|
ea.SamAccountName
|
|
FROM
|
|
ExchangeAccounts ea
|
|
INNER JOIN
|
|
BlackBerryUsers bu
|
|
ON
|
|
ea.AccountID = bu.AccountID
|
|
WHERE
|
|
ea.ItemID = @ItemID AND ea.DisplayName LIKE @Name AND ea.PrimaryEmailAddress LIKE @Email
|
|
ORDER BY
|
|
ea.DisplayName
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO
|
|
#TempBlackBerryUsers
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ea.PrimaryEmailAddress,
|
|
ea.SamAccountName
|
|
FROM
|
|
ExchangeAccounts ea
|
|
INNER JOIN
|
|
BlackBerryUsers bu
|
|
ON
|
|
ea.AccountID = bu.AccountID
|
|
WHERE
|
|
ea.ItemID = @ItemID AND ea.DisplayName LIKE @Name AND ea.PrimaryEmailAddress LIKE @Email
|
|
ORDER BY
|
|
ea.PrimaryEmailAddress
|
|
END
|
|
|
|
DECLARE @RetCount int
|
|
SELECT @RetCount = COUNT(ID) FROM #TempBlackBerryUsers
|
|
|
|
IF (@SortDirection = 'ASC')
|
|
BEGIN
|
|
SELECT * FROM #TempBlackBerryUsers
|
|
WHERE ID > @StartRow AND ID <= (@StartRow + @Count)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF (@SortColumn = 'DisplayName')
|
|
BEGIN
|
|
SELECT * FROM #TempBlackBerryUsers
|
|
WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY DisplayName DESC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT * FROM #TempBlackBerryUsers
|
|
WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC
|
|
END
|
|
|
|
END
|
|
|
|
|
|
DROP TABLE #TempBlackBerryUsers
|
|
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='ExchangeOrganizationDomains' AND COLS.name='DomainTypeID')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[ExchangeOrganizationDomains] ADD
|
|
[DomainTypeID] [int] NOT NULL CONSTRAINT DF_ExchangeOrganizationDomains_DomainTypeID DEFAULT 0
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetExchangeOrganizationDomains]
|
|
(
|
|
@ItemID int
|
|
)
|
|
AS
|
|
SELECT
|
|
ED.DomainID,
|
|
D.DomainName,
|
|
ED.IsHost,
|
|
ED.DomainTypeID
|
|
FROM
|
|
ExchangeOrganizationDomains AS ED
|
|
INNER JOIN Domains AS D ON ED.DomainID = D.DomainID
|
|
WHERE ED.ItemID = @ItemID
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'ChangeExchangeAcceptedDomainType')
|
|
BEGIN
|
|
EXEC sp_executesql N'
|
|
CREATE PROCEDURE [dbo].ChangeExchangeAcceptedDomainType
|
|
(
|
|
@ItemID int,
|
|
@DomainID int,
|
|
@DomainTypeID int
|
|
)
|
|
AS
|
|
UPDATE ExchangeOrganizationDomains
|
|
SET DomainTypeID=@DomainTypeID
|
|
WHERE ItemID=ItemID AND DomainID=@DomainID
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER 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
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetDomainsPaged]
|
|
(
|
|
@ActorID int,
|
|
@PackageID int,
|
|
@ServerID int,
|
|
@Recursive bit,
|
|
@FilterColumn nvarchar(50) = '',
|
|
@FilterValue nvarchar(50) = '',
|
|
@SortColumn nvarchar(50),
|
|
@StartRow int,
|
|
@MaximumRows int
|
|
)
|
|
AS
|
|
SET NOCOUNT ON
|
|
|
|
-- check rights
|
|
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
|
RAISERROR('You are not allowed to access this package', 16, 1)
|
|
|
|
-- build query and run it to the temporary table
|
|
DECLARE @sql nvarchar(2000)
|
|
|
|
IF @SortColumn = '' OR @SortColumn IS NULL
|
|
SET @SortColumn = 'DomainName'
|
|
|
|
SET @sql = '
|
|
DECLARE @Domains TABLE
|
|
(
|
|
ItemPosition int IDENTITY(1,1),
|
|
DomainID int
|
|
)
|
|
INSERT INTO @Domains (DomainID)
|
|
SELECT
|
|
D.DomainID
|
|
FROM Domains AS D
|
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
|
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
|
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
|
WHERE (D.IsInstantAlias = 0 AND D.IsDomainPointer = 0) AND
|
|
((@Recursive = 0 AND D.PackageID = @PackageID)
|
|
OR (@Recursive = 1 AND dbo.CheckPackageParent(@PackageID, D.PackageID) = 1))
|
|
AND (@ServerID = 0 OR (@ServerID > 0 AND S.ServerID = @ServerID))
|
|
'
|
|
|
|
IF @FilterColumn <> '' AND @FilterValue <> ''
|
|
SET @sql = @sql + ' AND ' + @FilterColumn + ' LIKE @FilterValue '
|
|
|
|
IF @SortColumn <> '' AND @SortColumn IS NOT NULL
|
|
SET @sql = @sql + ' ORDER BY ' + @SortColumn + ' '
|
|
|
|
SET @sql = @sql + ' SELECT COUNT(DomainID) FROM @Domains;SELECT
|
|
D.DomainID,
|
|
D.PackageID,
|
|
D.ZoneItemID,
|
|
D.DomainName,
|
|
D.HostingAllowed,
|
|
ISNULL(WS.ItemID, 0) AS WebSiteID,
|
|
WS.ItemName AS WebSiteName,
|
|
ISNULL(MD.ItemID, 0) AS MailDomainID,
|
|
MD.ItemName AS MailDomainName,
|
|
D.IsSubDomain,
|
|
D.IsInstantAlias,
|
|
D.IsDomainPointer,
|
|
|
|
-- packages
|
|
P.PackageName,
|
|
|
|
-- server
|
|
ISNULL(SRV.ServerID, 0) AS ServerID,
|
|
ISNULL(SRV.ServerName, '''') AS ServerName,
|
|
ISNULL(SRV.Comments, '''') AS ServerComments,
|
|
ISNULL(SRV.VirtualServer, 0) AS VirtualServer,
|
|
|
|
-- user
|
|
P.UserID,
|
|
U.Username,
|
|
U.FirstName,
|
|
U.LastName,
|
|
U.FullName,
|
|
U.RoleID,
|
|
U.Email
|
|
FROM @Domains AS SD
|
|
INNER JOIN Domains AS D ON SD.DomainID = D.DomainID
|
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
|
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
|
LEFT OUTER JOIN Services AS S ON Z.ServiceID = S.ServiceID
|
|
LEFT OUTER JOIN Servers AS SRV ON S.ServerID = SRV.ServerID
|
|
WHERE SD.ItemPosition BETWEEN @StartRow + 1 AND @StartRow + @MaximumRows'
|
|
|
|
exec sp_executesql @sql, N'@StartRow int, @MaximumRows int, @PackageID int, @FilterValue nvarchar(50), @ServerID int, @Recursive bit',
|
|
@StartRow, @MaximumRows, @PackageID, @FilterValue, @ServerID, @Recursive
|
|
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[DeleteServiceItem]
|
|
(
|
|
@ActorID int,
|
|
@ItemID int
|
|
)
|
|
AS
|
|
|
|
-- 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)
|
|
|
|
BEGIN TRAN
|
|
|
|
UPDATE Domains
|
|
SET ZoneItemID = NULL
|
|
WHERE ZoneItemID = @ItemID
|
|
|
|
DELETE FROM Domains
|
|
WHERE WebSiteID = @ItemID AND IsDomainPointer = 1
|
|
|
|
UPDATE Domains
|
|
SET WebSiteID = NULL
|
|
WHERE WebSiteID = @ItemID
|
|
|
|
UPDATE Domains
|
|
SET MailDomainID = NULL
|
|
WHERE MailDomainID = @ItemID
|
|
|
|
-- delete item comments
|
|
DELETE FROM Comments
|
|
WHERE ItemID = @ItemID AND ItemTypeID = 'SERVICE_ITEM'
|
|
|
|
-- delete item properties
|
|
DELETE FROM ServiceItemProperties
|
|
WHERE ItemID = @ItemID
|
|
|
|
-- delete external IP addresses
|
|
EXEC dbo.DeleteItemIPAddresses @ActorID, @ItemID
|
|
|
|
-- delete item
|
|
DELETE FROM ServiceItems
|
|
WHERE ItemID = @ItemID
|
|
|
|
COMMIT TRAN
|
|
|
|
RETURN
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetOCSUsers]
|
|
(
|
|
@ItemID int,
|
|
@SortColumn nvarchar(40),
|
|
@SortDirection nvarchar(20),
|
|
@Name nvarchar(400),
|
|
@Email nvarchar(400),
|
|
@StartRow int,
|
|
@Count int
|
|
)
|
|
AS
|
|
|
|
IF (@Name IS NULL)
|
|
BEGIN
|
|
SET @Name = '%'
|
|
END
|
|
|
|
IF (@Email IS NULL)
|
|
BEGIN
|
|
SET @Email = '%'
|
|
END
|
|
|
|
CREATE TABLE #TempOCSUsers
|
|
(
|
|
[ID] [int] IDENTITY(1,1) NOT NULL,
|
|
[AccountID] [int],
|
|
[ItemID] [int] NOT NULL,
|
|
[AccountName] [nvarchar](300) NOT NULL,
|
|
[DisplayName] [nvarchar](300) NOT NULL,
|
|
[InstanceID] [nvarchar](50) NOT NULL,
|
|
[PrimaryEmailAddress] [nvarchar](300) NULL,
|
|
[SamAccountName] [nvarchar](100) NULL
|
|
)
|
|
|
|
|
|
IF (@SortColumn = 'DisplayName')
|
|
BEGIN
|
|
INSERT INTO
|
|
#TempOCSUsers
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ou.InstanceID,
|
|
ea.PrimaryEmailAddress,
|
|
ea.SamAccountName
|
|
FROM
|
|
ExchangeAccounts ea
|
|
INNER JOIN
|
|
OCSUsers ou
|
|
ON
|
|
ea.AccountID = ou.AccountID
|
|
WHERE
|
|
ea.ItemID = @ItemID AND ea.DisplayName LIKE @Name AND ea.PrimaryEmailAddress LIKE @Email
|
|
ORDER BY
|
|
ea.DisplayName
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO
|
|
#TempOCSUsers
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ou.InstanceID,
|
|
ea.PrimaryEmailAddress,
|
|
ea.SamAccountName
|
|
FROM
|
|
ExchangeAccounts ea
|
|
INNER JOIN
|
|
OCSUsers ou
|
|
ON
|
|
ea.AccountID = ou.AccountID
|
|
WHERE
|
|
ea.ItemID = @ItemID AND ea.DisplayName LIKE @Name AND ea.PrimaryEmailAddress LIKE @Email
|
|
ORDER BY
|
|
ea.PrimaryEmailAddress
|
|
END
|
|
|
|
DECLARE @RetCount int
|
|
SELECT @RetCount = COUNT(ID) FROM #TempOCSUsers
|
|
|
|
IF (@SortDirection = 'ASC')
|
|
BEGIN
|
|
SELECT * FROM #TempOCSUsers
|
|
WHERE ID > @StartRow AND ID <= (@StartRow + @Count)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF (@SortColumn = 'DisplayName')
|
|
BEGIN
|
|
SELECT * FROM #TempOCSUsers
|
|
WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY DisplayName DESC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT * FROM #TempOCSUsers
|
|
WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC
|
|
END
|
|
|
|
END
|
|
|
|
|
|
DROP TABLE #TempOCSUsers
|
|
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[GetCRMUsers]
|
|
(
|
|
@ItemID int,
|
|
@SortColumn nvarchar(40),
|
|
@SortDirection nvarchar(20),
|
|
@Name nvarchar(400),
|
|
@Email nvarchar(400),
|
|
@StartRow int,
|
|
@Count int
|
|
)
|
|
AS
|
|
|
|
IF (@Name IS NULL)
|
|
BEGIN
|
|
SET @Name = '%'
|
|
END
|
|
|
|
IF (@Email IS NULL)
|
|
BEGIN
|
|
SET @Email = '%'
|
|
END
|
|
|
|
CREATE TABLE #TempCRMUsers
|
|
(
|
|
[ID] [int] IDENTITY(1,1) NOT NULL,
|
|
[AccountID] [int],
|
|
[ItemID] [int] NOT NULL,
|
|
[AccountName] [nvarchar](300) NOT NULL,
|
|
[DisplayName] [nvarchar](300) NOT NULL,
|
|
[PrimaryEmailAddress] [nvarchar](300) NULL,
|
|
[SamAccountName] [nvarchar](100) NULL
|
|
)
|
|
|
|
|
|
IF (@SortColumn = 'DisplayName')
|
|
BEGIN
|
|
INSERT INTO
|
|
#TempCRMUsers
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ea.PrimaryEmailAddress,
|
|
ea.SamAccountName
|
|
FROM
|
|
ExchangeAccounts ea
|
|
INNER JOIN
|
|
CRMUsers cu
|
|
ON
|
|
ea.AccountID = cu.AccountID
|
|
WHERE
|
|
ea.ItemID = @ItemID AND ea.DisplayName LIKE @Name AND ea.PrimaryEmailAddress LIKE @Email
|
|
ORDER BY
|
|
ea.DisplayName
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO
|
|
#TempCRMUsers
|
|
SELECT
|
|
ea.AccountID,
|
|
ea.ItemID,
|
|
ea.AccountName,
|
|
ea.DisplayName,
|
|
ea.PrimaryEmailAddress,
|
|
ea.SamAccountName
|
|
FROM
|
|
ExchangeAccounts ea
|
|
INNER JOIN
|
|
CRMUsers cu
|
|
ON
|
|
ea.AccountID = cu.AccountID
|
|
WHERE
|
|
ea.ItemID = @ItemID AND ea.DisplayName LIKE @Name AND ea.PrimaryEmailAddress LIKE @Email
|
|
ORDER BY
|
|
ea.PrimaryEmailAddress
|
|
END
|
|
|
|
DECLARE @RetCount int
|
|
SELECT @RetCount = COUNT(ID) FROM #TempCRMUsers
|
|
|
|
IF (@SortDirection = 'ASC')
|
|
BEGIN
|
|
SELECT * FROM #TempCRMUsers
|
|
WHERE ID > @StartRow AND ID <= (@StartRow + @Count)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
IF (@SortColumn = 'DisplayName')
|
|
BEGIN
|
|
SELECT * FROM #TempCRMUsers
|
|
WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY DisplayName DESC
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT * FROM #TempCRMUsers
|
|
WHERE ID >@RetCount - @Count - @StartRow AND ID <= @RetCount- @StartRow ORDER BY PrimaryEmailAddress DESC
|
|
END
|
|
|
|
END
|
|
|
|
|
|
|
|
DROP TABLE #TempCRMUsers
|
|
GO
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetDomainsByZoneID')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetDomainsByZoneID]
|
|
(
|
|
@ActorID int,
|
|
@ZoneID int
|
|
)
|
|
AS
|
|
|
|
SELECT
|
|
D.DomainID,
|
|
D.PackageID,
|
|
D.ZoneItemID,
|
|
D.DomainName,
|
|
D.HostingAllowed,
|
|
ISNULL(D.WebSiteID, 0) AS WebSiteID,
|
|
WS.ItemName AS WebSiteName,
|
|
ISNULL(D.MailDomainID, 0) AS MailDomainID,
|
|
MD.ItemName AS MailDomainName,
|
|
Z.ItemName AS ZoneName,
|
|
D.IsSubDomain,
|
|
D.IsInstantAlias,
|
|
D.IsDomainPointer
|
|
FROM Domains AS D
|
|
INNER JOIN Packages AS P ON D.PackageID = P.PackageID
|
|
LEFT OUTER JOIN ServiceItems AS WS ON D.WebSiteID = WS.ItemID
|
|
LEFT OUTER JOIN ServiceItems AS MD ON D.MailDomainID = MD.ItemID
|
|
LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
|
WHERE
|
|
D.ZoneItemID = @ZoneID
|
|
AND dbo.CheckActorPackageRights(@ActorID, P.PackageID) = 1
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****** Object: Table [dbo].[ExchangeOrganizations] Extend Exchange Accounts with ExchangeMailboxPlanID ******/
|
|
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='ExchangeOrganizations' AND COLS.name='ExchangeMailboxPlanID')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[ExchangeOrganizations] ADD [ExchangeMailboxPlanID] [int]
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
/****** Object: Table [dbo].[ExchangeOrganizations] Extend Exchange Accounts with LyncUserPlanID ******/
|
|
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='ExchangeOrganizations' AND COLS.name='LyncUserPlanID')
|
|
BEGIN
|
|
ALTER TABLE [dbo].[ExchangeOrganizations] ADD [LyncUserPlanID] [int]
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[SetOrganizationDefaultLyncUserPlan]
|
|
(
|
|
@ItemID int,
|
|
@LyncUserPlanId int
|
|
)
|
|
AS
|
|
|
|
UPDATE ExchangeOrganizations SET
|
|
LyncUserPlanID = @LyncUserPlanId
|
|
WHERE
|
|
ItemID = @ItemID
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[SetOrganizationDefaultExchangeMailboxPlan]
|
|
(
|
|
@ItemID int,
|
|
@MailboxPlanId int
|
|
)
|
|
AS
|
|
|
|
UPDATE ExchangeOrganizations SET
|
|
ExchangeMailboxPlanID = @MailboxPlanId
|
|
WHERE
|
|
ItemID = @ItemID
|
|
|
|
RETURN
|
|
GO
|
|
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type_desc = N'SQL_STORED_PROCEDURE' AND name = N'GetExchangeOrganization')
|
|
BEGIN
|
|
EXEC sp_executesql N'CREATE PROCEDURE [dbo].[GetExchangeOrganization]
|
|
(
|
|
@ItemID int
|
|
)
|
|
AS
|
|
SELECT
|
|
ItemID,
|
|
ExchangeMailboxPlanID,
|
|
LyncUserPlanID
|
|
FROM
|
|
ExchangeOrganizations
|
|
WHERE
|
|
ItemID = @ItemID
|
|
RETURN'
|
|
END
|
|
GO
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN TRAN
|
|
CREATE TABLE #TempDomains
|
|
(
|
|
[PackageID] [int] NOT NULL,
|
|
[ZoneItemID] [int] NULL,
|
|
[DomainName] [nvarchar](100) COLLATE Latin1_General_CI_AS NOT NULL,
|
|
[HostingAllowed] [bit] NOT NULL,
|
|
[WebSiteID] [int] NULL,
|
|
[IsSubDomain] [bit] NOT NULL,
|
|
[IsInstantAlias] [bit] NOT NULL,
|
|
[IsDomainPointer] [bit] NOT NULL,
|
|
)
|
|
|
|
|
|
INSERT INTO #TempDomains SELECT PackageID,
|
|
ZoneItemID,
|
|
DomainName,
|
|
HostingAllowed,
|
|
WebSiteID,
|
|
IsSubDomain,
|
|
IsInstantAlias,
|
|
IsDomainPointer FROM Domains WHERE IsDomainPointer = 1
|
|
|
|
|
|
UPDATE Domains SET IsDomainPointer=0,WebSiteID=NULL WHERE IsDomainPointer = 1 AND DomainName IN (SELECT DomainName FROM Domains AS D WHERE
|
|
D.DomainName = (SELECT DISTINCT ItemName FROM ServiceItems WHERE ItemID = D.ZoneItemId )
|
|
Group BY DOmainName
|
|
HAVING (COUNT(DomainName) = 1))
|
|
|
|
|
|
INSERT INTO Domains SELECT PackageID,
|
|
ZoneItemID,
|
|
DomainName,
|
|
HostingAllowed,
|
|
WebSiteID,
|
|
NULL,
|
|
IsSubDomain,
|
|
IsInstantAlias,
|
|
IsDomainPointer
|
|
FROM #TempDomains As T WHERE DomainName IN (SELECT DomainName FROM Domains AS D WHERE
|
|
D.DomainName = (SELECT DISTINCT ItemName FROM ServiceItems WHERE ItemID = D.ZoneItemId )
|
|
Group BY DOmainName
|
|
HAVING (COUNT(DomainName) = 1))
|
|
|
|
DROP TABLE #TempDomains
|
|
COMMIT TRAN
|
|
GO
|
|
|
|
|
|
|
|
IF NOT EXISTS (SELECT * FROM [dbo].[Quotas] WHERE [QuotaName] = 'Web.EnableHostNameSupport')
|
|
BEGIN
|
|
INSERT [dbo].[Quotas] ([QuotaID], [GroupID], [QuotaOrder], [QuotaName], [QuotaDescription], [QuotaTypeID], [ServiceQuota], [ItemTypeID]) VALUES (334, 2, 23, N'Web.EnableHostNameSupport', N'Enable Hostname Support', 1, 0, NULL)
|
|
END
|
|
GO
|
|
|