public static Skin GetSkin(PageBase Page) { Skin ctlSkin = null; string skinSource = Null.NullString; if ((Page.Request.QueryString["SkinSrc"] != null)) { skinSource = SkinController.FormatSkinSrc(Common.Globals.QueryStringDecode(Page.Request.QueryString["SkinSrc"]) + ".ascx", Page.PortalSettings); ctlSkin = LoadSkin(Page, skinSource); } if (ctlSkin == null) { if (Page.Request.Cookies["_SkinSrc" + Page.PortalSettings.PortalId.ToString()] != null) { if (!String.IsNullOrEmpty(Page.Request.Cookies["_SkinSrc" + Page.PortalSettings.PortalId.ToString()].Value)) { skinSource = SkinController.FormatSkinSrc(Page.Request.Cookies["_SkinSrc" + Page.PortalSettings.PortalId.ToString()].Value + ".ascx", Page.PortalSettings); ctlSkin = LoadSkin(Page, skinSource); } } } if (ctlSkin == null) { if (Common.Globals.IsAdminSkin()) { skinSource = SkinController.FormatSkinSrc(Page.PortalSettings.DefaultAdminSkin, Page.PortalSettings); } else { skinSource = Page.PortalSettings.ActiveTab.SkinSrc; } if (!String.IsNullOrEmpty(skinSource)) { skinSource = SkinController.FormatSkinSrc(skinSource, Page.PortalSettings); ctlSkin = LoadSkin(Page, skinSource); } } if (ctlSkin == null) { skinSource = SkinController.FormatSkinSrc(SkinController.GetDefaultPortalSkin(), Page.PortalSettings); ctlSkin = LoadSkin(Page, skinSource); } Page.PortalSettings.ActiveTab.SkinPath = SkinController.FormatSkinPath(skinSource); ctlSkin.ID = "dnn"; return(ctlSkin); }
private bool ProcessSlaveModule() { ModuleController objModules = new ModuleController(); ModuleInfo objModule = null; ModuleInfo slaveModule = null; int moduleId = -1; string key = ""; bool bSuccess = true; if (Request.QueryString["mid"] != null) { Int32.TryParse(Request.QueryString["mid"], out moduleId); } if (Request.QueryString["ctl"] != null) { key = Request.QueryString["ctl"]; } if (Request.QueryString["moduleid"] != null && (key.ToLower() == "module" || key.ToLower() == "help")) { Int32.TryParse(Request.QueryString["moduleid"], out moduleId); } if (moduleId != -1) { objModule = objModules.GetModule(moduleId, PortalSettings.ActiveTab.TabID, false); if (objModule != null) { slaveModule = objModule.Clone(); } } if (slaveModule == null) { slaveModule = new ModuleInfo(); slaveModule.ModuleID = moduleId; slaveModule.ModuleDefID = -1; slaveModule.TabID = PortalSettings.ActiveTab.TabID; } if (Request.QueryString["moduleid"] != null && (key.ToLower() == "module" || key.ToLower() == "help")) { slaveModule.ModuleDefID = -1; } if (Request.QueryString["dnnprintmode"] != "true") { slaveModule.ModuleTitle = ""; } slaveModule.Header = ""; slaveModule.Footer = ""; slaveModule.StartDate = DateTime.MinValue; slaveModule.EndDate = DateTime.MaxValue; slaveModule.PaneName = Common.Globals.glbDefaultPane; slaveModule.Visibility = VisibilityState.None; slaveModule.Color = ""; slaveModule.Border = ""; slaveModule.DisplayTitle = true; slaveModule.DisplayPrint = false; slaveModule.DisplaySyndicate = false; slaveModule.ContainerSrc = PortalSettings.ActiveTab.ContainerSrc; if (string.IsNullOrEmpty(slaveModule.ContainerSrc)) { slaveModule.ContainerSrc = PortalSettings.DefaultPortalContainer; } slaveModule.ContainerSrc = SkinController.FormatSkinSrc(slaveModule.ContainerSrc, PortalSettings); slaveModule.ContainerPath = SkinController.FormatSkinPath(slaveModule.ContainerSrc); Pane pane = null; bool bFound = Panes.TryGetValue(Common.Globals.glbDefaultPane.ToLowerInvariant(), out pane); ModuleControlInfo objModuleControl = ModuleControlController.GetModuleControlByControlKey(key, slaveModule.ModuleDefID); if (objModuleControl != null) { slaveModule.ModuleControlId = objModuleControl.ModuleControlID; slaveModule.IconFile = objModuleControl.IconFile; if (ModulePermissionController.HasModuleAccess(slaveModule.ModuleControl.ControlType, Null.NullString, slaveModule)) { bSuccess = InjectModule(pane, slaveModule); } else { Response.Redirect(Common.Globals.AccessDeniedURL(MODULEACCESS_ERROR), true); } } return(bSuccess); }
private Containers.Container LoadModuleContainer(ModuleInfo objModule) { Containers.Container ctlContainer = null; string containerSrc = Null.NullString; HttpRequest Request = PaneControl.Page.Request; int PreviewModuleId = -1; if (Request.QueryString["ModuleId"] != null) { Int32.TryParse(Request.QueryString["ModuleId"], out PreviewModuleId); } if ((Request.QueryString["ContainerSrc"] != null) && (objModule.ModuleID == PreviewModuleId || PreviewModuleId == -1)) { containerSrc = SkinController.FormatSkinSrc(Globals.QueryStringDecode(Request.QueryString["ContainerSrc"]) + ".ascx", PortalSettings); ctlContainer = LoadContainerByPath(containerSrc); } if (ctlContainer == null) { if (Request.Cookies["_ContainerSrc" + PortalSettings.PortalId.ToString()] != null) { if (!String.IsNullOrEmpty(Request.Cookies["_ContainerSrc" + PortalSettings.PortalId.ToString()].Value)) { containerSrc = SkinController.FormatSkinSrc(Request.Cookies["_ContainerSrc" + PortalSettings.PortalId.ToString()].Value + ".ascx", PortalSettings); ctlContainer = LoadContainerByPath(containerSrc); } } } if (ctlContainer == null) { if (objModule.DisplayTitle == false) { bool blnDisplayTitle = ModulePermissionController.CanEditModuleContent(objModule) || Globals.IsAdminSkin(); if (blnDisplayTitle == true) { blnDisplayTitle = (PortalSettings.UserMode != PortalSettings.Mode.View); } if (blnDisplayTitle == false) { containerSrc = SkinController.FormatSkinSrc("[G]" + SkinController.RootContainer + "/_default/No Container.ascx", PortalSettings); ctlContainer = LoadContainerByPath(containerSrc); } } } if (ctlContainer == null) { if (objModule.ContainerSrc == PortalSettings.ActiveTab.ContainerSrc) { if (PaneControl is HtmlControl) { HtmlControl objHtmlControl = (HtmlControl)PaneControl; if ((objHtmlControl.Attributes["ContainerSrc"] != null)) { bool validSrc = false; if ((objHtmlControl.Attributes["ContainerType"] != null) && (objHtmlControl.Attributes["ContainerName"] != null)) { containerSrc = "[" + objHtmlControl.Attributes["ContainerType"] + "]" + SkinController.RootContainer + "/" + objHtmlControl.Attributes["ContainerName"] + "/" + objHtmlControl.Attributes["ContainerSrc"]; validSrc = true; } else { containerSrc = objHtmlControl.Attributes["ContainerSrc"]; if (containerSrc.Contains("/")) { if (!(containerSrc.ToLower().StartsWith("[g]") || containerSrc.ToLower().StartsWith("[l]"))) { if (SkinController.IsGlobalSkin(PortalSettings.ActiveTab.SkinSrc)) { containerSrc = string.Format("[G]containers/{0}", containerSrc.TrimStart('/')); } else { containerSrc = string.Format("[L]containers/{0}", containerSrc.TrimStart('/')); } validSrc = true; } } } if (validSrc) { containerSrc = SkinController.FormatSkinSrc(containerSrc, PortalSettings); ctlContainer = LoadContainerByPath(containerSrc); } } } } } if (ctlContainer == null) { containerSrc = objModule.ContainerSrc; if (!String.IsNullOrEmpty(containerSrc)) { containerSrc = SkinController.FormatSkinSrc(containerSrc, PortalSettings); ctlContainer = LoadContainerByPath(containerSrc); } } if (ctlContainer == null) { containerSrc = SkinController.FormatSkinSrc(SkinController.GetDefaultPortalContainer(), PortalSettings); ctlContainer = LoadContainerByPath(containerSrc); } objModule.ContainerPath = SkinController.FormatSkinPath(containerSrc); ctlContainer.ID = "ctr"; if (objModule.ModuleID > -1) { ctlContainer.ID += objModule.ModuleID.ToString(); } return(ctlContainer); }