public static string GetPortalAliasByTab(int TabID, string PortalAlias) { string retValue = Null.NullString; int intPortalId = -2; TabController objTabs = new TabController(); TabInfo objTab = objTabs.GetTab(TabID, Null.NullInteger, false); if (objTab != null) { if (!objTab.IsDeleted) { intPortalId = objTab.PortalID; } } switch (intPortalId) { case -2: break; case -1: retValue = PortalAlias; break; default: retValue = GetPortalAliasByPortal(intPortalId, PortalAlias); break; } return retValue; }
private static bool CanAddContentToPage(ModuleInfo objModule) { bool canManage = Null.NullBoolean; TabInfo objTab = new TabController().GetTab(objModule.TabID, objModule.PortalID, false); canManage = TabPermissionController.CanAddContentToPage(objTab); return canManage; }
/// <summary> /// Includes page urls on the sitemap /// </summary> /// <remarks> /// Pages that are included: /// - are not deleted /// - are not disabled /// - are normal pages (not links,...) /// - are visible (based on date and permissions) /// </remarks> public override List<SitemapUrl> GetUrls(int portalId, PortalSettings ps, string version) { TabController objTabs = new TabController(); SitemapUrl pageUrl = null; List<SitemapUrl> urls = new List<SitemapUrl>(); useLevelBasedPagePriority = bool.Parse(PortalController.GetPortalSetting("SitemapLevelMode", portalId, "False")); minPagePriority = float.Parse(PortalController.GetPortalSetting("SitemapMinPriority", portalId, "0.1")); includeHiddenPages = bool.Parse(PortalController.GetPortalSetting("SitemapIncludeHidden", portalId, "True")); this.ps = ps; foreach (TabInfo objTab in objTabs.GetTabsByPortal(portalId).Values) { if (!objTab.IsDeleted && !objTab.DisableLink && objTab.TabType == TabType.Normal && (Null.IsNull(objTab.StartDate) || objTab.StartDate < DateTime.Now) && (Null.IsNull(objTab.EndDate) || objTab.EndDate > DateTime.Now) && IsTabPublic(objTab.TabPermissions)) { if (includeHiddenPages | objTab.IsVisible) { foreach (string languageCode in CommonLibrary.Services.Localization.Localization.GetLocales(portalId).Keys) { pageUrl = GetPageUrl(objTab, languageCode); urls.Add(pageUrl); } } } } return urls; }
public static bool CanViewModule(ModuleInfo objModule) { bool canView = Null.NullBoolean; if (objModule.InheritViewPermissions) { TabInfo objTab = new TabController().GetTab(objModule.TabID, objModule.PortalID, false); canView = TabPermissionController.CanViewPage(objTab); } else { canView = provider.CanViewModule(objModule); } return canView; }
public void ImportModule(int ModuleID, string Content, string Version, int UserId) { XmlNode xmlSettings = Globals.GetContent(Content, "ConsoleSettings"); ModuleController moduleCtrl = new ModuleController(); foreach (string key in _SettingKeys) { XmlNode node = xmlSettings.SelectSingleNode(key); bool doUpdate = true; string value = string.Empty; try { if ((node == null)) { doUpdate = false; } else { value = node.InnerText; switch (key) { case "ParentTabID": int parentTabID = int.Parse(value); TabInfo tabInfo = new TabController().GetTab(parentTabID, PortalController.GetCurrentPortalSettings().PortalId, false); break; case "DefaultSize": doUpdate = GetSizeValues().Contains(value); break; case "DefaultView": doUpdate = GetViewValues().Contains(value); break; case "AllowSizeChange": case "AllowViewChange": case "ShowTooltip": bool.Parse(value); break; } } } catch (Exception ex) { ex.ToString(); Exceptions.LogException(new Exception("Unable to import value [" + key + "] for Console Module moduleid [" + ModuleID.ToString() + "]")); doUpdate = false; } if ((doUpdate)) { moduleCtrl.UpdateModuleSetting(ModuleID, key, value); } } }
private void LoadTabList2DDL() { ddlTabList.Items.Clear(); TabController tab_obj = new TabController(); DataSet ds = tab_obj.GetActiveList(); //select all the nodes from DB ddlTabList.DataSource = ds.Tables[0]; ddlTabList.DataTextField = "TabName"; ddlTabList.DataValueField = "TabId"; ddlTabList.DataBind(); ddlTabList.Items.Insert(0, new ListItem("- Chọn -", "0")); ddlTabList.SelectedIndex = 1; ddlTabList.Enabled = false; }
public static TabInfo MessagingPage(string ModuleFriendlyName) { if (((_MessagingPage != null))) return _MessagingPage; ModuleController mc = new ModuleController(); ModuleInfo md = mc.GetModuleByDefinition(PortalSettings.Current.PortalId, ModuleFriendlyName); if ((md != null)) { ArrayList a = mc.GetModuleTabs(md.ModuleID); if ((a != null)) { ModuleInfo mi = a[0] as ModuleInfo; if ((mi != null)) { TabController tc = new TabController(); _MessagingPage = tc.GetTab(mi.TabID, PortalSettings.Current.PortalId, false); } } } return _MessagingPage; }
private static void UpgradeToVersion_540() { XmlDocument configDoc = Config.Load(); XPathNavigator configNavigator = configDoc.CreateNavigator().SelectSingleNode("/configuration/system.web.extensions"); if (configNavigator == null) { //attempt to remove "System.Web.Extensions" configuration section string upgradeFile = string.Format("{0}\\Config\\SystemWebExtensions.config", Globals.InstallMapPath); string strMessage = UpdateConfig(upgradeFile, AppContext.Current.Application.Version, "Remove System Web Extensions"); if (string.IsNullOrEmpty(strMessage)) { //Log Upgrade Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController(); objEventLog.AddLog("UpgradeConfig", "Remove System Web Extensions", PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, Log.EventLog.EventLogController.EventLogType.HOST_ALERT); } else { //Log Failed Upgrade Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController(); objEventLog.AddLog("UpgradeConfig", string.Format("Remove System Web Extensions failed. Error reported during attempt to update:{0}", strMessage), PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, Log.EventLog.EventLogController.EventLogType.HOST_ALERT); } } //Add Styles Skin Object AddSkinControl("TAGS", "DotNetNuke.TagsSkinObject", "Admin/Skins/Tags.ascx"); //Add Content List module definition int moduleDefID = AddModuleDefinition("ContentList", "This module displays a list of content by tag.", "Content List"); AddModuleControl(moduleDefID, "", "", "DesktopModules/Admin/ContentList/ContentList.ascx", "", SecurityAccessLevel.View, 0); //Update registration page PortalController objPortals = new PortalController(); ArrayList arrPortals = objPortals.GetPortals(); foreach (PortalInfo objPortal in arrPortals) { objPortal.RegisterTabId = objPortal.UserTabId; objPortals.UpdatePortalInfo(objPortal); //Add ContentList to Search Results Page TabController tabController = new TabController(); int tabId = TabController.GetTabByTabPath(objPortal.PortalID, "//SearchResults"); TabInfo searchPage = tabController.GetTab(tabId, objPortal.PortalID, false); AddModuleToPage(searchPage, moduleDefID, "Results", ""); } }
private void PopulateNavigationSteps(int TabId) { TabController entity = new TabController(); DataTable dt = entity.GetAllParentNodesOfSelectedNode(TabId,1); string strHTML = string.Empty, Title = string.Empty, Liz = string.Empty, Link = string.Empty; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { Title = dt.Rows[i]["Title"].ToString(); Link = "/index/" + dt.Rows[i]["TabId"].ToString(); Liz += "<li><a href=\"" + Link + "\" title=\"" + Title + "\" target='_self'><span>" + Title + "</span></a>"; } } strHTML = "<ul><li class=\"first\"><a href=\"#\">Home</a></li>" + Liz +"</ul>"; Literal_Title.Text = strHTML; }
public static int AddModuleToPage(string tabPath, int portalId, int ModuleDefId, string ModuleTitle, string ModuleIconFile, bool InheritPermissions) { TabController objTabController = new TabController(); int moduleId = Null.NullInteger; int tabID = TabController.GetTabByTabPath(portalId, tabPath); if ((tabID != Null.NullInteger)) { TabInfo tab = objTabController.GetTab(tabID, portalId, true); if ((tab != null)) { moduleId = AddModuleToPage(tab, ModuleDefId, ModuleTitle, ModuleIconFile, InheritPermissions); } } return moduleId; }
private void ShowTreeNodes_TabList() { int PortalId = Convert.ToInt32(ddlPortalList.SelectedValue); bool IsSecure = chkIsSecure.Checked; TabController tabs_obj = new TabController(); DataTable dt = tabs_obj.GetActiveListByPortalIdIsSecure(PortalId, IsSecure); ddlParentTab.Items.Clear(); ddlParentTab.DataSource = dt; RecursiveFillTree(dt, 0); ddlParentTab.Items.Insert(0, new ListItem("- Root -", "0")); //DROPDOWNLIST ddlParentTab.SelectedIndex = 0; }
private static void UpgradeToVersion_530() { int ModuleDefID = 0; //update languages module ModuleDefID = GetModuleDefinition("Languages", "Languages"); RemoveModuleControl(ModuleDefID, ""); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Languages/languageEnabler.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.View, 0, "", true); AddModuleControl(ModuleDefID, "Editor", "", "DesktopModules/Admin/Languages/languageeditor.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.View, 0); //Add new View Profile module ModuleDefID = AddModuleDefinition("ViewProfile", "", "ViewProfile", false, false); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/ViewProfile/ViewProfile.ascx", "~/images/icon_profile_32px.gif", SecurityAccessLevel.View, 0); AddModuleControl(ModuleDefID, "Settings", "Settings", "DesktopModules/Admin/ViewProfile/Settings.ascx", "~/images/icon_profile_32px.gif", SecurityAccessLevel.Edit, 0); //Add new Sitemap settings module ModuleDefID = AddModuleDefinition("Sitemap", "", "Sitemap", false, false); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Sitemap/SitemapSettings.ascx", "~/images/icon_analytics_32px.gif", SecurityAccessLevel.View, 0); AddAdminPages("Search Engine Sitemap", "Configure the sitemap for submission to common search engines.", "~/images/icon_analytics_16px.gif", "~/images/icon_analytics_32px.gif", true, ModuleDefID, "Search Engine Sitemap", "~/images/icon_analytics_32px.gif"); //Add new Photo Profile field to Host ListController objListController = new ListController(); ListEntryInfoCollection dataTypes = objListController.GetListEntryInfoCollection("DataType"); ProfilePropertyDefinitionCollection properties = ProfileController.GetPropertyDefinitionsByPortal(Null.NullInteger); ProfileController.AddDefaultDefinition(Null.NullInteger, "Preferences", "Photo", "Image", 0, properties.Count * 2 + 2, dataTypes); string strHostTemplateFile = string.Format("{0}Templates\\UserProfile.page.template", Globals.HostMapPath); if (File.Exists(strHostTemplateFile)) { TabController tabController = new TabController(); PortalController objPortals = new PortalController(); ArrayList arrPortals = objPortals.GetPortals(); foreach (PortalInfo objPortal in arrPortals) { properties = ProfileController.GetPropertyDefinitionsByPortal(objPortal.PortalID); //Add new Photo Profile field to Portal ProfileController.AddDefaultDefinition(objPortal.PortalID, "Preferences", "Photo", "Image", 0, properties.Count * 2 + 2, dataTypes); //Rename old Default Page template File.Move(string.Format("{0}Templates\\Default.page.template", objPortal.HomeDirectoryMapPath), string.Format("{0}Templates\\Default_old.page.template", objPortal.HomeDirectoryMapPath)); //Update Default profile template in every portal objPortals.CopyPageTemplate("Default.page.template", objPortal.HomeDirectoryMapPath); //Add User profile template to every portal objPortals.CopyPageTemplate("UserProfile.page.template", objPortal.HomeDirectoryMapPath); //Synchronize the Templates folder to ensure the templates are accessible FileSystemUtils.SynchronizeFolder(objPortal.PortalID, string.Format("{0}Templates\\", objPortal.HomeDirectoryMapPath), "Templates/", false, true, true, false); XmlDocument xmlDoc = new XmlDocument(); try { // open the XML file xmlDoc.Load(string.Format("{0}Templates\\UserProfile.page.template", objPortal.HomeDirectoryMapPath)); } catch (Exception ex) { Exceptions.Exceptions.LogException(ex); } TabInfo newTab = new TabInfo(); newTab = TabController.DeserializeTab(xmlDoc.SelectSingleNode("//portal/tabs/tab"), null, objPortal.PortalID, PortalTemplateModuleAction.Merge); TabController.DeserializePanes(xmlDoc.SelectSingleNode("//portal/tabs/tab/panes"), newTab.PortalID, newTab.TabID, PortalTemplateModuleAction.Ignore, new Hashtable()); //Update SiteSettings to point to the new page objPortal.RegisterTabId = objPortal.UserTabId; objPortal.UserTabId = newTab.TabID; objPortals.UpdatePortalInfo(objPortal); //Add Users folder to every portal string strUsersFolder = string.Format("{0}Users\\", objPortal.HomeDirectoryMapPath); if (!Directory.Exists(strUsersFolder)) { //Create Users folder Directory.CreateDirectory(strUsersFolder); //Synchronize the Users folder to ensure the user folder is accessible FileSystemUtils.SynchronizeFolder(objPortal.PortalID, strUsersFolder, "Users/", false, true, true, false); } } } //Add new EventQueue Event CommonLibrary.Services.EventQueue.Config.EventQueueConfiguration config = CommonLibrary.Services.EventQueue.Config.EventQueueConfiguration.GetConfig(); if (config != null) { if (!config.PublishedEvents.ContainsKey("Application_Start_FirstRequest")) { foreach (CommonLibrary.Services.EventQueue.Config.SubscriberInfo subscriber in config.EventQueueSubscribers.Values) { CommonLibrary.Services.EventQueue.Config.EventQueueConfiguration.RegisterEventSubscription(config, "Application_Start_FirstRequest", subscriber); } EventQueueConfiguration.SaveConfig(config, string.Format("{0}EventQueue\\EventQueue.config", Globals.HostMapPath)); } } //Change Key for Module Defintions ModuleDefID = GetModuleDefinition("Extensions", "Extensions"); RemoveModuleControl(ModuleDefID, "ImportModuleDefinition"); AddModuleControl(ModuleDefID, "EditModuleDefinition", "Edit Module Definition", "DesktopModules/Admin/Extensions/Editors/EditModuleDefinition.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0); //Module was incorrectly assigned as "IsPremium=False" RemoveModuleFromPortals("Users And Roles"); }
public void UpdateModuleOrder(int TabId, int ModuleId, int ModuleOrder, string PaneName) { ModuleInfo objModule = GetModule(ModuleId, TabId, false); if (objModule != null) { if (ModuleOrder == -1) { IDataReader dr = null; try { dr = dataProvider.GetTabModuleOrder(TabId, PaneName); while (dr.Read()) { ModuleOrder = Convert.ToInt32(dr["ModuleOrder"]); } } catch (Exception ex) { Exceptions.LogException(ex); } finally { CBO.CloseDataReader(dr, true); } ModuleOrder += 2; } dataProvider.UpdateModuleOrder(TabId, ModuleId, ModuleOrder, PaneName); if (objModule.AllTabs == false) { ClearCache(TabId); } else { TabController objTabs = new TabController(); foreach (KeyValuePair<int, TabInfo> tabPair in objTabs.GetTabsByPortal(objModule.PortalID)) { TabInfo objTab = tabPair.Value; ClearCache(objTab.TabID); } } } }
/// ----------------------------------------------------------------------------- /// <summary> /// HostTabExists determines whether a tab of a given name exists under the Host tab /// </summary> /// <remarks> /// </remarks> /// <param name="TabName">The Name of the Tab</param> /// <returns>True if the Tab exists, otherwise False</returns> /// <history> /// [cnurse] 11/08/2004 documented /// </history> /// ----------------------------------------------------------------------------- private static bool HostTabExists(string TabName) { bool blnExists = false; TabController objTabController = new TabController(); TabInfo objTabInfo = objTabController.GetTabByName(TabName, Null.NullInteger); if ((objTabInfo != null)) { blnExists = true; } else { blnExists = false; } return blnExists; }
public static NodeCollection GetNavigationNodes(Node objRootNode, ToolTipSource eToolTips, int intStartTabId, int intDepth, int intNavNodeOptions) { int i; PortalSettings objPortalSettings = PortalController.GetCurrentPortalSettings(); bool blnFoundStart = intStartTabId == -1; Hashtable objBreadCrumbs = new Hashtable(); Hashtable objTabLookup = new Hashtable(); NodeCollection objRootNodes = objRootNode.Nodes; int intLastBreadCrumbId = 0; for (i = 0; i <= (objPortalSettings.ActiveTab.BreadCrumbs.Count - 1); i++) { objBreadCrumbs.Add(((TabInfo)objPortalSettings.ActiveTab.BreadCrumbs[i]).TabID, 1); intLastBreadCrumbId = ((TabInfo)objPortalSettings.ActiveTab.BreadCrumbs[i]).TabID; } TabController objTabController = new TabController(); List<TabInfo> portalTabs = TabController.GetTabsBySortOrder(objPortalSettings.PortalId); List<TabInfo> hostTabs = TabController.GetTabsBySortOrder(Null.NullInteger); foreach (TabInfo objTab in portalTabs) { objTabLookup.Add(objTab.TabID, objTab); } foreach (TabInfo objTab in hostTabs) { objTabLookup.Add(objTab.TabID, objTab); } foreach (TabInfo objTab in portalTabs) { try { ProcessTab(objRootNode, objTab, objTabLookup, objBreadCrumbs, intLastBreadCrumbId, eToolTips, intStartTabId, intDepth, intNavNodeOptions); } catch (Exception ex) { throw ex; } } foreach (TabInfo objTab in hostTabs) { try { ProcessTab(objRootNode, objTab, objTabLookup, objBreadCrumbs, intLastBreadCrumbId, eToolTips, intStartTabId, intDepth, intNavNodeOptions); } catch (Exception ex) { throw ex; } } return objRootNodes; }
/// ----------------------------------------------------------------------------- /// <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> /// <history> /// [cnurse] 11/6/2004 documented /// [cnurse] 02/27/2007 made public so it can be called from Wizard /// </history> /// ----------------------------------------------------------------------------- public static void UpgradeApplication() { TabController objTabController = new TabController(); TabInfo HostPage = objTabController.GetTabByName("Host", Null.NullInteger); TabInfo newPage = default(TabInfo); int ModuleDefID = 0; 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); } // remove portal alias module if (CoreModuleExists("PortalAliases")) { RemoveCoreModule("PortalAliases", "Admin", "Site Settings", false); } // add the log viewer module to the admin tab if (CoreModuleExists("LogViewer") == false) { ModuleDefID = AddModuleDefinition("LogViewer", "Allows you to view log entries for portal events.", "Log Viewer"); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/LogViewer/LogViewer.ascx", "", SecurityAccessLevel.Admin, 0); AddModuleControl(ModuleDefID, "Edit", "Edit Log Settings", "DesktopModules/Admin/LogViewer/EditLogTypes.ascx", "", SecurityAccessLevel.Host, 0); //Add the Module/Page to all configured portals AddAdminPages("Log Viewer", "View a historical log of database events such as event schedules, exceptions, account logins, module and page changes, user account activities, security role activities, etc.", "icon_viewstats_16px.gif", "icon_viewstats_32px.gif", true, ModuleDefID, "Log Viewer", "icon_viewstats_16px.gif"); } // add the schedule module to the host tab if (CoreModuleExists("Scheduler") == false) { ModuleDefID = AddModuleDefinition("Scheduler", "Allows you to schedule tasks to be run at specified intervals.", "Scheduler"); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Scheduler/ViewSchedule.ascx", "", SecurityAccessLevel.Admin, 0); AddModuleControl(ModuleDefID, "Edit", "Edit Schedule", "DesktopModules/Admin/Scheduler/EditSchedule.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "History", "Schedule History", "DesktopModules/Admin/Scheduler/ViewScheduleHistory.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "Status", "Schedule Status", "DesktopModules/Admin/Scheduler/ViewScheduleStatus.ascx", "", SecurityAccessLevel.Host, 0); //Create New Host Page (or get existing one) newPage = AddHostPage("Schedule", "Add, modify and delete scheduled tasks to be run at specified intervals.", "icon_scheduler_16px.gif", "icon_scheduler_32px.gif", true); //Add Module To Page AddModuleToPage(newPage, ModuleDefID, "Schedule", "icon_scheduler_16px.gif"); } // add the Search Admin module to the host tab if (CoreModuleExists("SearchAdmin") == false) { ModuleDefID = AddModuleDefinition("SearchAdmin", "The Search Admininstrator provides the ability to manage search settings.", "Search Admin"); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SearchAdmin/SearchAdmin.ascx", "", SecurityAccessLevel.Host, 0); //Create New Host Page (or get existing one) newPage = AddHostPage("Search Admin", "Manage search settings associated with DotNetNuke's search capability.", "icon_search_16px.gif", "icon_search_32px.gif", true); //Add Module To Page AddModuleToPage(newPage, ModuleDefID, "Search Admin", "icon_search_16px.gif"); } // add the Search Input module if (CoreModuleExists("SearchInput") == false) { ModuleDefID = AddModuleDefinition("SearchInput", "The Search Input module provides the ability to submit a search to a given search results module.", "Search Input", false, false); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SearchInput/SearchInput.ascx", "", SecurityAccessLevel.Anonymous, 0); AddModuleControl(ModuleDefID, "Settings", "Search Input Settings", "DesktopModules/Admin/SearchInput/Settings.ascx", "", SecurityAccessLevel.Edit, 0); } // add the Search Results module if (CoreModuleExists("SearchResults") == false) { ModuleDefID = AddModuleDefinition("SearchResults", "The Search Reasults module provides the ability to display search results.", "Search Results", false, false); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SearchResults/SearchResults.ascx", "", SecurityAccessLevel.Anonymous, 0); AddModuleControl(ModuleDefID, "Settings", "Search Results Settings", "DesktopModules/Admin/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("SiteWizard") == false) { ModuleDefID = AddModuleDefinition("SiteWizard", "The Administrator can use this user-friendly wizard to set up the common Extensions of the Portal/Site.", "Site Wizard"); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SiteWizard/Sitewizard.ascx", "", SecurityAccessLevel.Admin, 0); AddAdminPages("Site Wizard", "Configure portal settings, page design and apply a site template using a step-by-step wizard.", "icon_wizard_16px.gif", "icon_wizard_32px.gif", true, ModuleDefID, "Site Wizard", "icon_wizard_16px.gif"); } //add Lists module and tab if (HostTabExists("Lists") == false) { ModuleDefID = AddModuleDefinition("Lists", "Allows you to edit common lists.", "Lists"); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Lists/ListEditor.ascx", "", SecurityAccessLevel.Host, 0); //Create New Host Page (or get existing one) newPage = AddHostPage("Lists", "Manage common lists.", "icon_lists_16px.gif", "icon_lists_32px.gif", true); //Add Module To Page AddModuleToPage(newPage, ModuleDefID, "Lists", "icon_lists_16px.gif"); } if (HostTabExists("Superuser Accounts") == false) { //add SuperUser Accounts module and tab DesktopModuleInfo objDesktopModuleInfo = DesktopModuleController.GetDesktopModuleByModuleName("DNN_Security", Null.NullInteger); ModuleDefID = ModuleDefinitionController.GetModuleDefinitionByFriendlyName("User Accounts", objDesktopModuleInfo.DesktopModuleID).ModuleDefID; //Create New Host Page (or get existing one) newPage = AddHostPage("Superuser Accounts", "Manage host user accounts.", "icon_users_16px.gif", "icon_users_32px.gif", true); //Add Module To Page AddModuleToPage(newPage, ModuleDefID, "Superuser Accounts", "icon_users_32px.gif"); } //Add Edit Role Groups ModuleDefID = GetModuleDefinition("Security", "Security Roles"); AddModuleControl(ModuleDefID, "EditGroup", "Edit Role Groups", "DesktopModules/Admin/Security/EditGroups.ascx", "icon_securityroles_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger); AddModuleControl(ModuleDefID, "UserSettings", "Manage User Settings", "DesktopModules/Admin/Security/UserSettings.ascx", "~/images/settings.gif", SecurityAccessLevel.Edit, Null.NullInteger); //Add User Accounts Controls ModuleDefID = GetModuleDefinition("Security", "User Accounts"); AddModuleControl(ModuleDefID, "ManageProfile", "Manage Profile Definition", "DesktopModules/Admin/Security/ProfileDefinitions.ascx", "icon_users_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger); AddModuleControl(ModuleDefID, "EditProfileProperty", "Edit Profile Property Definition", "DesktopModules/Admin/Security/EditProfileDefinition.ascx", "icon_users_32px.gif", SecurityAccessLevel.Edit, Null.NullInteger); AddModuleControl(ModuleDefID, "UserSettings", "Manage User Settings", "DesktopModules/Admin/Security/UserSettings.ascx", "~/images/settings.gif", SecurityAccessLevel.Edit, Null.NullInteger); AddModuleControl(Null.NullInteger, "Profile", "Profile", "DesktopModules/Admin/Security/ManageUsers.ascx", "icon_users_32px.gif", SecurityAccessLevel.Anonymous, Null.NullInteger); AddModuleControl(Null.NullInteger, "SendPassword", "Send Password", "DesktopModules/Admin/Security/SendPassword.ascx", "", SecurityAccessLevel.Anonymous, Null.NullInteger); AddModuleControl(Null.NullInteger, "ViewProfile", "View Profile", "DesktopModules/Admin/Security/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); string childPath = null; foreach (PortalAliasInfo objAlias in arrAliases) { //For the alias to be for a child it must be of the form ...../child int intChild = objAlias.HTTPAlias.IndexOf("/"); if (intChild != -1 & intChild != (objAlias.HTTPAlias.Length - 1)) { childPath = Globals.ApplicationMapPath + "\\" + objAlias.HTTPAlias.Substring(intChild + 1); // check if Folder exists if (Directory.Exists(childPath)) { System.IO.FileInfo objDefault = new System.IO.FileInfo(childPath + "\\" + Globals.glbDefaultPage); System.IO.FileInfo objSubHost = new System.IO.FileInfo(Common.Globals.HostMapPath + "subhost.aspx"); // check if upgrade is necessary if (objDefault.Length != objSubHost.Length) { //Rename existing file System.IO.File.Copy(childPath + "\\" + Globals.glbDefaultPage, childPath + "\\old_" + Globals.glbDefaultPage, true); // create the subhost default.aspx file System.IO.File.Copy(Common.Globals.HostMapPath + "subhost.aspx", childPath + "\\" + Globals.glbDefaultPage, true); } } } } // add the solutions explorer module to the admin tab if (CoreModuleExists("Solutions") == false) { ModuleDefID = AddModuleDefinition("Solutions", "Browse additional solutions for your application.", "Solutions", false, false); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Solutions/Solutions.ascx", "", SecurityAccessLevel.Admin, 0); AddAdminPages("Solutions", "DotNetNuke Solutions Explorer page provides easy access to locate free and commercial DotNetNuke modules, skin and more.", "icon_solutions_16px.gif", "icon_solutions_32px.gif", true, ModuleDefID, "Solutions Explorer", "icon_solutions_32px.gif"); } //Add Search Skin Object AddSkinControl("SEARCH", "DotNetNuke.SearchSkinObject", "Admin/Skins/Search.ascx"); //Add TreeView Skin Object AddSkinControl("TREEVIEW", "DotNetNuke.TreeViewSkinObject", "Admin/Skins/TreeViewMenu.ascx"); //Add Text Skin Object AddSkinControl("TEXT", "DotNetNuke.TextSkinObject", "Admin/Skins/Text.ascx"); //Add Styles Skin Object AddSkinControl("STYLES", "DotNetNuke.StylesSkinObject", "Admin/Skins/Styles.ascx"); } catch (Exception ex) { Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController(); Services.Log.EventLog.LogInfo objEventLogInfo = new Services.Log.EventLog.LogInfo(); objEventLogInfo.AddProperty("Upgraded DotNetNuke", "General"); objEventLogInfo.AddProperty("Warnings", "Error: " + ex.Message + Environment.NewLine); objEventLogInfo.LogTypeKey = Services.Log.EventLog.EventLogController.EventLogType.HOST_ALERT.ToString(); objEventLogInfo.BypassBuffering = true; objEventLog.AddLog(objEventLogInfo); try { Exceptions.Exceptions.LogException(ex); } catch { } // ignore } //Remove any .txt and .config files that may exist in the Install folder foreach (string strFile in Directory.GetFiles(Globals.InstallMapPath + "Cleanup\\", "??.??.??.txt")) { FileSystemUtils.DeleteFile(strFile); } foreach (string strFile in Directory.GetFiles(Globals.InstallMapPath + "Config\\", "??.??.??.config")) { FileSystemUtils.DeleteFile(strFile); } }
/// ----------------------------------------------------------------------------- /// <summary> /// AddPage adds a Tab Page /// </summary> /// <param name="PortalId">The Id of the Portal</param> /// <param name="ParentId">The Id of the Parent Tab</param> /// <param name="TabName">The Name to give this new Tab</param> /// <param name="TabIconFile">The Icon for this new Tab</param> /// <param name="IsVisible">A flag indicating whether the tab is visible</param> /// <param name="permissions">Page Permissions Collection for this page</param> /// <param name="IsAdmin">Is and admin page</param> /// <history> /// [cnurse] 11/11/2004 created /// </history> /// ----------------------------------------------------------------------------- private static TabInfo AddPage(int PortalId, int ParentId, string TabName, string Description, string TabIconFile, string TabIconFileLarge, bool IsVisible, Security.Permissions.TabPermissionCollection permissions, bool IsAdmin) { TabController objTabs = new TabController(); TabInfo objTab = default(TabInfo); objTab = objTabs.GetTabByName(TabName, PortalId, ParentId); if (objTab == null || objTab.ParentId != ParentId) { objTab = new TabInfo(); objTab.TabID = Null.NullInteger; objTab.PortalID = PortalId; objTab.TabName = TabName; objTab.Title = ""; objTab.Description = Description; objTab.KeyWords = ""; objTab.IsVisible = IsVisible; objTab.DisableLink = false; objTab.ParentId = ParentId; objTab.IconFile = TabIconFile; objTab.IconFileLarge = TabIconFileLarge; objTab.IsDeleted = false; objTab.TabID = objTabs.AddTab(objTab, !IsAdmin); if (((permissions != null))) { Security.Permissions.TabPermissionController tabPermissionCtrl = new Security.Permissions.TabPermissionController(); foreach (TabPermissionInfo tabPermission in permissions) { objTab.TabPermissions.Add(tabPermission, true); } TabPermissionController.SaveTabPermissions(objTab); } } return objTab; }
public static void RemoveHostPage(string pageName) { TabController controller = new TabController(); TabInfo skinsTab = controller.GetTabByName(pageName, Null.NullInteger); if (skinsTab != null) { controller.DeleteTab(skinsTab.TabID, Null.NullInteger); } }
public static void RemoveAdminPages(string tabPath) { PortalController objPortalController = new PortalController(); TabController objTabController = new TabController(); ArrayList portals = objPortalController.GetPortals(); foreach (PortalInfo portal in portals) { int tabID = TabController.GetTabByTabPath(portal.PortalID, tabPath); if ((tabID != Null.NullInteger)) { objTabController.DeleteTab(tabID, portal.PortalID); } } }
public static void AddModuleToPages(string tabPath, int ModuleDefId, string ModuleTitle, string ModuleIconFile, bool InheritPermissions) { PortalController objPortalController = new PortalController(); TabController objTabController = new TabController(); ArrayList portals = objPortalController.GetPortals(); foreach (PortalInfo portal in portals) { int tabID = TabController.GetTabByTabPath(portal.PortalID, tabPath); if ((tabID != Null.NullInteger)) { TabInfo tab = objTabController.GetTab(tabID, portal.PortalID, true); if ((tab != null)) { AddModuleToPage(tab, ModuleDefId, ModuleTitle, ModuleIconFile, InheritPermissions); } } } }
private void ClearModulePermissionsCachesByPortalInternal(int portalId, bool clearRuntime) { TabController objTabs = new TabController(); foreach (KeyValuePair<int, CommonLibrary.Entities.Tabs.TabInfo> tabPair in objTabs.GetTabsByPortal(portalId)) { RemoveFormattedCacheKey(DataCache.ModulePermissionCacheKey, clearRuntime, tabPair.Value.TabID); } }
/// ----------------------------------------------------------------------------- /// <summary> /// AddAdminPage adds an Admin Tab Page /// </summary> /// <param name="Portal">The Portal</param> /// <param name="TabName">The Name to give this new Tab</param> /// <param name="TabIconFile">The Icon for this new Tab</param> /// <param name="IsVisible">A flag indicating whether the tab is visible</param> /// <history> /// [cnurse] 11/11/2004 created /// </history> /// ----------------------------------------------------------------------------- public static TabInfo AddAdminPage(PortalInfo Portal, string TabName, string Description, string TabIconFile, string TabIconFileLarge, bool IsVisible) { TabController objTabController = new TabController(); TabInfo AdminPage = objTabController.GetTab(Portal.AdminTabId, Portal.PortalID, false); if ((AdminPage != null)) { Security.Permissions.TabPermissionCollection objTabPermissions = new Security.Permissions.TabPermissionCollection(); AddPagePermission(objTabPermissions, "View", Convert.ToInt32(Portal.AdministratorRoleId)); AddPagePermission(objTabPermissions, "Edit", Convert.ToInt32(Portal.AdministratorRoleId)); return AddPage(AdminPage, TabName, Description, TabIconFile, TabIconFileLarge, IsVisible, objTabPermissions, true); } else { return null; } }
private void ClearPortalCacheInternal(int portalId, bool cascade, bool clearRuntime) { RemoveFormattedCacheKey(DataCache.PortalSettingsCacheKey, clearRuntime, portalId); Dictionary<string, Locale> locales = CommonLibrary.Services.Localization.Localization.GetLocales(portalId); if (locales.Count == 0) { //At least attempt to remove default locale string defaultLocale = PortalController.GetPortalDefaultLanguage(portalId); RemoveCacheKey(String.Format(DataCache.PortalCacheKey, portalId.ToString() + "-" + defaultLocale), clearRuntime); } else { foreach (Locale portalLocale in Localization.Localization.GetLocales(portalId).Values) { RemoveCacheKey(String.Format(DataCache.PortalCacheKey, portalId.ToString() + "-" + portalLocale.Code), clearRuntime); } } if (cascade) { TabController objTabs = new TabController(); foreach (KeyValuePair<int, TabInfo> tabPair in objTabs.GetTabsByPortal(portalId)) { ClearModuleCacheInternal(tabPair.Value.TabID, clearRuntime); } ModuleController moduleController = new ModuleController(); foreach (ModuleInfo moduleInfo in moduleController.GetModules(portalId)) { RemoveCacheKey("GetModuleSettings" + moduleInfo.ModuleID.ToString(), clearRuntime); } } ClearFolderCacheInternal(portalId, clearRuntime); ClearCacheKeysByPortalInternal(portalId, clearRuntime); ClearDesktopModuleCacheInternal(portalId, clearRuntime); ClearTabCacheInternal(portalId, clearRuntime); }
private static int RemoveModule(string DesktopModuleName, string TabName, int ParentId, bool TabRemove) { TabController objTabs = new TabController(); ModuleController objModules = new ModuleController(); TabInfo objTab = objTabs.GetTabByName(TabName, Null.NullInteger, ParentId); int intModuleDefId = 0; int intCount = 0; //Get the Modules on the Tab if (objTab != null) { foreach (KeyValuePair<int, ModuleInfo> kvp in objModules.GetTabModules(objTab.TabID)) { ModuleInfo objModule = kvp.Value; if (objModule.DesktopModule.FriendlyName == DesktopModuleName) { //Delete the Module from the Modules list objModules.DeleteTabModule(objModule.TabID, objModule.ModuleID, false); intModuleDefId = objModule.ModuleDefID; } else { intCount += 1; } } //If Tab has no modules optionally remove tab if (intCount == 0 & TabRemove) { objTabs.DeleteTab(objTab.TabID, objTab.PortalID); } } return intModuleDefId; }
//private DataTable PopulateSelectedRights(int PermissionId) //{ // string RoleId = string.Empty; // if (Request.QueryString["role_id"] != null && Request.QueryString["role_id"].ToString() != string.Empty) // { // RoleId = Request.QueryString["role_id"].ToString(); // } // TabPermissionController tab_permission_obj = new TabPermissionController(); // DataTable dt = tab_permission_obj.GetListByRoleIdPermissionId(RoleId, PermissionId); // return dt; //} private void FillDataInGrid() { string PortalId = ddlPortalList.SelectedValue; int isadmin = Convert.ToInt32(Session["IsSuperUser"].ToString()); if (PortalId != string.Empty) { TabController tab_obj = new TabController(); dt = tab_obj.GetListByPortalId(PortalId, isadmin); if (dt.Rows.Count > 0) { GridView1.DataSource = dt; GridView1.DataBind(); //GridView1.HeaderRow.Attributes["style"] = "display:block"; //GridView1.UseAccessibleHeader = true; //GridView1.HeaderRow.TableSection = TableRowSection.TableHeader; } else { dt.Rows.Add(dt.NewRow()); GridView1.DataSource = dt; GridView1.DataBind(); int TotalColumns = GridView1.Rows[0].Cells.Count; GridView1.Rows[0].Cells.Clear(); GridView1.Rows[0].Cells.Add(new TableCell()); GridView1.Rows[0].Cells[0].ColumnSpan = TotalColumns; GridView1.Rows[0].Cells[0].Text = "No Record Found"; } } }
private static void AddAdminRoleToPage(string tabPath) { PortalController portalCtrl = new PortalController(); TabController tabCtrl = new TabController(); int tabID = 0; TabInfo tab = default(TabInfo); foreach (PortalInfo portal in portalCtrl.GetPortals()) { tabID = TabController.GetTabByTabPath(portal.PortalID, tabPath); if ((tabID != Null.NullInteger)) { tab = tabCtrl.GetTab(tabID, portal.PortalID, true); if ((tab.TabPermissions.Count == 0)) { AddPagePermission(tab.TabPermissions, "View", Convert.ToInt32(portal.AdministratorRoleId)); AddPagePermission(tab.TabPermissions, "Edit", Convert.ToInt32(portal.AdministratorRoleId)); TabPermissionController.SaveTabPermissions(tab); } } } }
private static void UpgradeToVersion_510() { //Upgrade to .NET 3.5 TryUpgradeNETFramework(); PortalController objPortalController = new PortalController(); TabController objTabController = new TabController(); ModuleController objModuleController = new ModuleController(); int ModuleDefID = 0; int ModuleID = 0; //add Dashboard module and tab if (HostTabExists("Dashboard") == false) { ModuleDefID = AddModuleDefinition("Dashboard", "Provides a snapshot of your DotNetNuke Application.", "Dashboard", true, true); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Dashboard/Dashboard.ascx", "icon_dashboard_32px.gif", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "Export", "", "DesktopModules/Admin/Dashboard/Export.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "DashboardControls", "", "DesktopModules/Admin/Dashboard/DashboardControls.ascx", "", SecurityAccessLevel.Host, 0); //Create New Host Page (or get existing one) TabInfo dashboardPage = AddHostPage("Dashboard", "Summary view of application and site settings.", "~/images/icon_dashboard_16px.gif", "~/images/icon_dashboard_32px.gif", true); //Add Module To Page AddModuleToPage(dashboardPage, ModuleDefID, "Dashboard", "~/images/icon_dashboard_32px.gif"); } else { //Module was incorrectly assigned as "IsPremium=False" RemoveModuleFromPortals("Dashboard"); //fix path for dashboarcontrols ModuleDefID = GetModuleDefinition("Dashboard", "Dashboard"); RemoveModuleControl(ModuleDefID, "DashboardControls"); AddModuleControl(ModuleDefID, "DashboardControls", "", "DesktopModules/Admin/Dashboard/DashboardControls.ascx", "", SecurityAccessLevel.Host, 0); } //Add the Extensions Module if (CoreModuleExists("Extensions") == false) { ModuleDefID = AddModuleDefinition("Extensions", "", "Extensions"); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Extensions/Extensions.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.View, 0); AddModuleControl(ModuleDefID, "Edit", "Edit Feature", "DesktopModules/Admin/Extensions/EditExtension.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Edit, 0); AddModuleControl(ModuleDefID, "PackageWriter", "Package Writer", "DesktopModules/Admin/Extensions/PackageWriter.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "EditControl", "Edit Control", "DesktopModules/Admin/Extensions/Editors/EditModuleControl.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "ImportModuleDefinition", "Import Module Definition", "DesktopModules/Admin/Extensions/Editors/ImportModuleDefinition.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "BatchInstall", "Batch Install", "DesktopModules/Admin/Extensions/BatchInstall.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "NewExtension", "New Extension Wizard", "DesktopModules/Admin/Extensions/ExtensionWizard.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "UsageDetails", "Usage Information", "DesktopModules/Admin/Extensions/UsageDetails.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0, "", true); } else { ModuleDefID = GetModuleDefinition("Extensions", "Extensions"); RemoveModuleControl(ModuleDefID, "EditLanguage"); RemoveModuleControl(ModuleDefID, "TimeZone"); RemoveModuleControl(ModuleDefID, "Verify"); RemoveModuleControl(ModuleDefID, "LanguageSettings"); RemoveModuleControl(ModuleDefID, "EditResourceKey"); RemoveModuleControl(ModuleDefID, "EditSkins"); AddModuleControl(ModuleDefID, "UsageDetails", "Usage Information", "DesktopModules/Admin/Extensions/UsageDetails.ascx", "~/images/icon_extensions_32px.gif", SecurityAccessLevel.Host, 0, "", true); //Module was incorrectly assigned as "IsPremium=False" RemoveModuleFromPortals("Extensions"); } //Remove Module Definitions Module from Host Page (if present) RemoveCoreModule("Module Definitions", "Host", "Module Definitions", false); //Remove old Module Definition Validator module DesktopModuleController.DeleteDesktopModule("Module Definition Validator"); //Get Module Definitions TabInfo definitionsPage = objTabController.GetTabByName("Module Definitions", Null.NullInteger); //Add Module To Page if not present ModuleID = AddModuleToPage(definitionsPage, ModuleDefID, "Module Definitions", "~/images/icon_moduledefinitions_32px.gif"); objModuleController.UpdateModuleSetting(ModuleID, "Extensions_Mode", "Module"); //Add Extensions Host Page TabInfo extensionsPage = AddHostPage("Extensions", "Install, add, modify and delete extensions, such as modules, skins and language packs.", "~/images/icon_extensions_16px.gif", "~/images/icon_extensions_32px.gif", true); ModuleID = AddModuleToPage(extensionsPage, ModuleDefID, "Extensions", "~/images/icon_extensions_32px.gif"); objModuleController.UpdateModuleSetting(ModuleID, "Extensions_Mode", "All"); //Add Extensions Module to Admin Page for all Portals AddAdminPages("Extensions", "Install, add, modify and delete extensions, such as modules, skins and language packs.", "~/images/icon_extensions_16px.gif", "~/images/icon_extensions_32px.gif", true, ModuleDefID, "Extensions", "~/images/icon_extensions_32px.gif"); //Remove Host Languages Page RemoveHostPage("Languages"); //Remove Admin > Authentication Pages RemoveAdminPages("//Admin//Authentication"); //Remove old Languages module DesktopModuleController.DeleteDesktopModule("Languages"); //Add new Languages module ModuleDefID = AddModuleDefinition("Languages", "", "Languages", false, false); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Languages/languageeditor.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.View, 0); AddModuleControl(ModuleDefID, "Edit", "Edit Language", "DesktopModules/Admin/Languages/EditLanguage.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.Edit, 0); AddModuleControl(ModuleDefID, "EditResourceKey", "Full Language Editor", "DesktopModules/Admin/Languages/languageeditorext.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.Edit, 0); AddModuleControl(ModuleDefID, "LanguageSettings", "Language Settings", "DesktopModules/Admin/Languages/LanguageSettings.ascx", "", SecurityAccessLevel.Edit, 0); AddModuleControl(ModuleDefID, "TimeZone", "TimeZone Editor", "DesktopModules/Admin/Languages/timezoneeditor.ascx", "~/images/icon_language_32px.gif", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "Verify", "Resource File Verifier", "DesktopModules/Admin/Languages/resourceverifier.ascx", "", SecurityAccessLevel.Host, 0); AddModuleControl(ModuleDefID, "PackageWriter", "Language Pack Writer", "DesktopModules/Admin/Languages/LanguagePackWriter.ascx", "", SecurityAccessLevel.Host, 0); //Add Module to Admin Page for all Portals AddAdminPages("Languages", "Manage Language Resources.", "~/images/icon_language_16px.gif", "~/images/icon_language_32px.gif", true, ModuleDefID, "Language Editor", "~/images/icon_language_32px.gif"); //Remove Host Skins Page RemoveHostPage("Skins"); //Remove old Skins module DesktopModuleController.DeleteDesktopModule("Skins"); //Add new Skins module ModuleDefID = AddModuleDefinition("Skins", "", "Skins", false, false); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/Skins/editskins.ascx", "~/images/icon_skins_32px.gif", SecurityAccessLevel.View, 0); //Add Module to Admin Page for all Portals AddAdminPages("Skins", "Manage Skin Resources.", "~/images/icon_skins_16px.gif", "~/images/icon_skins_32px.gif", true, ModuleDefID, "Skin Editor", "~/images/icon_skins_32px.gif"); //Remove old Skin Designer module DesktopModuleController.DeleteDesktopModule("Skin Designer"); DesktopModuleController.DeleteDesktopModule("SkinDesigner"); //Add new Skin Designer module ModuleDefID = AddModuleDefinition("Skin Designer", "Allows you to modify skin attributes.", "Skin Designer", true, true); AddModuleControl(ModuleDefID, "", "", "DesktopModules/Admin/SkinDesigner/Attributes.ascx", "~/images/icon_skins_32px.gif", SecurityAccessLevel.Host, 0); //Add new Skin Designer to every Admin Skins Tab AddModuleToPages("//Admin//Skins", ModuleDefID, "Skin Designer", "~/images/icon_skins_32px.gif", true); //Remove Admin Whats New Page RemoveAdminPages("//Admin//WhatsNew"); //WhatsNew needs to be set to IsPremium and removed from all portals RemoveModuleFromPortals("WhatsNew"); //Create New WhatsNew Host Page (or get existing one) TabInfo newPage = AddHostPage("What's New", "Provides a summary of the major features for each release.", "~/images/icon_whatsnew_16px.gif", "~/images/icon_whatsnew_32px.gif", true); //Add WhatsNew Module To Page ModuleDefID = GetModuleDefinition("WhatsNew", "WhatsNew"); AddModuleToPage(newPage, ModuleDefID, "What's New", "~/images/icon_whatsnew_32px.gif"); //add console module ModuleDefID = AddModuleDefinition("Console", "Display children pages as icon links for navigation.", "Console", "DotNetNuke.Modules.Console.Components.ConsoleController", true, false, false); AddModuleControl(ModuleDefID, "", "Console", "DesktopModules/Admin/Console/ViewConsole.ascx", "", SecurityAccessLevel.Anonymous, 0); AddModuleControl(ModuleDefID, "Settings", "Console Settings", "DesktopModules/Admin/Console/Settings.ascx", "", SecurityAccessLevel.Admin, 0); //add console module to host page ModuleID = AddModuleToPage("//Host", Null.NullInteger, ModuleDefID, "Basic Features", "", true); int tabID = TabController.GetTabByTabPath(Null.NullInteger, "//Host"); TabInfo tab = null; //add console settings for host page if ((tabID != Null.NullInteger)) { tab = objTabController.GetTab(tabID, Null.NullInteger, true); if (((tab != null))) { AddConsoleModuleSettings(tabID, ModuleID); } } //add module to all admin pages foreach (PortalInfo portal in objPortalController.GetPortals()) { tabID = TabController.GetTabByTabPath(portal.PortalID, "//Admin"); if ((tabID != Null.NullInteger)) { tab = objTabController.GetTab(tabID, portal.PortalID, true); if (((tab != null))) { ModuleID = AddModuleToPage(tab, ModuleDefID, "Basic Features", "", true); AddConsoleModuleSettings(tabID, ModuleID); } } } //Add Google Analytics module ModuleDefID = AddModuleDefinition("Google Analytics", "Configure portal Google Analytics settings.", "GoogleAnalytics", false, false); AddModuleControl(ModuleDefID, "", "Google Analytics", "DesktopModules/Admin/Analytics/GoogleAnalyticsSettings.ascx", "", SecurityAccessLevel.Admin, 0); AddAdminPages("Google Analytics", "Configure portal Google Analytics settings.", "~/images/icon_analytics_16px.gif", "~/images/icon_analytics_32px.gif", true, ModuleDefID, "Google Analytics", "~/images/icon_analytics_32px.gif"); }
private static void UpgradeToVersion_500() { PortalController objPortals = new PortalController(); ArrayList arrPortals = objPortals.GetPortals(); TabController controller = new TabController(); //Add Edit Permissions for Admin Tabs to legacy portals PermissionController permissionControler = new PermissionController(); TabPermissionController tabPermissionControler = new TabPermissionController(); ArrayList permissions = permissionControler.GetPermissionByCodeAndKey("SYSTEM_TAB", "EDIT"); int permissionID = Null.NullInteger; if (permissions.Count == 1) { PermissionInfo permission = permissions[0] as PermissionInfo; permissionID = permission.PermissionID; foreach (PortalInfo portal in arrPortals) { TabInfo adminTab = controller.GetTab(portal.AdminTabId, portal.PortalID, true); if (adminTab != null) { TabPermissionInfo tabPermission = new TabPermissionInfo(); tabPermission.TabID = adminTab.TabID; tabPermission.PermissionID = permissionID; tabPermission.AllowAccess = true; tabPermission.RoleID = portal.AdministratorRoleId; if (!TabPermissionExists(tabPermission, portal.PortalID)) { adminTab.TabPermissions.Add(tabPermission); } //Save Tab Permissions to Data Base TabPermissionController.SaveTabPermissions(adminTab); foreach (TabInfo childTab in TabController.GetTabsByParent(portal.AdminTabId, portal.PortalID)) { tabPermission = new TabPermissionInfo(); tabPermission.TabID = childTab.TabID; tabPermission.PermissionID = permissionID; tabPermission.AllowAccess = true; tabPermission.RoleID = portal.AdministratorRoleId; if (!TabPermissionExists(tabPermission, portal.PortalID)) { childTab.TabPermissions.Add(tabPermission); } //Save Tab Permissions to Data Base TabPermissionController.SaveTabPermissions(childTab); } } } } //Update Host/Admin modules Visibility setting bool superTabProcessed = Null.NullBoolean; ModuleController moduleController = new ModuleController(); foreach (PortalInfo portal in arrPortals) { if (!superTabProcessed) { //Process Host Tabs foreach (TabInfo childTab in TabController.GetTabsByParent(portal.SuperTabId, Null.NullInteger)) { foreach (ModuleInfo tabModule in moduleController.GetTabModules(childTab.TabID).Values) { tabModule.Visibility = VisibilityState.None; moduleController.UpdateModule(tabModule); } } } //Process Portal Tabs foreach (TabInfo childTab in TabController.GetTabsByParent(portal.AdminTabId, portal.PortalID)) { foreach (ModuleInfo tabModule in moduleController.GetTabModules(childTab.TabID).Values) { tabModule.Visibility = VisibilityState.None; moduleController.UpdateModule(tabModule); } } } //Upgrade PortalDesktopModules to support new "model" permissions = permissionControler.GetPermissionByCodeAndKey("SYSTEM_DESKTOPMODULE", "DEPLOY"); if (permissions.Count == 1) { PermissionInfo permission = permissions[0] as PermissionInfo; permissionID = permission.PermissionID; foreach (PortalInfo portal in arrPortals) { foreach (DesktopModuleInfo desktopModule in DesktopModuleController.GetDesktopModules(Null.NullInteger).Values) { if (!desktopModule.IsPremium) { //Parse the permissions DesktopModulePermissionCollection deployPermissions = new DesktopModulePermissionCollection(); DesktopModulePermissionInfo deployPermission = default(DesktopModulePermissionInfo); // if Not IsAdmin add Registered Users if (!desktopModule.IsAdmin) { deployPermission = new DesktopModulePermissionInfo(); deployPermission.PermissionID = permissionID; deployPermission.AllowAccess = true; deployPermission.RoleID = portal.RegisteredRoleId; deployPermissions.Add(deployPermission); } // if Not a Host Module add Administrators string hostModules = "Portals, SQL, HostSettings, Scheduler, SearchAdmin, Lists, SkinDesigner, Extensions"; if (!hostModules.Contains(desktopModule.ModuleName)) { deployPermission = new DesktopModulePermissionInfo(); deployPermission.PermissionID = permissionID; deployPermission.AllowAccess = true; deployPermission.RoleID = portal.AdministratorRoleId; deployPermissions.Add(deployPermission); } //Add Portal/Module to PortalDesktopModules DesktopModuleController.AddDesktopModuleToPortal(portal.PortalID, desktopModule, deployPermissions, false); } } DataCache.ClearPortalCache(portal.PortalID, true); } } LegacyUtil.ProcessLegacyModules(); LegacyUtil.ProcessLegacyLanguages(); LegacyUtil.ProcessLegacySkins(); LegacyUtil.ProcessLegacySkinControls(); }
/// ----------------------------------------------------------------------------- /// <summary> /// RemoveCoreModule removes a Core Module from the system /// </summary> /// <remarks> /// </remarks> /// <param name="DesktopModuleName">The Friendly Name of the Module to Remove</param> /// <param name="ParentTabName">The Name of the parent Tab/Page for this module</param> /// <param name="TabName">The Name to tab that contains the Module</param> /// <param name="TabRemove">A flag to determine whether to remove the Tab if it has no /// other modules</param> /// <history> /// [cnurse] 10/14/2004 documented /// </history> /// ----------------------------------------------------------------------------- private static void RemoveCoreModule(string DesktopModuleName, string ParentTabName, string TabName, bool TabRemove) { int ParentId = 0; int intModuleDefId = Null.NullInteger; int intDesktopModuleId = 0; //Find and remove the Module from the Tab switch (ParentTabName) { case "Host": TabController objTabs = new TabController(); TabInfo objTab = objTabs.GetTabByName("Host", Null.NullInteger, Null.NullInteger); if (objTab != null) { intModuleDefId = RemoveModule(DesktopModuleName, TabName, objTab.TabID, TabRemove); } break; case "Admin": PortalController objPortals = new PortalController(); PortalInfo objPortal = default(PortalInfo); ArrayList arrPortals = objPortals.GetPortals(); int intPortal = 0; //Iterate through the Portals to remove the Module from the Tab for (intPortal = 0; intPortal <= arrPortals.Count - 1; intPortal++) { objPortal = (PortalInfo)arrPortals[intPortal]; ParentId = objPortal.AdminTabId; intModuleDefId = RemoveModule(DesktopModuleName, TabName, ParentId, TabRemove); } break; } DesktopModuleInfo objDesktopModule = null; if (intModuleDefId == Null.NullInteger) { objDesktopModule = DesktopModuleController.GetDesktopModuleByModuleName(DesktopModuleName, Null.NullInteger); intDesktopModuleId = objDesktopModule.DesktopModuleID; } else { //Get the Module Definition ModuleDefinitionController objModuleDefinitions = new ModuleDefinitionController(); ModuleDefinitionInfo objModuleDefinition = ModuleDefinitionController.GetModuleDefinitionByID(intModuleDefId); if (objModuleDefinition != null) { intDesktopModuleId = objModuleDefinition.DesktopModuleID; objDesktopModule = DesktopModuleController.GetDesktopModule(intDesktopModuleId, Null.NullInteger); } } if (objDesktopModule != null) { //Delete the Desktop Module DesktopModuleController objDesktopModules = new DesktopModuleController(); objDesktopModules.DeleteDesktopModule(intDesktopModuleId); //Delete the Package PackageController.DeletePackage(objDesktopModule.PackageID); } }
/// ----------------------------------------------------------------------------- /// <summary> /// AddHostPage adds a Host Tab Page /// </summary> /// <param name="TabName">The Name to give this new Tab</param> /// <param name="TabIconFile">The Icon for this new Tab</param> /// <param name="IsVisible">A flag indicating whether the tab is visible</param> /// <history> /// [cnurse] 11/11/2004 created /// </history> /// ----------------------------------------------------------------------------- public static TabInfo AddHostPage(string TabName, string Description, string TabIconFile, string TabIconFileLarge, bool IsVisible) { TabController objTabController = new TabController(); TabInfo HostPage = objTabController.GetTabByName("Host", Null.NullInteger); if ((HostPage != null)) { Security.Permissions.TabPermissionCollection objTabPermissions = new Security.Permissions.TabPermissionCollection(); AddPagePermission(objTabPermissions, "View", Convert.ToInt32(Common.Globals.glbRoleSuperUser)); AddPagePermission(objTabPermissions, "Edit", Convert.ToInt32(Common.Globals.glbRoleSuperUser)); return AddPage(HostPage, TabName, Description, TabIconFile, TabIconFileLarge, IsVisible, objTabPermissions, true); } else { return null; } }