// // PORTAL // //********************************************************************* // // UpdatePortalInfo() Method <a name="UpdatePortalInfo"></a> // // The UpdatePortalInfo method updates the name and access settings for the portal. // These settings are stored in the Xml file PortalCfg.xml. // // Other relevant sources: // + <a href="#SaveSiteSettings" style="color:green">SaveSiteSettings() method</a> // + <a href="PortalCfg.xml" style="color:green">PortalCfg.xml</a> // //********************************************************************* public void UpdatePortalInfo(int portalId, String portalName, bool alwaysShow) { // Obtain SiteSettings from Current Context SiteConfiguration siteSettings = (SiteConfiguration)HttpContext.Current.Items["SiteSettings"]; // Get first record of the "Global" element SiteConfiguration.GlobalRow globalRow = siteSettings.Global.FindByPortalId(portalId); // Update the values globalRow.PortalId = portalId; globalRow.PortalName = portalName; globalRow.AlwaysShowEditButton = alwaysShow; // Save the changes SaveSiteSettings(); }
//********************************************************************* // // PortalSettings Constructor // // The PortalSettings Constructor encapsulates all of the logic // necessary to obtain configuration settings necessary to render // a Portal Tab view for a given request. // // These Portal Settings are stored within PortalCFG.xml, and are // fetched below by calling config.GetSiteSettings(). // The method config.GetSiteSettings() fills the SiteConfiguration // class, derived from a DataSet, which PortalSettings accesses. // //********************************************************************* public PortalSettings(int tabIndex, int tabId) { // Get the configuration data SiteConfiguration siteSettings = Configuration.GetSiteSettings(); // Read the Desktop Tab Information, and sort by Tab Order foreach (SiteConfiguration.TabRow tRow in siteSettings.Tab.Select("", "TabOrder")) { TabStripDetails tabDetails = new TabStripDetails(); tabDetails.TabId = tRow.TabId; tabDetails.TabName = tRow.TabName; tabDetails.TabOrder = tRow.TabOrder; tabDetails.AuthorizedRoles = tRow.AccessRoles; this.DesktopTabs.Add(tabDetails); } // If the PortalSettings.ActiveTab property is set to 0, change it to // the TabID of the first tab in the DesktopTabs collection if (this.ActiveTab.TabId == 0) { this.ActiveTab.TabId = ((TabStripDetails)this.DesktopTabs[0]).TabId; } // Read the Mobile Tab Information, and sort by Tab Order foreach (SiteConfiguration.TabRow mRow in siteSettings.Tab.Select("ShowMobile='true'", "TabOrder")) { TabStripDetails tabDetails = new TabStripDetails(); tabDetails.TabId = mRow.TabId; tabDetails.TabName = mRow.MobileTabName; tabDetails.AuthorizedRoles = mRow.AccessRoles; this.MobileTabs.Add(tabDetails); } // Read the Module Information for the current (Active) tab SiteConfiguration.TabRow activeTab = siteSettings.Tab.FindByTabId(tabId); // Get Modules for this Tab based on the Data Relation foreach (SiteConfiguration.ModuleRow moduleRow in activeTab.GetModuleRows()) { ModuleSettings moduleSettings = new ModuleSettings(); moduleSettings.ModuleTitle = moduleRow.ModuleTitle; moduleSettings.ModuleId = moduleRow.ModuleId; moduleSettings.ModuleDefId = moduleRow.ModuleDefId; moduleSettings.ModuleOrder = moduleRow.ModuleOrder; moduleSettings.TabId = tabId; moduleSettings.PaneName = moduleRow.PaneName; moduleSettings.AuthorizedEditRoles = moduleRow.EditRoles; moduleSettings.CacheTime = moduleRow.CacheTimeout; moduleSettings.ShowMobile = moduleRow.ShowMobile; // ModuleDefinition data SiteConfiguration.ModuleDefinitionRow modDefRow = siteSettings.ModuleDefinition.FindByModuleDefId(moduleSettings.ModuleDefId); moduleSettings.DesktopSrc = modDefRow.DesktopSourceFile; moduleSettings.MobileSrc = modDefRow.MobileSourceFile; this.ActiveTab.Modules.Add(moduleSettings); } // Sort the modules in order of ModuleOrder this.ActiveTab.Modules.Sort(); // Get the first row in the Global table SiteConfiguration.GlobalRow globalSettings = (SiteConfiguration.GlobalRow)siteSettings.Global.Rows[0]; // Read Portal global settings this.PortalId = globalSettings.PortalId; this.PortalName = globalSettings.PortalName; this.AlwaysShowEditButton = globalSettings.AlwaysShowEditButton; this.ActiveTab.TabIndex = tabIndex; this.ActiveTab.TabId = tabId; this.ActiveTab.TabOrder = activeTab.TabOrder; this.ActiveTab.MobileTabName = activeTab.MobileTabName; this.ActiveTab.AuthorizedRoles = activeTab.AccessRoles; this.ActiveTab.TabName = activeTab.TabName; this.ActiveTab.ShowMobile = activeTab.ShowMobile; }