Example #1
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            try {
                if (!IsPostBack)
                {
                    var showModule = false;
                    // TODO: Add support for userid querystring parameter?
                    // TODO: Don't show content on profile page of different user.
                    if (Request.IsAuthenticated)
                    {
                        if (ModulePermissionController.CanEditModuleContent(ModuleConfiguration))
                        {
                            ShowEditPanel();
                            showModule = true;
                        }
                        else if (!IsOnProfilePage() || IsOnOwnProfilePage())
                        {
                            ShowMyContent();
                            showModule = true;
                        }
                    }

                    if (!showModule)
                    {
                        HideModule();
                    }
                }
            }
            catch (Exception ex) {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }
Example #2
0
 private void GetPermissions(object sender, EventArgs e)
 {
     //View.Model.CanEdit = PortalSecurity.HasNecessaryPermission(SecurityAccessLevel.Edit, ModuleContext.PortalSettings, ModuleInfo, ModuleContext.PortalSettings.UserInfo);
     View.Model.CanEdit      = ModulePermissionController.CanEditModuleContent(ModuleInfo);
     View.Model.EditEnabled  = (ModuleContext.PortalSettings.UserMode != PortalSettings.Mode.View) && View.Model.CanEdit;
     View.Model.CanSubscribe = ModulePermissionController.HasModulePermission(ModuleInfo.ModulePermissions, PermissionName.HasSubscribePermission);
 }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// DataBind binds the data to the controls
        /// </summary>
        /// <history>
        ///     [cnurse]	03/10/2006  Created
        /// </history>
        /// -----------------------------------------------------------------------------
        public override void DataBind()
        {
            if (!ModulePermissionController.CanEditModuleContent(ModuleConfiguration))
            {
                Response.Redirect(Globals.NavigateURL("Access Denied"), true);
            }
            base.DataBind();

            //this needs to execute always to the client script code is registred in InvokePopupCal
            cmdEffectiveCalendar.NavigateUrl = Calendar.InvokePopupCal(txtEffectiveDate);
            cmdExpiryCalendar.NavigateUrl    = Calendar.InvokePopupCal(txtExpiryDate);

            string localizedCalendarText = Localization.GetString("Calendar");
            string calendarText          = "<img src='" + ResolveUrl("~/images/calendar.png") + "' border='0' alt='" + localizedCalendarText + "'>";

            cmdExpiryCalendar.Text    = calendarText;
            cmdEffectiveCalendar.Text = calendarText;

            //Localize Headers
            Localization.LocalizeDataGrid(ref grdUserRoles, LocalResourceFile);

            //Bind the role data to the datalist
            BindData();

            BindGrid();
        }
Example #4
0
        //public ModuleSecurity(int moduleId, int tabId, Hashtable settings)
        //{
        //    var moduleController = new ModuleController();
        //    var s = settings ?? moduleController.GetModuleSettings(moduleId);
        //    Settings = new Settings(s);
        //    return this.ModuleSecurity(moduleId, tabId, Settings);
        //}

        public ModuleSecurity(int moduleId, int tabId, Components.Settings settings)
        {
            var moduleController = new ModuleController();

            Settings = settings ?? new Settings(moduleController.GetModuleSettings(moduleId));
            var moduleInfo = moduleController.GetModule(moduleId, tabId);

            if (moduleInfo == null)
            {
                return;
            }
            var mp = moduleInfo.ModulePermissions;

            _hasEditRowPermission                   = ModulePermissionController.HasModulePermission(mp, PermissionName.HasEditRowPermission);
            _hasDeleteRowPermission                 = ModulePermissionController.HasModulePermission(mp, PermissionName.HasDeleteRowPermission);
            _hasAddRowPermission                    = ModulePermissionController.HasModulePermission(mp, PermissionName.HasAddRowPermission);
            _hasEditPrivateColumnsPermission        = ModulePermissionController.HasModulePermission(mp, PermissionName.EditRestricedFieldsPermission);
            _hasShowAllUserDefinedColumnsPermission = ModulePermissionController.HasModulePermission(mp, PermissionName.ShowAllUserDefinedColumnsPermission);
            _canEditModuleContent                   = ModulePermissionController.CanEditModuleContent(moduleInfo);
            _canManageModule = ModulePermissionController.CanManageModule(moduleInfo);

            _hasViewListPermission = ModulePermissionController.HasModulePermission(mp,
                                                                                    PermissionName.ShowListPermission);
            _isOnlyAllowedToManipulateHisOwnData = Settings.EditOnlyOwnItems;
        }
Example #5
0
        private Containers.Container LoadNoContainer(ModuleInfo module)
        {
            string noContainerSrc = "[G]" + SkinController.RootContainer + "/_default/No Container.ascx";

            Containers.Container container = null;

            // if the module specifies that no container should be used
            if (module.DisplayTitle == false)
            {
                // always display container if the current user is the administrator or the module is being used in an admin case
                bool displayTitle = ModulePermissionController.CanEditModuleContent(module) || Globals.IsAdminSkin();

                // unless the administrator is in view mode
                if (displayTitle)
                {
                    displayTitle = Personalization.GetUserMode() != PortalSettings.Mode.View;
                }

                if (displayTitle == false)
                {
                    container = this.LoadContainerByPath(SkinController.FormatSkinSrc(noContainerSrc, this.PortalSettings));
                }
            }

            return(container);
        }
        /// <summary>
        ///   Determines whether the current request is from a user who can edit content for the given <paramref name = "moduleId" />.
        /// </summary>
        /// <param name = "moduleId">The ID of the module against which to check permissions.</param>
        /// <returns>
        ///   <c>true</c> if the current request is cleared to edit content for the given module; otherwise, <c>false</c>.
        /// </returns>
        private bool CanEditModule(int moduleId)
        {
            if (!this.Context.Items.Contains("UserInfo"))
            {
                this.SetCurrentUser();
            }

            return(ModulePermissionController.CanEditModuleContent(new ModuleController().GetModule(moduleId)));
        }
Example #7
0
 protected void Page_Load(object sender, EventArgs e)
 {
     // dont't redirect admins, instead show them the module so they can manage redirects
     pnlAdmin.Visible = ModulePermissionController.CanEditModuleContent(ModuleConfiguration);
     if (!pnlAdmin.Visible)
     {
         Redirect();
     }
 }
Example #8
0
        /// <summary>
        /// Handles the <see cref="Button.Click"/> event of the <see cref="DeleteResponseButton"/> control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private void DeleteResponseButton_Click(object sender, EventArgs e)
        {
            if (!ModulePermissionController.CanEditModuleContent(this.ModuleConfiguration))
            {
                return;
            }

            new SurveyRepository().DeleteReadOnlySurvey(this.ResponseHeaderId);
            this.Response.Redirect(this.BuildLinkUrl(this.TabId));
        }
 public override string AccessRoles()
 {
     if (UserInfo.IsInRole("Administrators") || ModulePermissionController.CanEditModuleContent(ActiveModule))
     {
         return("admin");
     }
     else
     {
         return("");
     }
 }
Example #10
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            try {
                ContainerControl.Visible = ModulePermissionController.CanEditModuleContent(ModuleConfiguration);
            }
            catch (Exception ex) {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }
Example #11
0
        private bool canEditNote(Icatt_Geeltjes_Geeltje geeltje, int moduleId)
        {
            if (geeltje.CreatedByUserId == _currentUser.UserID)
            {
                return(true);
            }

            var mc      = new ModuleController();
            var modInfo = mc.GetModule(moduleId);

            return(ModulePermissionController.CanEditModuleContent(modInfo));
        }
Example #12
0
        /// <summary>
        /// 绑定模块
        /// </summary>
        private void BindModules()
        {
            DesktopModuleInfo objDesktopModuleInfo = DesktopModuleController.GetDesktopModuleByModuleName("Playngo.ClientZone", PortalId);


            if ((objDesktopModuleInfo != null))
            {
                TabController objTabController = new TabController();
                ArrayList     objTabs          = objTabController.GetTabsByPortal(PortalId).ToArrayList();
                foreach (DotNetNuke.Entities.Tabs.TabInfo objTab in objTabs)
                {
                    if ((objTab != null))
                    {
                        if ((objTab.IsDeleted == false))
                        {
                            ModuleController objModules = new ModuleController();
                            foreach (KeyValuePair <int, ModuleInfo> pair in objModules.GetTabModules(objTab.TabID))
                            {
                                ModuleInfo objModule = pair.Value;
                                if ((objModule.IsDeleted == false))
                                {
                                    if ((objModule.DesktopModuleID == objDesktopModuleInfo.DesktopModuleID))
                                    {
                                        if (ModulePermissionController.CanEditModuleContent(objModule) & objModule.IsDeleted == false)
                                        {
                                            string  strPath        = objTab.TabName;
                                            TabInfo objTabSelected = objTab;
                                            while (objTabSelected.ParentId != Null.NullInteger)
                                            {
                                                objTabSelected = objTabController.GetTab(objTabSelected.ParentId, objTab.PortalID, false);
                                                if ((objTabSelected == null))
                                                {
                                                    break; // TODO: might not be correct. Was : Exit While
                                                }
                                                strPath = objTabSelected.TabName + " -> " + strPath;
                                            }

                                            ListItem objListItem = new ListItem();

                                            objListItem.Value = objModule.TabID.ToString() + "-" + objModule.ModuleID.ToString();
                                            objListItem.Text  = strPath + " -> " + objModule.ModuleTitle;

                                            ddlModule.Items.Add(objListItem);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                WebHelper.SelectedListByValue(ddlModule, String.Format("{0}-{1}", Settings_TabID, Settings_ModuleID));
            }
        }
Example #13
0
        /// <summary>
        /// 绑定模块列表
        /// </summary>
        private void BindModuleList()
        {
            DesktopModuleInfo objDesktopModuleInfo = DesktopModuleController.GetDesktopModuleByModuleName("DNNGo.LayerGallery", PortalId);

            ddlTabModule.Items.Clear();
            if ((objDesktopModuleInfo != null))
            {
                int           aPortalId        = Convert.ToInt32(ddlPortals.Items[ddlPortals.SelectedIndex].Value);
                TabController objTabController = new TabController();
                ArrayList     objTabs          = objTabController.GetTabsByPortal(aPortalId).ToArrayList();
                foreach (DotNetNuke.Entities.Tabs.TabInfo objTab in objTabs)
                {
                    if ((objTab != null))
                    {
                        if ((objTab.IsDeleted == false))
                        {
                            ModuleController objModules = new ModuleController();
                            foreach (KeyValuePair <int, ModuleInfo> pair in objModules.GetTabModules(objTab.TabID))
                            {
                                ModuleInfo objModule = pair.Value;
                                if ((objModule.IsDeleted == false))
                                {
                                    if ((objModule.DesktopModuleID == objDesktopModuleInfo.DesktopModuleID))
                                    {
                                        if (ModulePermissionController.CanEditModuleContent(objModule) & objModule.IsDeleted == false)
                                        {
                                            string  strPath        = objTab.TabName;
                                            TabInfo objTabSelected = objTab;
                                            while (objTabSelected.ParentId != Null.NullInteger)
                                            {
                                                objTabSelected = objTabController.GetTab(objTabSelected.ParentId, objTab.PortalID, false);
                                                if ((objTabSelected == null))
                                                {
                                                    break; // TODO: might not be correct. Was : Exit While
                                                }
                                                strPath = objTabSelected.TabName + " -> " + strPath;
                                            }

                                            ListItem objListItem = new ListItem();

                                            objListItem.Value = objModule.TabID.ToString() + "-" + objModule.ModuleID.ToString();
                                            objListItem.Text  = strPath + " -> " + objModule.ModuleTitle;

                                            ddlTabModule.Items.Add(objListItem);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Example #14
0
        private bool IsValidUser()
        {
            int  moduleId = Null.NullInteger;
            bool result   = User.Identity.IsAuthenticated && int.TryParse(Request.QueryString["ModuleId"], out moduleId);

            if (result)
            {
                var module = new ModuleController().GetModule(moduleId);
                result = module != null && ModulePermissionController.CanEditModuleContent(module);
            }
            return(result);
        }
        public ModuleSecurity(int moduleId, int tabId)
        {
            var mc = new ModuleController();

            var module = mc.GetModule(moduleId, tabId, false);

            if (module == null)
            {
                return;
            }

            _hasEdit = ModulePermissionController.CanEditModuleContent(module);

            _hasModerator = ModulePermissionController.HasModulePermission(module.ModulePermissions, Constants.PERMISSIONKEY);
        }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// DataBind binds the data to the controls
        /// </summary>
        /// <history>
        ///     [cnurse]	03/10/2006  Created
        /// </history>
        /// -----------------------------------------------------------------------------
        public override void DataBind()
        {
            if (!ModulePermissionController.CanEditModuleContent(ModuleConfiguration))
            {
                Response.Redirect(Globals.NavigateURL("Access Denied"), true);
            }
            base.DataBind();

            //Localize Headers
            Localization.LocalizeDataGrid(ref grdUserRoles, LocalResourceFile);

            //Bind the role data to the datalist
            BindData();

            BindGrid();
        }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// DataBind binds the data to the controls.
        /// </summary>
        /// -----------------------------------------------------------------------------
        public override void DataBind()
        {
            if (!ModulePermissionController.CanEditModuleContent(this.ModuleConfiguration))
            {
                this.Response.Redirect(this._navigationManager.NavigateURL("Access Denied"), true);
            }

            base.DataBind();

            // Localize Headers
            Localization.LocalizeDataGrid(ref this.grdUserRoles, this.LocalResourceFile);

            // Bind the role data to the datalist
            this.BindData();

            this.BindGrid();
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            string authToken;

            if (!ModulePermissionController.CanEditModuleContent(ModuleConfiguration))
            {
                authToken = TokenServiceImpl.Instance.ObtainToken(PortalSettings.PortalId, UserInfo.UserID);
                ScopeWrapper.Attributes["mode"] = "view";
            }
            else
            {
                var isAdmin = UserInfo.IsInRole(RoleController.Instance.GetRoleById(PortalId, PortalSettings.AdministratorRoleId).RoleName);
                authToken = TokenServiceImpl.Instance.ObtainToken(PortalSettings.PortalId, UserInfo.UserID,
                                                                  new[] { isAdmin?Common.Constants.AdminsRoleName: Common.Constants.ContentEditorRoleName });
                ScopeWrapper.Attributes["mode"] = "edit";
            }
            ScopeWrapper.Attributes["token"]    = authToken;
            ScopeWrapper.Attributes["pageSize"] = ModuleContext.Settings["PageSize"] != null ? ModuleContext.Settings["PageSize"] as string : "5";
        }
        /// <summary>
        /// Raises the <see cref="Control.Init"/> event.
        /// </summary>
        /// <param name="e">An <see cref="EventArgs"/> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            SubControlInfo controlToLoad = this.GetControlToLoad();

            if (!controlToLoad.RequiresEditPermission || ModulePermissionController.CanEditModuleContent(this.ModuleConfiguration))
            {
                this.LoadChildControl(controlToLoad);
            }
            else if (IsLoggedIn)
            {
                this.Response.Redirect(Globals.NavigateURL(this.TabId), true);
            }
            else
            {
                this.Response.Redirect(Dnn.Utility.GetLoginUrl(this.PortalSettings, this.Request), true);
            }

            this.GlobalNavigation.ModuleConfiguration = this.ModuleConfiguration;
        }
        public override bool IsAuthorized(AuthFilterContext context)
        {
            string AllowedAccessRoles = AccessRoles;

            dynamic Controller = context.ActionContext.ControllerContext.Controller;

            if (context.ActionContext.ActionDescriptor.ActionBinding.ActionDescriptor != null)
            {
                ReflectedHttpActionDescriptor reflectedHttpActionDescriptor = context.ActionContext.ActionDescriptor.ActionBinding.ActionDescriptor as ReflectedHttpActionDescriptor;

                if (reflectedHttpActionDescriptor != null && reflectedHttpActionDescriptor.MethodInfo != null && reflectedHttpActionDescriptor.MethodInfo.CustomAttributes != null)
                {
                    System.Reflection.CustomAttributeData MethodAuthorizeAccessRolesAttribute = reflectedHttpActionDescriptor.MethodInfo.CustomAttributes.Where(a => a.AttributeType.Name == "AuthorizeAccessRolesAttribute").FirstOrDefault();

                    if (MethodAuthorizeAccessRolesAttribute != null)
                    {
                        AllowedAccessRoles = MethodAuthorizeAccessRolesAttribute.NamedArguments[0].TypedValue.Value.ToString();
                    }
                }
            }

            try
            {
                //There are no explictly specifiled roles in attribute
                if (string.IsNullOrEmpty(AllowedAccessRoles))
                {
                    NameValueCollection QueryString = HttpUtility.ParseQueryString(context.ActionContext.Request.RequestUri.Query);

                    if (PortalSettings.Current.UserInfo.IsSuperUser)
                    {
                        return(true);
                    }

                    if (!string.IsNullOrEmpty(QueryString["identifier"]) && QueryString["identifier"] == "common_controls_editorconfig" && (PortalSettings.Current.UserInfo.IsInRole("Administrators") || ModulePermissionController.CanEditModuleContent(Controller.ModuleInfo())))
                    {
                        return(true);
                    }

                    if (QueryString != null && !string.IsNullOrEmpty(QueryString["identifier"]))
                    {
                        AllowedAccessRoles = Controller.AllowedAccessRoles(QueryString["identifier"]);
                    }

                    if (!string.IsNullOrEmpty(AllowedAccessRoles) && !string.IsNullOrEmpty(context.ActionContext.ActionDescriptor.ActionName) && context.ActionContext.ActionDescriptor.ActionName.ToLower() == "updatedata")
                    {
                        List <string> AllowedAccessRolesRolesArray = AllowedAccessRoles.Split(',').Distinct().ToList();
                        AllowedAccessRolesRolesArray.Remove("user");
                        AllowedAccessRolesRolesArray.Remove("anonymous");
                        AllowedAccessRoles = string.Join(",", AllowedAccessRolesRolesArray.Distinct());
                    }
                }

                if (!string.IsNullOrEmpty(AllowedAccessRoles))
                {
                    string   InRoles = Controller.AccessRoles();
                    string[] AllowedAccessRolesRolesArray = AllowedAccessRoles.Split(',');

                    if (!string.IsNullOrEmpty(InRoles))
                    {
                        foreach (string role in InRoles.Split(','))
                        {
                            if (AllowedAccessRolesRolesArray.Where(a => a == role).SingleOrDefault() != null)
                            {
                                return(true);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                DotNetNuke.Services.Exceptions.Exceptions.LogException(ex);
            }
            return(false);
        }
 private bool isUploadAllowed(ModuleInfo minfo, UserInfo UserInfo)
 {
     if (UserInfo.UserID > -1 && (UserInfo.IsSuperUser || UserInfo.IsInRole("Administrators") || ModulePermissionController.CanEditModuleContent(minfo)))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Example #22
0
        /// <summary>
        /// Raises the <see cref="EventArgs"/> event.
        /// </summary>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            try
            {
                var displayingCompletedSurvey = false;
                if (this.ResponseHeaderId == null || !ModulePermissionController.CanEditModuleContent(this.ModuleConfiguration))
                {
                    this.SurveyControl.CurrentSurvey   = new SurveyRepository().LoadSurvey(this.SurveyId.Value, this.ModuleId);
                    this.SurveyControl.ValidationGroup = string.Format(CultureInfo.InvariantCulture, "survey-{0}", this.SurveyId.Value);

                    // Check to see if the user has taken the survey and hide it if true
                    if (!ModuleSettings.AllowMultpleEntries.GetValueAsBooleanFor(this).Value)
                    {
                        this.SurveyControl.ShowAlreadyTakenMessage = (IsLoggedIn && new SurveyRepository().UserHasTaken(this.UserId, this.SurveyId.Value)) ||
                                                                     (!IsLoggedIn && this.SurveyTakenCookieExists);
                    }
                }
                else
                {
                    displayingCompletedSurvey        = true;
                    this.SurveyControl.CurrentSurvey = new SurveyRepository().LoadReadOnlySurvey(this.ResponseHeaderId.Value, this.ModuleId);
                }

                this.SurveyControl.UserId           = this.UserId;
                this.SurveyControl.SurveyCompleted += this.SurveyControl_SurveyCompleted;

                this.SurveyControl.ShowRequiredNotation = ModuleSettings.ShowRequiredNotation.GetValueAsBooleanFor(this).Value;
                this.SurveyControl.Localizer            = new DnnLocalizer(this.LocalResourceFile);

                // allow module editors to delete user responses)
                this.DeleteResponseButton.Click  += this.DeleteResponseButton_Click;
                this.DeleteResponseButton.Visible = this.IsEditable && displayingCompletedSurvey;
                ClientAPI.AddButtonConfirm(this.DeleteResponseButton, this.Localize("ConfirmDelete.Text"));

                this.Page.ClientScript.RegisterClientScriptResource(typeof(ViewSurvey), "Engage.Dnn.Survey.JavaScript.viewSurvey-all.js");

                // allow module editors to edit survey
                this.EditDefinitionButton.Click  += this.EditDefinitionButton_Click;
                this.EditDefinitionButton.Visible = this.IsEditable && !displayingCompletedSurvey;

                // Check to see if the user has taken the survey and hide it if true
                if (!ModuleSettings.AllowMultpleEntries.GetValueAsBooleanFor(this).Value)
                {
                    string surveyTakenCookieName = string.Format(CultureInfo.InvariantCulture, SurveyTakenCookieNameFormat, this.SurveyId.Value);
                    this.SurveyControl.UserHasTaken = (IsLoggedIn && new SurveyRepository().UserHasTaken(this.UserId, this.SurveyId.Value)) ||
                                                      this.Request.Cookies.AllKeys.Any(cookie => cookie == surveyTakenCookieName);
                }

                var captchaStrategies = ModuleSettings.GetCaptchaStrategies(this).ToArray();
                this.UseCaptchaProtection          = captchaStrategies.Contains(RadCaptcha.ProtectionStrategies.Captcha);
                this.UseInvisibleTextBoxProtection = captchaStrategies.Contains(RadCaptcha.ProtectionStrategies.InvisibleTextBox);
                this.UseMinimumTimeoutProtection   = captchaStrategies.Contains(RadCaptcha.ProtectionStrategies.MinimumTimeout);
                this.SurveyControl.DataBind();
            }
            catch (Exception exc)
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
        internal static string GetAccessRoles(ModuleInfo ModuleInfo, UserInfo UserInfo)
        {
            List <string> AccessRoles = new List <string>();

            if (UserInfo.UserID > 0)
            {
                AccessRoles.Add("user");
            }
            else
            {
                AccessRoles.Add("anonymous");
            }

            //Admin / Superuser / Edit Permission
            if (UserInfo.UserID > -1 && (UserInfo.IsSuperUser || UserInfo.IsInRole("Administrators") || ModulePermissionController.CanEditModuleContent(ModuleInfo)))
            {
                AccessRoles.Add("admin");
            }

            if (UserInfo.IsSuperUser)
            {
                AccessRoles.Add("host");
            }

            return(string.Join(",", AccessRoles));
        }
Example #24
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);
        }