Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }