DECLARE @PortalId int DECLARE @TabId int DECLARE @TabOrder int DECLARE @IconFile varchar(50) DECLARE @TabViewPermissionId int DECLARE @TabEditPermissionId int DECLARE @AdminRoleId int DECLARE @AdminTabId int DECLARE @DesktopModuleId int DECLARE @ModuleDefId int DECLARE @ModuleId int DECLARE @ModuleViewPermissionId int DECLARE @ModuleEditPermissionId int -- Add the Admin Control as a module INSERT INTO {databaseOwner}[{objectQualifier}DesktopModules] ([FriendlyName], [Description], [Version], [IsPremium], [IsAdmin], [BusinessControllerClass], [FolderName], [ModuleName], [SupportedFeatures], [CompatibleVersions]) VALUES (N'PageBlaster Admin', 'Administrators can manage the PageBlaster configuration for their portal.', NULL, 0, 1, NULL,'PageBlaster Admin','PageBlaster', 0, NULL) SET @DesktopModuleId = SCOPE_IDENTITY() -- Add a Module Definition INSERT INTO {databaseOwner}[{objectQualifier}ModuleDefinitions] ([FriendlyName], [DesktopModuleID], [DefaultCacheTime]) VALUES (N'PageBlaster Admin', @DesktopModuleId, 0) SET @ModuleDefId = SCOPE_IDENTITY() --add the PageBlaster Admin Control INSERT INTO {databaseOwner}[{objectQualifier}ModuleControls] ([ModuleDefID], [ControlKey], [ControlTitle], [ControlSrc], [IconFile], [ControlType], [ViewOrder], [HelpUrl]) VALUES (@ModuleDefId , NULL, NULL, 'DesktopModules/Snapsis/PageBlaster/PageBlasterAdminConfig.ascx', NULL, 0, NULL, 'http://www.snapsis.com/support.aspx') --Insert into Modules table INSERT INTO {databaseOwner}[{objectQualifier}Modules] ([ModuleDefID], [ModuleTitle], [AllTabs], [IsDeleted], [InheritViewPermissions], [Header], [Footer], [StartDate], [EndDate], [PortalID]) VALUES (@ModuleDefId ,'PageBlaster Admin', 0, 0, 1, NULL, NULL, NULL, NULL, NULL) SET @ModuleId = SCOPE_IDENTITY() DECLARE portal_cursor cursor FOR SELECT PortalId FROM {databaseOwner}{objectQualifier}Portals OPEN portal_cursor FETCH NEXT FROM portal_cursor INTO @PortalId WHILE @@FETCH_STATUS = 0 BEGIN IF NOT EXISTS (SELECT TabID FROM {databaseOwner}{objectQualifier}Tabs WHERE PortalId=@PortalId and TabName='PageBlaster' ) BEGIN --get the parent admin tabid SELECT @AdminTabId = Tabid FROM {databaseOwner}{objectQualifier}Tabs WHERE PortalId = @PortalId AND TabName='Admin' --get the Tab Order SELECT @TabOrder = Max(TabOrder) + 2 FROM {databaseOwner}{objectQualifier}Tabs WHERE PortalId = @PortalId --create a new Tab for the PageBlaster Admin Control INSERT INTO {databaseOwner}{objectQualifier}Tabs (PortalId,TabName,IsVisible,DisableLink,Level,TabOrder, ParentId,IconFile,Title,Description,KeyWords, IsDeleted,Url,SkinSrc,ContainerSrc,TabPath, StartDate,EndDate) VALUES (@PortalId,'PageBlaster',1,0,1,@TabOrder, @AdminTabId,'../DesktopModules/Snapsis/PageBlaster/Images/PBICON16.gif','PageBlaster','','',0, '',NULL,NULL,'//Admin//PageBlaster', NULL,NULL ) SET @TabId = SCOPE_IDENTITY() --Put a PageBlaster Module on the tab INSERT INTO {databaseOwner}[{objectQualifier}TabModules] ([TabID], [ModuleID], [PaneName], [ModuleOrder], [CacheTime], [Alignment], [Color], [Border], [IconFile], [Visibility], [ContainerSrc], [DisplayTitle], [DisplayPrint], [DisplaySyndicate]) VALUES (@TabId, @ModuleId,'ContentPane', 0, 0, NULL,'','','~/DesktopModules/Snapsis/PageBlaster/Images/PBICON32.gif', 0, NULL, 1, 0, 0) --get the administrator roleid SELECT DISTINCT @AdminRoleId = RoleId FROM {databaseOwner}{objectQualifier}Roles WHERE RoleName = 'Administrators' AND PortalId = @PortalId --Get the System Permission IDs for the Tab and module SELECT DISTINCT @TabViewPermissionId = PermissionId FROM {databaseOwner}{objectQualifier}Permission WHERE PermissionCode = 'SYSTEM_TAB' AND PermissionKey = 'VIEW' SELECT DISTINCT @TabEditPermissionId = PermissionId FROM {databaseOwner}{objectQualifier}Permission WHERE PermissionCode = 'SYSTEM_TAB' AND PermissionKey = 'EDIT' SELECT DISTINCT @ModuleViewPermissionId = PermissionId FROM {databaseOwner}{objectQualifier}Permission WHERE PermissionCode = 'SYSTEM_MODULE_DEFINITION' AND PermissionKey = 'VIEW' SELECT DISTINCT @ModuleEditPermissionId = PermissionId FROM {databaseOwner}{objectQualifier}Permission WHERE PermissionCode = 'SYSTEM_MODULE_DEFINITION' AND PermissionKey = 'EDIT' --Add permissions for the Tab INSERT INTO {databaseOwner}{objectQualifier}TabPermission (TabId,PermissionId,RoleId,AllowAccess) VALUES (@TabId,@TabViewPermissionId,@AdminRoleId,1) INSERT INTO {databaseOwner}{objectQualifier}TabPermission (TabId,PermissionId,RoleId,AllowAccess) VALUES (@TabId,@TabEditPermissionId,@AdminRoleId,1) --Add permissions for the Module INSERT INTO {databaseOwner}{objectQualifier}ModulePermission (ModuleId,PermissionId,RoleId,AllowAccess) VALUES (@ModuleId,@ModuleViewPermissionId,@AdminRoleId,1) INSERT INTO {databaseOwner}{objectQualifier}ModulePermission (ModuleId,PermissionId,RoleId,AllowAccess) VALUES (@ModuleId,@ModuleEditPermissionId,@AdminRoleId,1) END FETCH NEXT FROM portal_cursor INTO @PortalId END CLOSE portal_cursor DEALLOCATE portal_cursor