public static List<ListItem> GetModuleList(string ModuleName) { List<ListItem> lst = new List<ListItem>(); PortalSettings portalSettings = PortalController.GetCurrentPortalSettings(); List<TabInfo> objTabs = TabController.GetPortalTabs(portalSettings.PortalId, -1, true, true); var objTabController = new TabController(); var objDesktopModuleController = new DesktopModuleController(); var objDesktopModuleInfo = objDesktopModuleController.GetDesktopModuleByModuleName(ModuleName); if (objDesktopModuleInfo == null) { objDesktopModuleInfo = objDesktopModuleController.GetDesktopModuleByName(ModuleName); if (objDesktopModuleInfo == null) { return lst; } } foreach (TabInfo objTab in objTabs.Where(tab => !tab.IsDeleted)) { ModuleController objModules = new ModuleController(); foreach (KeyValuePair<int, ModuleInfo> pair in objModules.GetTabModules(objTab.TabID)) { ModuleInfo objModule = pair.Value; if (objModule.IsDeleted) { continue; } if (objModule.DesktopModuleID != objDesktopModuleInfo.DesktopModuleID) { continue; } string strPath = objTab.TabName; TabInfo objTabSelected = objTab; while (objTabSelected.ParentId != Null.NullInteger) { objTabSelected = objTabController.GetTab(objTabSelected.ParentId, objTab.PortalID, false); if (objTabSelected == null) { break; } strPath = string.Format("{0} -> {1}", objTabSelected.TabName, strPath); } var objListItem = new ListItem { Value = objModule.ModuleID.ToString(), Text = string.Format("{0} -> {1}", strPath, objModule.ModuleTitle) }; lst.Add(objListItem); } } return lst; }
/// <summary> /// Fills the module list. /// </summary> private void FillModuleList() { PortalSettings portalSettings = PortalController.GetCurrentPortalSettings(); List<TabInfo> objTabs = TabController.GetPortalTabs(portalSettings.PortalId, -1, true, true); var objTabController = new TabController(); var objDesktopModuleController = new DesktopModuleController(); var objDesktopModuleInfo = objDesktopModuleController.GetDesktopModuleByModuleName("DnnForge - NewsArticles"); if (objDesktopModuleInfo == null) { objDesktopModuleInfo = objDesktopModuleController.GetDesktopModuleByName("DnnForge - NewsArticles"); if (objDesktopModuleInfo == null) { return; } } foreach (TabInfo objTab in objTabs.Where(tab => !tab.IsDeleted)) { ModuleController objModules = new ModuleController(); foreach (KeyValuePair<int, ModuleInfo> pair in objModules.GetTabModules(objTab.TabID)) { ModuleInfo objModule = pair.Value; if (objModule.IsDeleted) { continue; } if (objModule.DesktopModuleID != objDesktopModuleInfo.DesktopModuleID) { continue; } string strPath = objTab.TabName; TabInfo objTabSelected = objTab; while (objTabSelected.ParentId != Null.NullInteger) { objTabSelected = objTabController.GetTab(objTabSelected.ParentId, objTab.PortalID, false); if (objTabSelected == null) { break; } strPath = string.Format("{0} -> {1}", objTabSelected.TabName, strPath); } var objListItem = new ListItem { Value = string.Format("{0}-{1}", objModule.TabID, objModule.ModuleID), Text = string.Format("Page: {0} -> Module Instance: {1}", strPath, objModule.ModuleTitle) }; ModuleListDropDown.Items.Add(objListItem); } } }
/// <summary> /// UpgradeApplication - This overload is used for general application upgrade operations. /// </summary> /// <remarks> /// Since it is not version specific and is invoked whenever the application is /// restarted, the operations must be re-executable. /// </remarks> private static string UpgradeApplication() { string strExceptions = ""; try { // remove the system message module from the admin tab // System Messages are now managed through Localization if (CoreModuleExists("System Messages")) { RemoveCoreModule("System Messages", "Admin", "Site Settings", false); } // add the log viewer module to the admin tab int moduleDefId; if (CoreModuleExists("Log Viewer") == false) { moduleDefId = AddModuleDefinition("Log Viewer", "Allows you to view log entries for portal events.", "Log Viewer"); AddModuleControl(moduleDefId, "", "", "Admin/Logging/LogViewer.ascx", "", SecurityAccessLevel.Admin, 0); AddModuleControl(moduleDefId, "Edit", "Edit Log Settings", "Admin/Logging/EditLogTypes.ascx", "", SecurityAccessLevel.Host, 0); //Add the Module/Page to all configured portals AddAdminPages("Log Viewer", "icon_viewstats_16px.gif", true, moduleDefId, "Log Viewer", "icon_viewstats_16px.gif"); } if (CoreModuleExists("Authentication") == false) { moduleDefId = AddModuleDefinition("Windows Authentication", "Allows you to manage authentication settings for sites using Windows Authentication.", "Windows Authentication"); AddModuleControl(moduleDefId, "", "", "Admin/Security/AuthenticationSettings.ascx", "", SecurityAccessLevel.Admin, 0); //Add the Module/Page to all configured portals AddAdminPages("Authentication", "icon_authentication_16px.gif", true, moduleDefId, "Authentication", "icon_authentication_16px.gif"); } // add the schedule module to the host tab TabInfo newPage; if (CoreModuleExists("Schedule") == false) { moduleDefId = AddModuleDefinition("Schedule", "Allows you to schedule tasks to be run at specified intervals.", "Schedule"); AddModuleControl(moduleDefId, "", "", "Admin/Scheduling/ViewSchedule.ascx", "", SecurityAccessLevel.Admin, 0); AddModuleControl(moduleDefId, "Edit", "Edit Schedule", "Admin/Scheduling/EditSchedule.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "History", "Schedule History", "Admin/Scheduling/ViewScheduleHistory.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "Status", "Schedule Status", "Admin/Scheduling/ViewScheduleStatus.ascx", "", SecurityAccessLevel.Host, 0); //Create New Host Page (or get existing one) newPage = AddHostPage("Schedule", "icon_scheduler_16px.gif", true); //Add Module To Page AddModuleToPage(newPage, moduleDefId, "Schedule", "icon_scheduler_16px.gif"); } // add the skins module to the admin tab if (CoreModuleExists("Skins") == false) { moduleDefId = AddModuleDefinition("Skins", "Allows you to manage your skins and containers.", "Skins"); AddModuleControl(moduleDefId, "", "", "Admin/Skins/EditSkins.ascx", "", SecurityAccessLevel.Admin, 0); //Add the Module/Page to all configured portals AddAdminPages("Skins", "icon_skins_16px.gif", true, moduleDefId, "Skins", "icon_skins_16px.gif"); } // add the language editor module to the host tab if (!CoreModuleExists("Languages")) { moduleDefId = AddModuleDefinition("Languages", "The Super User can manage the suported languages installed on the system.", "Languages"); AddModuleControl(moduleDefId, "", "", "Admin/Localization/Languages.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "TimeZone", "TimeZone Editor", "Admin/Localization/TimeZoneEditor.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "Language", "Language Editor", "Admin/Localization/LanguageEditor.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "FullEditor", "Language Editor", "Admin/Localization/LanguageEditorExt.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "Verify", "Resource File Verifier", "Admin/Localization/ResourceVerifier.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "Package", "Create Language Pack", "Admin/Localization/LanguagePack.ascx", "", SecurityAccessLevel.Host, 0); //Create New Host Page (or get existing one) newPage = AddHostPage("Languages", "icon_language_16px.gif", true); //Add Module To Page AddModuleToPage(newPage, moduleDefId, "Languages", "icon_language_16px.gif"); moduleDefId = AddModuleDefinition("Custom Locales", "Administrator can manage custom translations for portal.", "Custom Portal Locale"); AddModuleControl(moduleDefId, "", "", "Admin/Localization/LanguageEditor.ascx", "", SecurityAccessLevel.Admin, 0); AddModuleControl(moduleDefId, "FullEditor", "Language Editor", "Admin/Localization/LanguageEditorExt.ascx", "", SecurityAccessLevel.Admin, 0); //Add the Module/Page to all configured portals AddAdminPages("Languages", "icon_language_16px.gif", true, moduleDefId, "Languages", "icon_language_16px.gif"); } // add the Search Admin module to the host tab if (CoreModuleExists("Search Admin") == false) { moduleDefId = AddModuleDefinition("Search Admin", "The Search Admininstrator provides the ability to manage search settings.", "Search Admin"); AddModuleControl(moduleDefId, "", "", "Admin/Search/SearchAdmin.ascx", "", SecurityAccessLevel.Host, 0); //Create New Host Page (or get existing one) newPage = AddHostPage("Search Admin", "icon_search_16px.gif", true); //Add Module To Page AddModuleToPage(newPage, moduleDefId, "Search Admin", "icon_search_16px.gif"); //Add the Module/Page to all configured portals //AddAdminPages("Search Admin", "icon_search_16px.gif", True, ModuleDefID, "Search Admin", "icon_search_16px.gif") } // add the Search Input module if (CoreModuleExists("Search Input") == false) { moduleDefId = AddModuleDefinition("Search Input", "The Search Input module provides the ability to submit a search to a given search results module.", "Search Input", false, false); AddModuleControl(moduleDefId, "", "", "DesktopModules/SearchInput/SearchInput.ascx", "", SecurityAccessLevel.Anonymous, 0); AddModuleControl(moduleDefId, "Settings", "Search Input Settings", "DesktopModules/SearchInput/Settings.ascx", "", SecurityAccessLevel.Edit, 0); } // add the Search Results module if (CoreModuleExists("Search Results") == false) { moduleDefId = AddModuleDefinition("Search Results", "The Search Reasults module provides the ability to display search results.", "Search Results", false, false); AddModuleControl(moduleDefId, "", "", "DesktopModules/SearchResults/SearchResults.ascx", "", SecurityAccessLevel.Anonymous, 0); AddModuleControl(moduleDefId, "Settings", "Search Results Settings", "DesktopModules/SearchResults/Settings.ascx", "", SecurityAccessLevel.Edit, 0); //Add the Search Module/Page to all configured portals AddSearchResults(moduleDefId); } // add the site wizard module to the admin tab if (CoreModuleExists("Site Wizard") == false) { moduleDefId = AddModuleDefinition("Site Wizard", "The Administrator can use this user-friendly wizard to set up the common features of the Portal/Site.", "Site Wizard"); AddModuleControl(moduleDefId, "", "", "Admin/Portal/Sitewizard.ascx", "", SecurityAccessLevel.Admin, 0); AddAdminPages("Site Wizard", "icon_sitesettings_16px.gif", true, moduleDefId, "Site Wizard", "icon_sitesettings_16px.gif"); } // add portal alias module if (CoreModuleExists("Portal Aliases") == false) { moduleDefId = AddModuleDefinition("Portal Aliases", "Allows you to view portal aliases.", "Portal Aliases"); AddModuleControl(moduleDefId, "", "", "Admin/Portal/PortalAlias.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(moduleDefId, "Edit", "Portal Aliases", "Admin/Portal/EditPortalAlias.ascx", "", SecurityAccessLevel.Host, 0); //Add the Module/Page to all configured portals (with InheritViewPermissions = False) AddAdminPages("Site Settings", "icon_sitesettings_16px.gif", false, moduleDefId, "Portal Aliases", "icon_sitesettings_16px.gif", false); } //add Lists module and tab if (HostTabExists("Lists") == false) { moduleDefId = AddModuleDefinition("Lists", "Allows you to edit common lists.", "Lists"); AddModuleControl(moduleDefId, "", "", "Admin/Lists/ListEditor.ascx", "", SecurityAccessLevel.Host, 0); //Create New Host Page (or get existing one) newPage = AddHostPage("Lists", "icon_lists_16px.gif", true); //Add Module To Page AddModuleToPage(newPage, moduleDefId, "Lists", "icon_lists_16px.gif"); } // add the feedback settings control if (CoreModuleExists("Feedback")) { moduleDefId = GetModuleDefinition("Feedback", "Feedback"); AddModuleControl(moduleDefId, "Settings", "Feedback Settings", "DesktopModules/Feedback/Settings.ascx", "", SecurityAccessLevel.Edit, 0); } if (HostTabExists("Superuser Accounts") == false) { //add SuperUser Accounts module and tab DesktopModuleController objDesktopModuleController = new DesktopModuleController(); DesktopModuleInfo objDesktopModuleInfo; objDesktopModuleInfo = objDesktopModuleController.GetDesktopModuleByName("User Accounts"); ModuleDefinitionController objModuleDefController = new ModuleDefinitionController(); moduleDefId = objModuleDefController.GetModuleDefinitionByName(objDesktopModuleInfo.DesktopModuleID, "User Accounts").ModuleDefID; //Create New Host Page (or get existing one) newPage = AddHostPage("Superuser Accounts", "icon_users_16px.gif", true); //Add Module To Page AddModuleToPage(newPage, moduleDefId, "Superuser Accounts", "icon_users_32px.gif"); } //add Skins module and tab to Host menu if (HostTabExists("Skins") == false) { DesktopModuleController objDesktopModuleController = new DesktopModuleController(); DesktopModuleInfo objDesktopModuleInfo; objDesktopModuleInfo = objDesktopModuleController.GetDesktopModuleByName("Skins"); ModuleDefinitionController objModuleDefController = new ModuleDefinitionController(); moduleDefId = objModuleDefController.GetModuleDefinitionByName(objDesktopModuleInfo.DesktopModuleID, "Skins").ModuleDefID; //Create New Host Page (or get existing one) newPage = AddHostPage("Skins", "icon_skins_16px.gif", true); //Add Module To Page AddModuleToPage(newPage, moduleDefId, "Skins", ""); } //Add Search Skin Object AddModuleControl(Null.NullInteger, "SEARCH", Null.NullString, "Admin/Skins/Search.ascx", "", SecurityAccessLevel.SkinObject, Null.NullInteger); //Add TreeView Skin Object AddModuleControl(Null.NullInteger, "TREEVIEW", Null.NullString, "Admin/Skins/TreeViewMenu.ascx", "", SecurityAccessLevel.SkinObject, Null.NullInteger); //Add Private Assembly Packager moduleDefId = GetModuleDefinition("Module Definitions", "Module Definitions"); AddModuleControl(moduleDefId, "Package", "Create Private Assembly", "Admin/ModuleDefinitions/PrivateAssembly.ascx", "icon_moduledefinitions_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger); //Add Edit Role Groups moduleDefId = GetModuleDefinition("Security Roles", "Security Roles"); AddModuleControl(moduleDefId, "EditGroup", "Edit Role Groups", "Admin/Security/EditGroups.ascx", "icon_securityroles_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger); AddModuleControl(moduleDefId, "UserSettings", "Manage User Settings", "Admin/Users/UserSettings.ascx", "~/images/settings.gif", SecurityAccessLevel.Edit, Null.NullInteger); //Add User Accounts Controls moduleDefId = GetModuleDefinition("User Accounts", "User Accounts"); AddModuleControl(moduleDefId, "ManageProfile", "Manage Profile Definition", "Admin/Users/ProfileDefinitions.ascx", "icon_users_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger); AddModuleControl(moduleDefId, "EditProfileProperty", "Edit Profile Property Definition", "Admin/Users/EditProfileDefinition.ascx", "icon_users_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger); AddModuleControl(moduleDefId, "UserSettings", "Manage User Settings", "Admin/Users/UserSettings.ascx", "~/images/settings.gif", SecurityAccessLevel.Edit, Null.NullInteger); AddModuleControl(Null.NullInteger, "Profile", "Profile", "Admin/Users/ManageUsers.ascx", "icon_users_32px.gif", SecurityAccessLevel.Anonymous, Null.NullInteger); AddModuleControl(Null.NullInteger, "SendPassword", "Send Password", "Admin/Security/SendPassword.ascx", "", SecurityAccessLevel.Anonymous, Null.NullInteger); AddModuleControl(Null.NullInteger, "ViewProfile", "View Profile", "Admin/Users/ViewProfile.ascx", "icon_users_32px.gif", SecurityAccessLevel.Anonymous, Null.NullInteger); //Update Child Portal subHost.aspx PortalAliasController objAliasController = new PortalAliasController(); ArrayList arrAliases = objAliasController.GetPortalAliasArrayByPortalID(Null.NullInteger); foreach (PortalAliasInfo objAlias in arrAliases) { //For the alias to be for a child it must be of the form ...../child if (objAlias.HTTPAlias.LastIndexOf("/") != -1) { string childPath = Globals.ApplicationMapPath + "\\" + objAlias.HTTPAlias.Substring(objAlias.HTTPAlias.LastIndexOf("/") + 1); if (Directory.Exists(childPath)) { //Folder exists App/child so upgrade //Rename existing file File.Copy(childPath + "\\" + Globals.glbDefaultPage, childPath + "\\old_" + Globals.glbDefaultPage, true); // create the subhost default.aspx file File.Copy(Globals.HostMapPath + "subhost.aspx", childPath + "\\" + Globals.glbDefaultPage, true); } } } } catch (Exception ex) { strExceptions += "Error: " + ex.Message + "\r\n"; try { Exceptions.Exceptions.LogException(ex); } catch { // ignore } } return strExceptions; }
/// <summary> /// GetModuleDefinition gets the Module Definition Id of a module /// </summary> /// <param name="DesktopModuleName">The Friendly Name of the Module to Add</param> /// <param name="ModuleDefinitionName">The Module Definition Name</param> /// <returns>The Module Definition Id of the Module (-1 if no module definition)</returns> private static int GetModuleDefinition(string DesktopModuleName, string ModuleDefinitionName) { DesktopModuleController objDesktopModules = new DesktopModuleController(); // get desktop module DesktopModuleInfo objDesktopModule = objDesktopModules.GetDesktopModuleByName(DesktopModuleName); if (objDesktopModule == null) { return -1; } ModuleDefinitionController objModuleDefinitions = new ModuleDefinitionController(); // get module definition ModuleDefinitionInfo objModuleDefinition = objModuleDefinitions.GetModuleDefinitionByName(objDesktopModule.DesktopModuleID, ModuleDefinitionName); if (objModuleDefinition == null) { return -1; } return objModuleDefinition.ModuleDefID; }
/// <summary> /// CoreModuleExists determines whether a Core Module exists on the system /// </summary> /// <remarks> /// </remarks> /// <param name="DesktopModuleName">The Friendly Name of the Module</param> /// <returns>True if the Module exists, otherwise False</returns> private static bool CoreModuleExists(string DesktopModuleName) { bool blnExists; DesktopModuleController objDesktopModules = new DesktopModuleController(); DesktopModuleInfo objDesktopModule = objDesktopModules.GetDesktopModuleByName(DesktopModuleName); if (objDesktopModule != null) { blnExists = true; } else { blnExists = false; } return blnExists; }
/// <summary> /// AddModuleDefinition adds a new Core Module Definition to the system /// </summary> /// <remarks> /// This overload allows the caller to determine whether the module has a controller /// class /// </remarks> /// <param name="DesktopModuleName">The Friendly Name of the Module to Add</param> /// <param name="Description">Description of the Module</param> /// <param name="ModuleDefinitionName">The Module Definition Name</param> /// <param name="Premium">A flag representing whether the module is a Premium module</param> /// <param name="Admin">A flag representing whether the module is an Admin module</param> /// <param name="Controller">The Controller Class string</param> /// <param name="Version">The Module Version</param> /// <returns>The Module Definition Id of the new Module</returns> /// <history> /// [cnurse] 10/14/2004 documented /// [cnurse] 11/11/2004 removed addition of Module Control (now in AddMOduleControl) /// </history> private static int AddModuleDefinition(string DesktopModuleName, string Description, string ModuleDefinitionName, bool Premium, bool Admin, string Controller, string Version) { DesktopModuleController objDesktopModules = new DesktopModuleController(); // check if desktop module exists DesktopModuleInfo objDesktopModule = objDesktopModules.GetDesktopModuleByName(DesktopModuleName); if (objDesktopModule == null) { objDesktopModule = new DesktopModuleInfo(); objDesktopModule.DesktopModuleID = Null.NullInteger; objDesktopModule.FriendlyName = DesktopModuleName; objDesktopModule.FolderName = DesktopModuleName; objDesktopModule.ModuleName = DesktopModuleName; objDesktopModule.Description = Description; objDesktopModule.Version = Version; objDesktopModule.IsPremium = Premium; objDesktopModule.IsAdmin = Admin; objDesktopModule.BusinessControllerClass = Controller; objDesktopModule.DesktopModuleID = objDesktopModules.AddDesktopModule(objDesktopModule); } ModuleDefinitionController objModuleDefinitions = new ModuleDefinitionController(); // check if module definition exists ModuleDefinitionInfo objModuleDefinition = objModuleDefinitions.GetModuleDefinitionByName(objDesktopModule.DesktopModuleID, ModuleDefinitionName); if (objModuleDefinition == null) { objModuleDefinition = new ModuleDefinitionInfo(); objModuleDefinition.ModuleDefID = Null.NullInteger; objModuleDefinition.DesktopModuleID = objDesktopModule.DesktopModuleID; objModuleDefinition.FriendlyName = ModuleDefinitionName; objModuleDefinition.ModuleDefID = objModuleDefinitions.AddModuleDefinition(objModuleDefinition); } return objModuleDefinition.ModuleDefID; }