private string GetSkin() { //attempt to find and load a skin from the assigned skinned source var tabController = new TabController(); var skinSource = PortalSettings.DefaultPortalSkin; var tab = tabController.GetTab(TabId, PortalId, false); if (!string.IsNullOrEmpty(tab.SkinSrc)) { skinSource = tab.SkinSrc; } else { skinSource = SkinController.FormatSkinPath(skinSource) + "groups.ascx"; var physicalSkinFile = SkinController.FormatSkinSrc(skinSource, PortalSettings); if (!File.Exists(HttpContext.Current.Server.MapPath(physicalSkinFile))) { skinSource = ""; //this will load the default skin } } return(skinSource); }
protected virtual void UpdateSkinSettings(TabInfo activeTab, PortalSettings portalSettings) { if (Globals.IsAdminSkin()) { //DNN-6170 ensure skin value is culture specific activeTab.SkinSrc = String.IsNullOrEmpty(PortalController.GetPortalSetting("DefaultAdminSkin", portalSettings.PortalId, Host.Host.DefaultAdminSkin, portalSettings.CultureCode)) ? portalSettings.DefaultAdminSkin : PortalController.GetPortalSetting("DefaultAdminSkin", portalSettings.PortalId, Host.Host.DefaultAdminSkin, portalSettings.CultureCode); } else if (String.IsNullOrEmpty(activeTab.SkinSrc)) { //DNN-6170 ensure skin value is culture specific activeTab.SkinSrc = String.IsNullOrEmpty(PortalController.GetPortalSetting("DefaultPortalSkin", portalSettings.PortalId, Host.Host.DefaultPortalSkin, portalSettings.CultureCode)) ? portalSettings.DefaultPortalSkin : PortalController.GetPortalSetting("DefaultPortalSkin", portalSettings.PortalId, Host.Host.DefaultPortalSkin, portalSettings.CultureCode); } activeTab.SkinSrc = SkinController.FormatSkinSrc(activeTab.SkinSrc, portalSettings); activeTab.SkinPath = SkinController.FormatSkinPath(activeTab.SkinSrc); if (Globals.IsAdminSkin()) { activeTab.ContainerSrc = String.IsNullOrEmpty(PortalController.GetPortalSetting("DefaultAdminContainer", portalSettings.PortalId, Host.Host.DefaultAdminContainer, portalSettings.CultureCode)) ? portalSettings.DefaultAdminContainer : PortalController.GetPortalSetting("DefaultAdminContainer", portalSettings.PortalId, Host.Host.DefaultAdminContainer, portalSettings.CultureCode); } else if (String.IsNullOrEmpty(activeTab.ContainerSrc)) { activeTab.ContainerSrc = String.IsNullOrEmpty(PortalController.GetPortalSetting("DefaultPortalContainer", portalSettings.PortalId, Host.Host.DefaultPortalContainer, portalSettings.CultureCode)) ? portalSettings.DefaultPortalContainer : PortalController.GetPortalSetting("DefaultPortalContainer", portalSettings.PortalId, Host.Host.DefaultPortalContainer, portalSettings.CultureCode); } activeTab.ContainerSrc = SkinController.FormatSkinSrc(activeTab.ContainerSrc, portalSettings); activeTab.ContainerPath = SkinController.FormatSkinPath(activeTab.ContainerSrc); }
protected virtual void UpdateSkinSettings(TabInfo activeTab, PortalSettings portalSettings) { if (Globals.IsAdminSkin()) { activeTab.SkinSrc = portalSettings.DefaultAdminSkin; } else if (String.IsNullOrEmpty(activeTab.SkinSrc)) { activeTab.SkinSrc = portalSettings.DefaultPortalSkin; } activeTab.SkinSrc = SkinController.FormatSkinSrc(activeTab.SkinSrc, portalSettings); activeTab.SkinPath = SkinController.FormatSkinPath(activeTab.SkinSrc); if (Globals.IsAdminSkin()) { activeTab.ContainerSrc = portalSettings.DefaultAdminContainer; } else if (String.IsNullOrEmpty(activeTab.ContainerSrc)) { activeTab.ContainerSrc = portalSettings.DefaultPortalContainer; } activeTab.ContainerSrc = SkinController.FormatSkinSrc(activeTab.ContainerSrc, portalSettings); activeTab.ContainerPath = SkinController.FormatSkinPath(activeTab.ContainerSrc); }
public static string GetSkinTemplateFolder(PortalSettings portalSettings, string moduleSubDir) { var SkinPath = portalSettings.ActiveTab.SkinPath; if (string.IsNullOrEmpty(SkinPath)) { var SkinSrc = SkinController.FormatSkinSrc(!string.IsNullOrEmpty(portalSettings.ActiveTab.SkinSrc) ? portalSettings.ActiveTab.SkinSrc : portalSettings.DefaultPortalSkin, portalSettings); SkinPath = SkinController.FormatSkinPath(SkinSrc); //SkinPath = DotNetNuke.Entities.Tabs.TabController.Instance.GetTab(portalSettings.ActiveTab.TabID, portalSettings.PortalId).SkinPath; } return(SkinPath + moduleSubDir + "/Templates/"); }
public ThemeFileInfo GetThemeFile(PortalSettings portalSettings, string filePath, ThemeType type) { var themeName = SkinController.FormatSkinPath(filePath) .Substring(filePath.IndexOf("/", StringComparison.InvariantCultureIgnoreCase) + 1) .Replace("/", string.Empty); var themeInfo = (type == ThemeType.Skin ? GetLayouts(portalSettings, ThemeLevel.Global | ThemeLevel.Site) : GetContainers(portalSettings, ThemeLevel.Global | ThemeLevel.Site)) .FirstOrDefault(t => t.PackageName.Equals(themeName, StringComparison.InvariantCultureIgnoreCase)); if (themeInfo != null) { return(GetThemeFiles(portalSettings, themeInfo).FirstOrDefault(f => (f.Path + ".ascx").Equals(filePath, StringComparison.InvariantCultureIgnoreCase))); } return(null); }
private static void ConfigureModule(ModuleInfo cloneModule, TabInfo tab) { if (Null.IsNull(cloneModule.StartDate)) { cloneModule.StartDate = DateTime.MinValue; } if (Null.IsNull(cloneModule.EndDate)) { cloneModule.EndDate = DateTime.MaxValue; } if (String.IsNullOrEmpty(cloneModule.ContainerSrc)) { cloneModule.ContainerSrc = tab.ContainerSrc; } cloneModule.ContainerSrc = SkinController.FormatSkinSrc(cloneModule.ContainerSrc, PortalSettings.Current); cloneModule.ContainerPath = SkinController.FormatSkinPath(cloneModule.ContainerSrc); }
private void GetPortalSettings(int tabID, PortalInfo portal) { ModuleController objModules = new ModuleController(); ModuleInfo objModule; this.PortalId = portal.PortalID; this.PortalName = portal.PortalName; this.LogoFile = portal.LogoFile; this.FooterText = portal.FooterText; this.ExpiryDate = portal.ExpiryDate; this.UserRegistration = portal.UserRegistration; this.BannerAdvertising = portal.BannerAdvertising; this.Currency = portal.Currency; this.AdministratorId = portal.AdministratorId; this.Email = portal.Email; this.HostFee = portal.HostFee; this.HostSpace = portal.HostSpace; this.PageQuota = portal.PageQuota; this.UserQuota = portal.UserQuota; this.AdministratorRoleId = portal.AdministratorRoleId; this.AdministratorRoleName = portal.AdministratorRoleName; this.RegisteredRoleId = portal.RegisteredRoleId; this.RegisteredRoleName = portal.RegisteredRoleName; this.Description = portal.Description; this.KeyWords = portal.KeyWords; this.BackgroundFile = portal.BackgroundFile; this.GUID = portal.GUID; this.SiteLogHistory = portal.SiteLogHistory; this.AdminTabId = portal.AdminTabId; this.SuperTabId = portal.SuperTabId; this.SplashTabId = portal.SplashTabId; this.HomeTabId = portal.HomeTabId; this.LoginTabId = portal.LoginTabId; this.RegisterTabId = portal.RegisterTabId; this.UserTabId = portal.UserTabId; this.DefaultLanguage = portal.DefaultLanguage; this.TimeZoneOffset = portal.TimeZoneOffset; this.HomeDirectory = portal.HomeDirectory; this.Pages = portal.Pages; this.Users = portal.Users; if (Null.IsNull(this.HostSpace)) { this.HostSpace = 0; } if (Null.IsNull(this.DefaultLanguage)) { this.DefaultLanguage = Localization.SystemLocale; } if (Null.IsNull(this.TimeZoneOffset)) { this.TimeZoneOffset = Localization.SystemTimeZoneOffset; } this.HomeDirectory = Common.Globals.ApplicationPath + "/" + portal.HomeDirectory + "/"; if (VerifyPortalTab(PortalId, tabID)) { if (this.ActiveTab != null) { if (Globals.IsAdminSkin()) { this.ActiveTab.SkinSrc = this.DefaultAdminSkin; } else { if (String.IsNullOrEmpty(this.ActiveTab.SkinSrc)) { this.ActiveTab.SkinSrc = this.DefaultPortalSkin; } } this.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(this.ActiveTab.SkinSrc, this); this.ActiveTab.SkinPath = SkinController.FormatSkinPath(this.ActiveTab.SkinSrc); if (Globals.IsAdminSkin()) { this.ActiveTab.ContainerSrc = this.DefaultAdminContainer; } else { if (String.IsNullOrEmpty(this.ActiveTab.ContainerSrc)) { this.ActiveTab.ContainerSrc = this.DefaultPortalContainer; } } this.ActiveTab.ContainerSrc = SkinController.FormatSkinSrc(this.ActiveTab.ContainerSrc, this); this.ActiveTab.ContainerPath = SkinController.FormatSkinPath(this.ActiveTab.ContainerSrc); this.ActiveTab.Panes = new ArrayList(); this.ActiveTab.Modules = new ArrayList(); ArrayList crumbs = new ArrayList(); GetBreadCrumbsRecursively(ref crumbs, this.ActiveTab.TabID); this.ActiveTab.BreadCrumbs = crumbs; } } if (this.ActiveTab != null) { Dictionary <string, int> objPaneModules = new Dictionary <string, int>(); foreach (KeyValuePair <int, ModuleInfo> kvp in objModules.GetTabModules(this.ActiveTab.TabID)) { ModuleInfo cloneModule = kvp.Value.Clone(); if (Null.IsNull(cloneModule.StartDate)) { cloneModule.StartDate = System.DateTime.MinValue; } if (Null.IsNull(cloneModule.EndDate)) { cloneModule.EndDate = System.DateTime.MaxValue; } if (String.IsNullOrEmpty(cloneModule.ContainerSrc)) { cloneModule.ContainerSrc = this.ActiveTab.ContainerSrc; } cloneModule.ContainerSrc = SkinController.FormatSkinSrc(cloneModule.ContainerSrc, this); cloneModule.ContainerPath = SkinController.FormatSkinPath(cloneModule.ContainerSrc); if (objPaneModules.ContainsKey(cloneModule.PaneName) == false) { objPaneModules.Add(cloneModule.PaneName, 0); } cloneModule.PaneModuleCount = 0; if (!cloneModule.IsDeleted) { objPaneModules[cloneModule.PaneName] = objPaneModules[cloneModule.PaneName] + 1; cloneModule.PaneModuleIndex = objPaneModules[cloneModule.PaneName] - 1; } this.ActiveTab.Modules.Add(cloneModule); } foreach (ModuleInfo module in this.ActiveTab.Modules) { module.PaneModuleCount = objPaneModules[module.PaneName]; } } }
protected void Page_Init(Object sender, EventArgs e) { InitializePage(); UserControl ctlSkin = null; if (Request.QueryString["SkinSrc"] != null) { PortalSettings.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(Globals.QueryStringDecode(Request.QueryString["SkinSrc"]) + ".ascx", PortalSettings); ctlSkin = LoadSkin(PortalSettings.ActiveTab.SkinSrc); } // load user skin ( based on cookie ) if (ctlSkin == null) { if (Request.Cookies["_SkinSrc" + PortalSettings.PortalId] != null) { if (!String.IsNullOrEmpty(Request.Cookies["_SkinSrc" + PortalSettings.PortalId].Value)) { PortalSettings.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(Request.Cookies["_SkinSrc" + PortalSettings.PortalId].Value + ".ascx", PortalSettings); ctlSkin = LoadSkin(PortalSettings.ActiveTab.SkinSrc); } } } // load assigned skin if (ctlSkin == null) { if (Globals.IsAdminSkin(PortalSettings.ActiveTab.IsAdminTab)) { SkinInfo objSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalSettings.PortalId, SkinType.Admin); if (objSkin != null) { PortalSettings.ActiveTab.SkinSrc = objSkin.SkinSrc; } else { PortalSettings.ActiveTab.SkinSrc = ""; } } if (!String.IsNullOrEmpty(PortalSettings.ActiveTab.SkinSrc)) { PortalSettings.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(PortalSettings.ActiveTab.SkinSrc, PortalSettings); ctlSkin = LoadSkin(PortalSettings.ActiveTab.SkinSrc); } } // error loading skin - load default if (ctlSkin == null) { // could not load skin control - load default skin if (Globals.IsAdminSkin(PortalSettings.ActiveTab.IsAdminTab)) { PortalSettings.ActiveTab.SkinSrc = Globals.HostPath + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultAdminSkin; } else { PortalSettings.ActiveTab.SkinSrc = Globals.HostPath + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultSkin; } ctlSkin = LoadSkin(PortalSettings.ActiveTab.SkinSrc); } // set skin path PortalSettings.ActiveTab.SkinPath = SkinController.FormatSkinPath(PortalSettings.ActiveTab.SkinSrc); // set skin id to an explicit short name to reduce page payload and make it standards compliant ctlSkin.ID = "dnn"; // add CSS links ManageStyleSheets(false); // add skin to page SkinPlaceHolder.Controls.Add(ctlSkin); // add CSS links ManageStyleSheets(true); // ClientCallback Logic ClientAPI.HandleClientAPICallbackEvent(this); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); chkHost.CheckedChanged += OnHostCheckChanged; chkSite.CheckedChanged += OnSiteCheckChanged; cmdDelete.Click += OnDeleteClick; cmdParse.Click += OnParseClick; cmdRestore.Click += OnRestoreClick; lblLegacy.Visible = false; string strSkin; var strContainer = Null.NullString; try { cmdDelete.Visible = true; if (Page.IsPostBack == false) { LoadCombos(); } typeRow.Visible = !PortalSettings.ActiveTab.IsSuperTab; if (!Page.IsPostBack) { string strURL; if (Request.QueryString["Name"] != null) { strURL = Request.MapPath(GetSkinPath(Convert.ToString(Request.QueryString["Type"]), Convert.ToString(Request.QueryString["Root"]), Convert.ToString(Request.QueryString["Name"]))); strSkin = strURL.Replace(Globals.ApplicationMapPath, "").ToLowerInvariant(); } else { //Get the current portal skin var skinSrc = !string.IsNullOrEmpty(PortalSettings.DefaultPortalSkin) ? PortalSettings.DefaultPortalSkin : SkinController.GetDefaultPortalSkin(); strURL = Request.MapPath(SkinController.FormatSkinPath(SkinController.FormatSkinSrc(skinSrc, PortalSettings))); strURL = strURL.Substring(0, strURL.LastIndexOf("\\")); strSkin = strURL.Replace(Globals.ApplicationMapPath, "").ToLowerInvariant(); } if (!string.IsNullOrEmpty(strSkin)) { strContainer = strSkin.Replace("\\" + SkinController.RootSkin.ToLowerInvariant() + "\\", "\\" + SkinController.RootContainer.ToLowerInvariant() + "\\"); } SetSkin(strSkin); SetContainer(strContainer); } else { strSkin = cboSkins.SelectedValue; strContainer = cboContainers.SelectedValue; if (strSkin != CurrentSkin) { strContainer = strSkin.Replace("\\" + SkinController.RootSkin.ToLowerInvariant() + "\\", "\\" + SkinController.RootContainer.ToLowerInvariant() + "\\"); SetSkin(strSkin); SetContainer(strContainer); } else if (strContainer != CurrentContainer) { SetSkin(_notSpecified); SetContainer(strContainer); } } ShowSkins(); ShowContainers(); } catch (Exception exc) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exc); } }
private void LoadSkins() { string strRoot; string strFolder; string[] arrFolders; string strName; string strSkin; cboSkins.Items.Clear(); cboSkins.Items.Add("<" + Localization.GetString("Not_Specified") + ">"); // load host skins if (chkHost.Checked) { strRoot = Request.MapPath(Globals.HostPath + SkinInfo.RootSkin); if (Directory.Exists(strRoot)) { arrFolders = Directory.GetDirectories(strRoot); foreach (string tempLoopVar_strFolder in arrFolders) { strFolder = tempLoopVar_strFolder; //strName = strFolder.Substring( strFolder.LastIndexOf( "\\" ) + 1 - 1 ); strName = strFolder.Substring(strFolder.LastIndexOf("\\") + 1 - 1); strSkin = strFolder.Replace(Globals.ApplicationMapPath, ""); if (strName != "_default") { cboSkins.Items.Add(new ListItem(strName, strSkin.ToLower())); } } } } // load portal skins if (chkSite.Checked) { strRoot = PortalSettings.HomeDirectoryMapPath + SkinInfo.RootSkin; if (Directory.Exists(strRoot)) { arrFolders = Directory.GetDirectories(strRoot); foreach (string tempLoopVar_strFolder in arrFolders) { strFolder = tempLoopVar_strFolder; strName = strFolder.Substring(strFolder.LastIndexOf("\\") + 1 - 1); strSkin = strFolder.Replace(Globals.ApplicationMapPath, ""); cboSkins.Items.Add(new ListItem(strName, strSkin.ToLower())); } } } if (!Page.IsPostBack) { string strURL; if (Request.QueryString["Name"] != null) { strURL = Request.MapPath(GetSkinPath(Convert.ToString(Request.QueryString["Type"]), SkinInfo.RootSkin, Convert.ToString(Request.QueryString["Name"]))); } else { //Get the current portal skin string skinSrc; SkinInfo objSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalSettings.PortalId, SkinType.Portal); if (objSkin != null) { skinSrc = objSkin.SkinSrc; } else { skinSrc = "[G]" + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultSkin; } strURL = Request.MapPath(SkinController.FormatSkinPath(SkinController.FormatSkinSrc(skinSrc, PortalSettings))); strURL = strURL.Substring(0, strURL.LastIndexOf("\\")); } strSkin = strURL.Replace(Globals.ApplicationMapPath, ""); if (cboSkins.Items.FindByValue(strSkin.ToLower()) != null) { cboSkins.Items.FindByValue(strSkin.ToLower()).Selected = true; ShowSkins(); } } }
/// <summary> /// The GetPortalSettings method builds the site Settings /// </summary> /// <remarks> /// </remarks> /// <param name="TabId">The current tabs id</param> /// <param name="objPortalAliasInfo">The Portal Alias object</param> private void GetPortalSettings(int TabId, PortalAliasInfo objPortalAliasInfo) { PortalController objPortals = new PortalController(); PortalInfo objPortal = null; TabController objTabs = new TabController(); ModuleController objModules = new ModuleController(); ModuleInfo objModule = null; SkinInfo objSkin = null; PortalId = objPortalAliasInfo.PortalID; // get portal settings objPortal = objPortals.GetPortal(PortalId); if (objPortal != null) { this.PortalAlias = objPortalAliasInfo; this.PortalId = objPortal.PortalID; this.PortalName = objPortal.PortalName; this.LogoFile = objPortal.LogoFile; this.FooterText = objPortal.FooterText; this.ExpiryDate = objPortal.ExpiryDate; this.UserRegistration = objPortal.UserRegistration; this.BannerAdvertising = objPortal.BannerAdvertising; this.Currency = objPortal.Currency; this.AdministratorId = objPortal.AdministratorId; this.Email = objPortal.Email; this.HostFee = objPortal.HostFee; this.HostSpace = objPortal.HostSpace; this.PageQuota = objPortal.PageQuota; this.UserQuota = objPortal.UserQuota; this.AdministratorRoleId = objPortal.AdministratorRoleId; this.AdministratorRoleName = objPortal.AdministratorRoleName; this.RegisteredRoleId = objPortal.RegisteredRoleId; this.RegisteredRoleName = objPortal.RegisteredRoleName; this.Description = objPortal.Description; this.KeyWords = objPortal.KeyWords; this.BackgroundFile = objPortal.BackgroundFile; this.GUID = objPortal.GUID; this.SiteLogHistory = objPortal.SiteLogHistory; this.AdminTabId = objPortal.AdminTabId; this.SuperTabId = objPortal.SuperTabId; this.SplashTabId = objPortal.SplashTabId; this.HomeTabId = objPortal.HomeTabId; this.LoginTabId = objPortal.LoginTabId; this.UserTabId = objPortal.UserTabId; this.DefaultLanguage = objPortal.DefaultLanguage; this.TimeZoneOffset = objPortal.TimeZoneOffset; this.HomeDirectory = objPortal.HomeDirectory; this.Version = objPortal.Version; this.AdminSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Admin); this.PortalSkin = SkinController.GetSkin(SkinInfo.RootSkin, PortalId, SkinType.Portal); this.AdminContainer = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Admin); this.PortalContainer = SkinController.GetSkin(SkinInfo.RootContainer, PortalId, SkinType.Portal); this.Pages = objPortal.Pages; this.Users = objPortal.Users; // set custom properties if (Null.IsNull(this.HostSpace)) { this.HostSpace = 0; } if (Null.IsNull(this.DefaultLanguage)) { this.DefaultLanguage = Localization.SystemLocale; } if (Null.IsNull(this.TimeZoneOffset)) { this.TimeZoneOffset = Localization.SystemTimeZoneOffset; } this.HomeDirectory = Globals.ApplicationPath + "/" + objPortal.HomeDirectory + "/"; // get application version Array arrVersion = Globals.glbAppVersion.Split(Convert.ToChar(".")); int intMajor = Convert.ToInt32(arrVersion.GetValue((0))); int intMinor = Convert.ToInt32(arrVersion.GetValue((1))); int intBuild = Convert.ToInt32(arrVersion.GetValue((2))); this.Version = string.Format("{0}.{1}.{2}", intMajor, intMinor, intBuild); } //Add each portal Tab to DekstopTabs TabInfo objPortalTab = null; foreach (KeyValuePair <int, TabInfo> tabPair in objTabs.GetTabsByPortal(this.PortalId)) { // clone the tab object ( to avoid creating an object reference to the data cache ) objPortalTab = tabPair.Value.Clone(); // set custom properties if (objPortalTab.TabOrder == 0) { objPortalTab.TabOrder = 999; } if (Null.IsNull(objPortalTab.StartDate)) { objPortalTab.StartDate = DateTime.MinValue; } if (Null.IsNull(objPortalTab.EndDate)) { objPortalTab.EndDate = DateTime.MaxValue; } objPortalTab.IsSuperTab = false; this.DesktopTabs.Add(objPortalTab); } //Add each host Tab to DesktopTabs TabInfo objHostTab = null; foreach (KeyValuePair <int, TabInfo> tabPair in objTabs.GetTabsByPortal(Null.NullInteger)) { // clone the tab object ( to avoid creating an object reference to the data cache ) objHostTab = tabPair.Value.Clone(); objHostTab.PortalID = this.PortalId; objHostTab.StartDate = DateTime.MinValue; objHostTab.EndDate = DateTime.MaxValue; objHostTab.IsSuperTab = true; this.DesktopTabs.Add(objHostTab); } //At this point the DesktopTabs Collection contains all the Tabs for the current portal //verify tab for portal. This assigns the Active Tab based on the Tab Id/PortalId if (VerifyPortalTab(PortalId, TabId)) { if (this.ActiveTab != null) { // skin if (this.ActiveTab.SkinSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { objSkin = this.AdminSkin; } else { objSkin = this.PortalSkin; } if (objSkin != null) { this.ActiveTab.SkinSrc = objSkin.SkinSrc; } } if (this.ActiveTab.SkinSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { this.ActiveTab.SkinSrc = "[G]" + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultAdminSkin; } else { this.ActiveTab.SkinSrc = "[G]" + SkinInfo.RootSkin + Globals.glbDefaultSkinFolder + Globals.glbDefaultSkin; } } this.ActiveTab.SkinSrc = SkinController.FormatSkinSrc(this.ActiveTab.SkinSrc, this); this.ActiveTab.SkinPath = SkinController.FormatSkinPath(this.ActiveTab.SkinSrc); // container if (this.ActiveTab.ContainerSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { objSkin = this.AdminContainer; } else { objSkin = this.PortalContainer; } if (objSkin != null) { this.ActiveTab.ContainerSrc = objSkin.SkinSrc; } } if (this.ActiveTab.ContainerSrc == "") { if (Globals.IsAdminSkin(this.ActiveTab.IsAdminTab)) { this.ActiveTab.ContainerSrc = "[G]" + SkinInfo.RootContainer + Globals.glbDefaultContainerFolder + Globals.glbDefaultAdminContainer; } else { this.ActiveTab.ContainerSrc = "[G]" + SkinInfo.RootContainer + Globals.glbDefaultContainerFolder + Globals.glbDefaultContainer; } } this.ActiveTab.ContainerSrc = SkinController.FormatSkinSrc(this.ActiveTab.ContainerSrc, this); this.ActiveTab.ContainerPath = SkinController.FormatSkinPath(this.ActiveTab.ContainerSrc); // initialize collections this.ActiveTab.BreadCrumbs = new ArrayList(); this.ActiveTab.Panes = new ArrayList(); this.ActiveTab.Modules = new ArrayList(); // get breadcrumbs for current tab GetBreadCrumbsRecursively(this.ActiveTab.BreadCrumbs, this.ActiveTab.TabID); } } Hashtable objPaneModules = new Hashtable(); // get current tab modules foreach (KeyValuePair <int, ModuleInfo> kvp in objModules.GetTabModules(this.ActiveTab.TabID)) { objModule = kvp.Value; // clone the module object ( to avoid creating an object reference to the data cache ) ModuleInfo cloneModule = objModule.Clone(); // set custom properties if (Null.IsNull(cloneModule.StartDate)) { cloneModule.StartDate = DateTime.MinValue; } if (Null.IsNull(cloneModule.EndDate)) { cloneModule.EndDate = DateTime.MaxValue; } // container if (cloneModule.ContainerSrc == "") { cloneModule.ContainerSrc = this.ActiveTab.ContainerSrc; } cloneModule.ContainerSrc = SkinController.FormatSkinSrc(cloneModule.ContainerSrc, this); cloneModule.ContainerPath = SkinController.FormatSkinPath(cloneModule.ContainerSrc); // process tab panes if (objPaneModules.ContainsKey(cloneModule.PaneName) == false) { objPaneModules.Add(cloneModule.PaneName, 0); } cloneModule.PaneModuleCount = 0; if (!cloneModule.IsDeleted) { objPaneModules[cloneModule.PaneName] = Convert.ToInt32(objPaneModules[cloneModule.PaneName]) + 1; cloneModule.PaneModuleIndex = Convert.ToInt32(objPaneModules[cloneModule.PaneName]) - 1; } this.ActiveTab.Modules.Add(cloneModule); } // set pane module count foreach (ModuleInfo objModuleWithinLoop in this.ActiveTab.Modules) { objModule = objModuleWithinLoop; objModuleWithinLoop.PaneModuleCount = Convert.ToInt32(objPaneModules[objModuleWithinLoop.PaneName]); } }