/// <summary>
        /// Checks if current user is page editor of the passed tab
        /// </summary>
        /// <param name="tabId">Tab ID</param>
        /// <param name="portalSettings">Portal Settings related with the portal which contains the tab</param>
        /// <returns>Returns true if current user has a edit permission on the page or is admin of some module in the page. Otherwise, returns false</returns>
        public static bool IsPageEditor(int tabId, PortalSettings portalSettings)
        {
            var tabPermissions = TabPermissionController.GetTabPermissions(tabId, portalSettings.PortalId);

            return(TabPermissionController.HasTabPermission(tabPermissions, "EDIT,CONTENT,MANAGE") ||
                   IsModuleAdmin(portalSettings, TabController.Instance.GetTab(tabId, portalSettings.PortalId)));
        }
        private string RoleRightsReport(string roleName, TabInfo oTab)
        {
            // Return a string with the found role rights
            string sOut = string.Empty;


            RoleController oRoleC = new RoleController();
            RoleInfo       oRole  = oRoleC.GetRoleByName(PortalSettings.PortalId, roleName);

            PermissionProvider permProv = new PermissionProvider();

            if (oRole != null)
            {
                foreach (TabPermissionInfo oTabPermission in TabPermissionController.GetTabPermissions(oTab.TabID, PortalSettings.PortalId))
                {
                    // Correct role?
                    if (oTabPermission.RoleName == roleName)
                    {
                        string s = string.Empty;

                        if (oTabPermission.AllowAccess == false)
                        {
                            s = "Deny ";
                        }
                        s   += oTabPermission.PermissionName;
                        sOut = AddWithTrailingString(sOut, s, " / ");
                    }
                }
            }

            return(sOut);
        }
        private void ProcessContentPane()
        {
            if (!String.IsNullOrEmpty(ModuleConfiguration.Alignment))
            {
                if (ContentPane.Attributes["class"] != null)
                {
                    ContentPane.Attributes["class"] = ContentPane.Attributes["class"] + " DNNAlign" + ModuleConfiguration.Alignment.ToLower();
                }
                else
                {
                    ContentPane.Attributes["class"] = "DNNAlign" + ModuleConfiguration.Alignment.ToLower();
                }
            }
            if (!String.IsNullOrEmpty(ModuleConfiguration.Color))
            {
                ContentPane.Style["background-color"] = ModuleConfiguration.Color;
            }
            if (!String.IsNullOrEmpty(ModuleConfiguration.Border))
            {
                ContentPane.Style["border-top"]    = String.Format("{0}px #000000 solid", ModuleConfiguration.Border);
                ContentPane.Style["border-bottom"] = String.Format("{0}px #000000 solid", ModuleConfiguration.Border);
                ContentPane.Style["border-right"]  = String.Format("{0}px #000000 solid", ModuleConfiguration.Border);
                ContentPane.Style["border-left"]   = String.Format("{0}px #000000 solid", ModuleConfiguration.Border);
            }
            string adminMessage = Null.NullString;
            string viewRoles    = Null.NullString;

            if (ModuleConfiguration.InheritViewPermissions)
            {
                viewRoles = TabPermissionController.GetTabPermissions(ModuleConfiguration.TabID, ModuleConfiguration.PortalID).ToString("VIEW");
            }
            else
            {
                viewRoles = ModuleConfiguration.ModulePermissions.ToString("VIEW");
            }
            viewRoles = viewRoles.Replace(";", string.Empty).Trim().ToLowerInvariant();

            bool showMessage = false;

            if (viewRoles == PortalSettings.AdministratorRoleName.ToLowerInvariant())
            {
                adminMessage = CommonLibrary.Services.Localization.Localization.GetString("ModuleVisibleAdministrator.Text");
                showMessage  = !ModuleConfiguration.HideAdminBorder;
            }
            if (ModuleConfiguration.StartDate >= DateTime.Now)
            {
                adminMessage = string.Format(CommonLibrary.Services.Localization.Localization.GetString("ModuleEffective.Text"), ModuleConfiguration.StartDate.ToShortDateString());
                showMessage  = true;
            }
            if (ModuleConfiguration.EndDate <= DateTime.Now)
            {
                adminMessage = string.Format(CommonLibrary.Services.Localization.Localization.GetString("ModuleExpired.Text"), ModuleConfiguration.EndDate.ToShortDateString());
                showMessage  = true;
            }
            if (showMessage)
            {
                AddAdministratorOnlyHighlighting(adminMessage);
            }
        }
Exemple #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PermissionsService"/> class.
        /// </summary>
        /// <param name="moduleConfiguration">The module configuration.</param>
        public PermissionsService(ModuleInfo moduleConfiguration)
        {
            if (moduleConfiguration == null)
            {
                throw new ArgumentNullException("moduleConfiguration");
            }

// Only ModulePermissions getter should be marked Obsolete
#pragma warning disable 612
            this.ModulePermissions = moduleConfiguration.ModulePermissions;
#pragma warning restore 612

            this.TabPermissions = TabPermissionController.GetTabPermissions(moduleConfiguration.TabID, moduleConfiguration.PortalID);
        }
Exemple #5
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// ProcessContentPane processes the ContentPane, setting its style and other
        /// attributes.
        /// </summary>
        private void ProcessContentPane()
        {
            this.SetAlignment();

            this.SetBackground();

            this.SetBorder();

            // display visual indicator if module is only visible to administrators
            string viewRoles = this.ModuleConfiguration.InheritViewPermissions
                                   ? TabPermissionController.GetTabPermissions(this.ModuleConfiguration.TabID, this.ModuleConfiguration.PortalID).ToString("VIEW")
                                   : this.ModuleConfiguration.ModulePermissions.ToString("VIEW");

            string pageEditRoles   = TabPermissionController.GetTabPermissions(this.ModuleConfiguration.TabID, this.ModuleConfiguration.PortalID).ToString("EDIT");
            string moduleEditRoles = this.ModuleConfiguration.ModulePermissions.ToString("EDIT");

            viewRoles       = viewRoles.Replace(";", string.Empty).Trim().ToLowerInvariant();
            pageEditRoles   = pageEditRoles.Replace(";", string.Empty).Trim().ToLowerInvariant();
            moduleEditRoles = moduleEditRoles.Replace(";", string.Empty).Trim().ToLowerInvariant();

            var showMessage  = false;
            var adminMessage = Null.NullString;

            if (viewRoles.Equals(this.PortalSettings.AdministratorRoleName, StringComparison.InvariantCultureIgnoreCase) &&
                (moduleEditRoles.Equals(this.PortalSettings.AdministratorRoleName, StringComparison.InvariantCultureIgnoreCase) ||
                 string.IsNullOrEmpty(moduleEditRoles)) &&
                pageEditRoles.Equals(this.PortalSettings.AdministratorRoleName, StringComparison.InvariantCultureIgnoreCase))
            {
                adminMessage = Localization.GetString("ModuleVisibleAdministrator.Text");
                showMessage  = !this.ModuleConfiguration.HideAdminBorder && !Globals.IsAdminControl();
            }

            if (this.ModuleConfiguration.StartDate >= DateTime.Now)
            {
                adminMessage = string.Format(Localization.GetString("ModuleEffective.Text"), this.ModuleConfiguration.StartDate);
                showMessage  = !Globals.IsAdminControl();
            }

            if (this.ModuleConfiguration.EndDate <= DateTime.Now)
            {
                adminMessage = string.Format(Localization.GetString("ModuleExpired.Text"), this.ModuleConfiguration.EndDate);
                showMessage  = !Globals.IsAdminControl();
            }

            if (showMessage)
            {
                this.AddAdministratorOnlyHighlighting(adminMessage);
            }
        }
        private bool PermissionsNotProperlySet()
        {
            List <PermissionInfoBase> permissions;

            if (ModuleConfiguration.InheritViewPermissions)
            {
                var tabPermissionCollection = TabPermissionController.GetTabPermissions(TabId, PortalId);
                permissions = tabPermissionCollection.ToList();
            }
            else
            {
                permissions = ModuleConfiguration.ModulePermissions.ToList();
            }

            return(permissions.Find(PermissionPredicate) != null);
        }
        //private bool RoleHasViewRights(string RoleName, TabInfo oTab)
        //{
        //    // Check if the passed role has view rights on the Passed tab

        //    int iViewId = System.Security.SecurityAccessLevel.View;

        //    RoleController oRoleC = new RoleController();
        //    RoleInfo oRole = oRoleC.GetRoleByName(PortalSettings.PortalId, RoleName);

        //    PermissionProvider permProv = new PermissionProvider();

        //    if (!oRole == null)
        //    {
        //        foreach (TabPermissionInfo oTP in TabPermissionController.GetTabPermissions(oTab.TabID, PortalId))
        //        {
        //            if (oTP.RoleName == RoleName & oTP.PermissionID == iViewId & oTP.AllowAccess == true)
        //            {
        //                return true;
        //                break;
        //            }
        //        }
        //    }

        //    return false;
        //}



        private TabPermissionInfo GetTabRolePermissions(string roleName, TabInfo oTab)
        {
            // Get tabpermissions for a Role on a Tab
            RoleController oRoleC = new RoleController();
            RoleInfo       oRole  = oRoleC.GetRoleByName(PortalSettings.PortalId, roleName);

            PermissionProvider permProv = new PermissionProvider();

            if (oRole != null)
            {
                foreach (TabPermissionInfo oTP in TabPermissionController.GetTabPermissions(oTab.TabID, PortalSettings.PortalId))
                {
                    if (oTP.RoleName == roleName)
                    {
                        return(oTP);
                    }
                }
            }

            return(null);
        }
        private string CopyPageRoleRights(TabInfo oTab, string fromRole, string toRole)
        {
            // Loop through the Permissions for this tab and when old role is found copy it to the new role
            string sOut = string.Empty;


            RoleController oRoleC = new RoleController();

            RoleInfo oFromRole = oRoleC.GetRoleByName(PortalSettings.PortalId, fromRole);
            RoleInfo oToRole   = oRoleC.GetRoleByName(PortalSettings.PortalId, toRole);

            PermissionProvider oPermProv = new PermissionProvider();

            if (oFromRole != null && oToRole != null)
            {
                // Get the permissions for the page and check if there are any
                TabPermissionCollection oTabPermCol = TabPermissionController.GetTabPermissions(oTab.TabID, PortalSettings.PortalId);

                sOut += "<p>";

                // Get current list (changes while running this code)
                foreach (TabPermissionInfo oTabPermission in oTabPermCol.ToList())
                {
                    if (oTabPermission.RoleName == fromRole)
                    {
                        sOut += CopyPageRoleRight(oFromRole, oToRole, oTabPermission);
                    }
                }

                sOut += "</p>";
            }
            else
            {
                sOut = $"Role {fromRole} not found";
            }


            return(sOut);
        }
Exemple #9
0
        /// <param name="moduleId"></param>
        /// <param name="tabId"></param>
        /// <param name="permissionKey">You can use the constants, but for modules there are only
        /// those two</param>
        /// <returns></returns>
        public static bool canUserAccessModule(UserInfo user, int portalId, int tabId, ModuleInfo moduleInfo, string permissionKey)
        {
            var    retVal            = false;
            string permissionsString = null;

            if (moduleInfo.InheritViewPermissions)
            {
                var tabPermissionController = new TabPermissionController();
                var tabPermissionCollection =
                    tabPermissionController.GetTabPermissionsCollectionByTabID(tabId, portalId);
                permissionsString = tabPermissionController.GetTabPermissions(tabPermissionCollection, permissionKey);
            }
            else
            {
                var modulePermissionController = new ModulePermissionController();
                var permissionCollection       =
                    modulePermissionController.GetModulePermissionsCollectionByModuleID(moduleInfo.ModuleID, tabId);
                permissionsString = modulePermissionController.GetModulePermissions(permissionCollection, permissionKey);
            }

            char[] splitter = { ';' };
            var    roles    = permissionsString.Split(splitter);

            foreach (var role in roles)
            {
                if (role.Length > 0)
                {
                    if (user != null && user.IsInRole(role))
                    {
                        retVal = true;
                    }
                    else if (user == null && role.ToLower().Equals("all users"))
                    {
                        retVal = true;
                    }
                }
            }
            return(retVal);
        }
        /// <remarks>Source/Template from SecurityContext.canUserAccessModule()</remarks>
        private static bool CanUserViewTab(UserInfo user, int portalId, int tabId, string permissionKey = "VIEW")
        {
            //var retVal = false;
            var tabPermissionController = new TabPermissionController();
            var tabPermissionCollection = tabPermissionController.GetTabPermissionsCollectionByTabID(tabId, portalId);
            var permissionsString       = tabPermissionController.GetTabPermissions(tabPermissionCollection, permissionKey);

            char[] splitter = { ';' };
            var    roles    = permissionsString.Split(splitter);

            foreach (var role in roles.Where(role => role.Length > 0))
            {
                if (user != null && user.IsInRole(role))
                {
                    return(true);
                }
                if (role.ToLower().Equals("all users"))
                {
                    return(true);
                }
            }

            return(false);
        }
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// Gets the TabPermissions from the Data Store.
 /// </summary>
 /// -----------------------------------------------------------------------------
 private void GetTabPermissions()
 {
     this._TabPermissions  = new TabPermissionCollection(TabPermissionController.GetTabPermissions(this.TabID, this.PortalId));
     this._PermissionsList = null;
 }
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// Gets the TabPermissions from the Data Store
 /// </summary>
 /// <history>
 ///     [cnurse]    01/12/2006  Created
 /// </history>
 /// -----------------------------------------------------------------------------
 private void GetTabPermissions()
 {
     _TabPermissions  = new TabPermissionCollection(TabPermissionController.GetTabPermissions(TabID, PortalId));
     _PermissionsList = null;
 }
        public override List <SitemapUrl> GetUrls(int portalID, PortalSettings ps, string version)
        {
            var sitemapUrls = new List <SitemapUrl>();

            var objDesktopModule = default(DesktopModuleInfo);

            objDesktopModule = DesktopModuleController.GetDesktopModuleByModuleName("DNN_Events", portalID);

            var objModules          = new ModuleController();
            var objModule           = default(ModuleInfo);
            var lstModules          = objModules.GetModulesByDefinition(portalID, objDesktopModule.FriendlyName);
            var moduleIds           = new ArrayList();
            var visibleModuleIds    = new ArrayList();
            var visibleTabModuleIds = new ArrayList();

            foreach (ModuleInfo tempLoopVar_objModule in lstModules)
            {
                objModule = tempLoopVar_objModule;
                var objTabPermissions = TabPermissionController.GetTabPermissions(objModule.TabID, portalID);
                var objTabPermission  = default(TabPermissionInfo);

                foreach (TabPermissionInfo tempLoopVar_objTabPermission in objTabPermissions)
                {
                    objTabPermission = tempLoopVar_objTabPermission;

                    if (objTabPermission.PermissionKey == "VIEW" && objTabPermission.RoleName != "" &&
                        objTabPermission.AllowAccess && (objTabPermission.RoleID == -1) |
                        (objTabPermission.RoleID == -3))
                    {
                        if (objModule.InheritViewPermissions)
                        {
                            visibleTabModuleIds.Add("Tab" + objModule.TabID + "Mod" + objModule.ModuleID);
                            visibleModuleIds.Add(objModule.ModuleID);
                            break;
                        }

                        var objModulePermission = default(ModulePermissionInfo);
                        // ReSharper disable LoopCanBeConvertedToQuery
                        foreach (ModulePermissionInfo tempLoopVar_objModulePermission in objModule.ModulePermissions)
                        {
                            objModulePermission = tempLoopVar_objModulePermission;
                            // ReSharper restore LoopCanBeConvertedToQuery
                            if (objModulePermission.PermissionKey == "VIEW" && objModulePermission.RoleName != "" &&
                                objModulePermission.AllowAccess && (objModulePermission.RoleID == -1) |
                                (objModulePermission.RoleID == -3))
                            {
                                visibleTabModuleIds.Add("Tab" + objModule.TabID + "Mod" + objModule.ModuleID);
                                visibleModuleIds.Add(objModule.ModuleID);
                                break;
                            }
                        }
                    }
                }
            }
            foreach (ModuleInfo tempLoopVar_objModule in lstModules)
            {
                objModule = tempLoopVar_objModule;

                // This check for objModule = Nothing because of error in DNN 5.0.0 in GetModulesByDefinition
                if (ReferenceEquals(objModule, null))
                {
                    continue;
                }

                if (objModule.IsDeleted)
                {
                    continue;
                }

                if (moduleIds.Contains(objModule.ModuleID))
                {
                    continue;
                }

                if (!visibleTabModuleIds.Contains("Tab" + objModule.TabID + "Mod" + objModule.ModuleID))
                {
                    continue;
                }

                moduleIds.Add(objModule.ModuleID);
                var settings = EventModuleSettings.GetEventModuleSettings(objModule.ModuleID, null);
                if (!settings.EnableSitemap)
                {
                    continue;
                }

                if (settings.SocialGroupModule == EventModuleSettings.SocialModule.UserProfile)
                {
                    continue;
                }

                var iCategoryIDs = new ArrayList();
                if (settings.Enablecategories == EventModuleSettings.DisplayCategories.DoNotDisplay)
                {
                    iCategoryIDs = settings.ModuleCategoryIDs;
                }
                else
                {
                    iCategoryIDs.Add("-1");
                }

                var ilocationIDs = new ArrayList();
                if (settings.Enablelocations == EventModuleSettings.DisplayLocations.DoNotDisplay)
                {
                    ilocationIDs = settings.ModuleLocationIDs;
                }
                else
                {
                    ilocationIDs.Add("-1");
                }

                var objEventTimeZoneUtilities = new EventTimeZoneUtilities();
                var currDate    = objEventTimeZoneUtilities.ConvertFromUTCToModuleTimeZone(DateTime.UtcNow, settings.TimeZoneId);
                var dtStartDate = DateAndTime.DateAdd(DateInterval.Day, Convert.ToDouble(-settings.SiteMapDaysBefore), currDate);
                var dtEndDate   = DateAndTime.DateAdd(DateInterval.Day, settings.SiteMapDaysAfter, currDate);

                var objEventInfoHelper = new EventInfoHelper(objModule.ModuleID, objModule.TabID, portalID, settings);

                var lstevents = default(ArrayList);
                lstevents = objEventInfoHelper.GetEvents(dtStartDate, dtEndDate, settings.MasterEvent, iCategoryIDs, ilocationIDs, -1, -1);

                var objEvent = default(EventInfo);

                foreach (EventInfo tempLoopVar_objEvent in lstevents)
                {
                    objEvent = tempLoopVar_objEvent;
                    if (settings.Enforcesubcalperms && !visibleModuleIds.Contains(objEvent.ModuleID))
                    {
                        continue;
                    }
                    var pageUrl = new SitemapUrl();
                    pageUrl.Url             = objEventInfoHelper.DetailPageURL(objEvent, false);
                    pageUrl.Priority        = settings.SiteMapPriority;
                    pageUrl.LastModified    = objEvent.LastUpdatedAt;
                    pageUrl.ChangeFrequency = SitemapChangeFrequency.Daily;
                    sitemapUrls.Add(pageUrl);
                }
            }

            return(sitemapUrls);
        }
Exemple #14
0
        private void GetControl(string view, string options)
        {
            try
            {
                if (!Page.IsPostBack)
                {
                    plhLoader.Controls.Clear();
                }
                ForumBase ctl = null;
                if (view.ToUpperInvariant() == "FORUMVIEW")
                {
                    ctl = (ForumBase)(new DotNetNuke.Modules.ActiveForums.Controls.ForumView());
                }
                else if (view.ToUpperInvariant() == "ADVANCED")
                {
                    ctl = (ForumBase)(LoadControl("~/desktopmodules/activeforums/advanced.ascx"));
                }
                else if ((view.ToUpperInvariant() == Views.Topics.ToUpperInvariant()) || (view.ToUpperInvariant() == "topics".ToUpperInvariant()))
                {
                    ctl = (ForumBase)(new DotNetNuke.Modules.ActiveForums.Controls.TopicsView());
                }
                else if ((view.ToUpperInvariant() == Views.Topic.ToUpperInvariant()) || (view.ToUpperInvariant() == "topic".ToUpperInvariant()))
                {
                    ctl = (ForumBase)(new DotNetNuke.Modules.ActiveForums.Controls.TopicView());
                }
                else if (view.ToUpperInvariant() == "USERSETTINGS".ToUpperInvariant())
                {
                    string ctlPath = string.Empty;
                    ctlPath = "~/DesktopModules/ActiveForums/controls/af_profile.ascx";
                    if (!(System.IO.File.Exists(Server.MapPath(ctlPath))))
                    {
                        ctl = (ForumBase)(new DotNetNuke.Modules.ActiveForums.Controls.ForumView());
                    }
                    else
                    {
                        ctl = (ForumBase)(LoadControl(ctlPath));
                    }
                }
                else
                {
                    // this is where af_post.ascx is used
                    string ctlPath = string.Empty;
                    ctlPath = "~/DesktopModules/ActiveForums/controls/af_" + view + ".ascx";
                    if (!(System.IO.File.Exists(Server.MapPath(ctlPath))))
                    {
                        ctl = (ForumBase)(new DotNetNuke.Modules.ActiveForums.Controls.ForumView());
                    }
                    else
                    {
                        ctl = (ForumBase)(LoadControl(ctlPath));
                    }
                }
                if (ForumId > 0 & ForumInfo != null)
                {
                    ctl.ForumInfo = ForumInfo;
                }
                ctl.ID            = view;
                ctl.ForumId       = ForumId;
                ctl.ForumModuleId = ForumModuleId;
                if (ForumTabId == -1)
                {
                    ForumTabId = TabId;
                }
                ctl.ForumTabId   = ForumTabId;
                ctl.ForumGroupId = ForumGroupId;
                ctl.DefaultForumViewTemplateId  = DefaultForumViewTemplateId;
                ctl.DefaultTopicsViewTemplateId = DefaultTopicsViewTemplateId;
                ctl.DefaultTopicViewTemplateId  = DefaultTopicViewTemplateId;
                ctl.UseTemplatePath             = UseTemplatePath;
                ctl.TemplatePath  = TemplatePath;
                ctl.ParentForumId = ParentForumId;
                if (string.IsNullOrEmpty(ForumIds))
                {
                    ForumIds = UserForumsList;
                }

                if (SocialGroupId > 0)
                {
                    ForumController fc = new ForumController();
                    ForumIds = fc.GetForumIdsBySocialGroup(PortalId, SocialGroupId);

                    if (string.IsNullOrEmpty(ForumIds))
                    {
                        RoleController rc   = new RoleController();
                        RoleInfo       role = rc.GetRole(SocialGroupId, PortalId);
                        //Create new forum
                        bool isPrivate = false;
                        if (!role.IsPublic)
                        {
                            isPrivate = true;
                        }
                        Entities.Modules.ModuleController objModules = new Entities.Modules.ModuleController();
                        Hashtable htSettings = objModules.GetTabModuleSettings(TabModuleId);

                        fc.CreateGroupForum(PortalId, ModuleId, SocialGroupId, Convert.ToInt32(htSettings["ForumGroupTemplate"].ToString()), role.RoleName + " Discussions", role.Description, isPrivate, htSettings["ForumConfig"].ToString());
                        ForumIds = fc.GetForumIdsBySocialGroup(PortalId, SocialGroupId);
                    }
                }
                ctl.ForumIds      = ForumIds;
                ctl.SocialGroupId = SocialGroupId;

                //ctl.PostID = PostID
                ctl.ModuleConfiguration = this.ModuleConfiguration;
                if (!(options == string.Empty))
                {
                    ctl.Params = options;
                }
                ControlsConfig cc = new ControlsConfig();
                cc.AppPath      = Page.ResolveUrl("~/DesktopModules/ActiveForums/");
                cc.ThemePath    = Page.ResolveUrl("~/DesktopModules/ActiveForums/themes/" + MainSettings.Theme + "/");
                cc.TemplatePath = cc.ThemePath + "templates/";
                cc.SiteId       = PortalId;
                cc.PageId       = TabId;
                cc.InstanceId   = ModuleId;
                cc.User         = ForumUser;
                string authorizedViewRoles = ModuleConfiguration.InheritViewPermissions ? TabPermissionController.GetTabPermissions(TabId, PortalId).ToString("VIEW") : ModuleConfiguration.ModulePermissions.ToString("VIEW");
                cc.DefaultViewRoles = Permissions.GetRoleIds(authorizedViewRoles.Split(';'), PortalId);
                cc.AdminRoles       = Permissions.GetRoleIds(this.ModuleConfiguration.ModulePermissions.ToString("EDIT").Split(';'), PortalId);
                cc.ProfileLink      = ""; //GetProfileLink()
                cc.MembersLink      = ""; // GetMembersLink()
                this.ControlConfig  = cc;
                ctl.ControlConfig   = cc;
                LinkControls(ctl.Controls);
                if (!(plhLoader.Controls.Contains(ctl)))
                {
                    plhLoader.Controls.Add(ctl);
                }
                string sOut = null;
                sOut  = System.Environment.NewLine + "<!--  © 2004 - 2013 DNN Corp.,  All Rights Reserved -->" + System.Environment.NewLine;
                sOut += "<!-- Active Forums 5.0  -->" + System.Environment.NewLine;

                Literal lit = new Literal();
                lit.Text = sOut;
                plhLoader.Controls.Add(lit);
            }
            catch (Exception ex)
            {
                DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(this, ex);
            }
        }
Exemple #15
0
        private static TabInfo FillTabInfo(IDataReader dr, bool CheckForOpenDataReader)
        {
            TabInfo objTabInfo = new TabInfo();
            TabPermissionController objTabPermissionController = new TabPermissionController();

            // read datareader
            bool canContinue = true;

            if (CheckForOpenDataReader)
            {
                canContinue = false;
                if (dr.Read())
                {
                    canContinue = true;
                }
            }
            if (canContinue)
            {
                objTabInfo.TabID           = Convert.ToInt32(Null.SetNull(dr["TabID"], objTabInfo.TabID));
                objTabInfo.TabOrder        = Convert.ToInt32(Null.SetNull(dr["TabOrder"], objTabInfo.TabOrder));
                objTabInfo.PortalID        = Convert.ToInt32(Null.SetNull(dr["PortalID"], objTabInfo.PortalID));
                objTabInfo.TabName         = Convert.ToString(Null.SetNull(dr["TabName"], objTabInfo.TabName));
                objTabInfo.IsVisible       = Convert.ToBoolean(Null.SetNull(dr["IsVisible"], objTabInfo.IsVisible));
                objTabInfo.ParentId        = Convert.ToInt32(Null.SetNull(dr["ParentId"], objTabInfo.ParentId));
                objTabInfo.Level           = Convert.ToInt32(Null.SetNull(dr["Level"], objTabInfo.Level));
                objTabInfo.IconFile        = Convert.ToString(Null.SetNull(dr["IconFile"], objTabInfo.IconFile));
                objTabInfo.DisableLink     = Convert.ToBoolean(Null.SetNull(dr["DisableLink"], objTabInfo.DisableLink));
                objTabInfo.Title           = Convert.ToString(Null.SetNull(dr["Title"], objTabInfo.Title));
                objTabInfo.Description     = Convert.ToString(Null.SetNull(dr["Description"], objTabInfo.Description));
                objTabInfo.KeyWords        = Convert.ToString(Null.SetNull(dr["KeyWords"], objTabInfo.KeyWords));
                objTabInfo.IsDeleted       = Convert.ToBoolean(Null.SetNull(dr["IsDeleted"], objTabInfo.IsDeleted));
                objTabInfo.Url             = Convert.ToString(Null.SetNull(dr["Url"], objTabInfo.Url));
                objTabInfo.SkinSrc         = Convert.ToString(Null.SetNull(dr["SkinSrc"], objTabInfo.SkinSrc));
                objTabInfo.ContainerSrc    = Convert.ToString(Null.SetNull(dr["ContainerSrc"], objTabInfo.ContainerSrc));
                objTabInfo.TabPath         = Convert.ToString(Null.SetNull(dr["TabPath"], objTabInfo.TabPath));
                objTabInfo.StartDate       = Convert.ToDateTime(Null.SetNull(dr["StartDate"], objTabInfo.StartDate));
                objTabInfo.EndDate         = Convert.ToDateTime(Null.SetNull(dr["EndDate"], objTabInfo.EndDate));
                objTabInfo.HasChildren     = Convert.ToBoolean(Null.SetNull(dr["HasChildren"], objTabInfo.HasChildren));
                objTabInfo.RefreshInterval = Convert.ToInt32(Null.SetNull(dr["RefreshInterval"], objTabInfo.RefreshInterval));
                objTabInfo.PageHeadText    = Convert.ToString(Null.SetNull(dr["PageHeadText"], objTabInfo.PageHeadText));

                if (objTabInfo != null)
                {
                    objTabInfo.TabPermissions     = objTabPermissionController.GetTabPermissionsCollectionByTabID(objTabInfo.TabID, objTabInfo.PortalID);
                    objTabInfo.AdministratorRoles = objTabPermissionController.GetTabPermissions(objTabInfo.TabPermissions, "EDIT");
                    if (objTabInfo.AdministratorRoles == ";")
                    {
                        // this code is here for legacy support - the AdministratorRoles were stored as a concatenated list of roleids prior to DNN 3.0
                        try
                        {
                            objTabInfo.AdministratorRoles = Convert.ToString(Null.SetNull(dr["AdministratorRoles"], objTabInfo.AdministratorRoles));
                        }
                        catch
                        {
                            // the AdministratorRoles field was removed from the Tabs table in 3.0
                        }
                    }
                    objTabInfo.AuthorizedRoles = objTabPermissionController.GetTabPermissions(objTabInfo.TabPermissions, "VIEW");
                    if (objTabInfo.AuthorizedRoles == ";")
                    {
                        // this code is here for legacy support - the AuthorizedRoles were stored as a concatenated list of roleids prior to DNN 3.0
                        try
                        {
                            objTabInfo.AuthorizedRoles = Convert.ToString(Null.SetNull(dr["AuthorizedRoles"], objTabInfo.AuthorizedRoles));
                        }
                        catch
                        {
                            // the AuthorizedRoles field was removed from the Tabs table in 3.0
                        }
                    }
                }

                objTabInfo.BreadCrumbs = null;
                objTabInfo.Panes       = null;
                objTabInfo.Modules     = null;
            }
            else
            {
                objTabInfo = null;
            }

            return(objTabInfo);
        }
Exemple #16
0
        private ModuleInfo FillModuleInfo(IDataReader dr, bool CheckForOpenDataReader, bool IncludePermissions)
        {
            ModuleInfo objModuleInfo = new ModuleInfo();
            ModulePermissionController objModulePermissionController = new ModulePermissionController();
            // read datareader
            bool canContinue = true;

            if (CheckForOpenDataReader)
            {
                canContinue = false;
                if (dr.Read())
                {
                    canContinue = true;
                }
            }
            if (canContinue)
            {
                objModuleInfo.PortalID    = Convert.ToInt32(Null.SetNull(dr["PortalID"], objModuleInfo.PortalID));
                objModuleInfo.TabID       = Convert.ToInt32(Null.SetNull(dr["TabID"], objModuleInfo.TabID));
                objModuleInfo.TabModuleID = Convert.ToInt32(Null.SetNull(dr["TabModuleID"], objModuleInfo.TabModuleID));
                objModuleInfo.ModuleID    = Convert.ToInt32(Null.SetNull(dr["ModuleID"], objModuleInfo.ModuleID));
                objModuleInfo.ModuleDefID = Convert.ToInt32(Null.SetNull(dr["ModuleDefID"], objModuleInfo.ModuleDefID));
                objModuleInfo.ModuleOrder = Convert.ToInt32(Null.SetNull(dr["ModuleOrder"], objModuleInfo.ModuleOrder));
                objModuleInfo.PaneName    = Convert.ToString(Null.SetNull(dr["PaneName"], objModuleInfo.PaneName));
                objModuleInfo.ModuleTitle = Convert.ToString(Null.SetNull(dr["ModuleTitle"], objModuleInfo.ModuleTitle));
                objModuleInfo.CacheTime   = Convert.ToInt32(Null.SetNull(dr["CacheTime"], objModuleInfo.CacheTime));
                objModuleInfo.Alignment   = Convert.ToString(Null.SetNull(dr["Alignment"], objModuleInfo.Alignment));
                objModuleInfo.Color       = Convert.ToString(Null.SetNull(dr["Color"], objModuleInfo.Color));
                objModuleInfo.Border      = Convert.ToString(Null.SetNull(dr["Border"], objModuleInfo.Border));
                objModuleInfo.IconFile    = Convert.ToString(Null.SetNull(dr["IconFile"], objModuleInfo.IconFile));
                objModuleInfo.AllTabs     = Convert.ToBoolean(Null.SetNull(dr["AllTabs"], objModuleInfo.AllTabs));
                int intVisibility = 0;
                if (((Convert.ToInt32(Null.SetNull(dr["Visibility"], intVisibility))) == 0) || ((Convert.ToInt32(Null.SetNull(dr["Visibility"], intVisibility))) == Null.NullInteger))
                {
                    objModuleInfo.Visibility = VisibilityState.Maximized;
                }
                else if ((Convert.ToInt32(Null.SetNull(dr["Visibility"], intVisibility))) == 1)
                {
                    objModuleInfo.Visibility = VisibilityState.Minimized;
                }
                else if ((Convert.ToInt32(Null.SetNull(dr["Visibility"], intVisibility))) == 2)
                {
                    objModuleInfo.Visibility = VisibilityState.None;
                }
                objModuleInfo.IsDeleted               = Convert.ToBoolean(Null.SetNull(dr["IsDeleted"], objModuleInfo.IsDeleted));
                objModuleInfo.Header                  = Convert.ToString(Null.SetNull(dr["Header"], objModuleInfo.Header));
                objModuleInfo.Footer                  = Convert.ToString(Null.SetNull(dr["Footer"], objModuleInfo.Footer));
                objModuleInfo.StartDate               = Convert.ToDateTime(Null.SetNull(dr["StartDate"], objModuleInfo.StartDate));
                objModuleInfo.EndDate                 = Convert.ToDateTime(Null.SetNull(dr["EndDate"], objModuleInfo.EndDate));
                objModuleInfo.ContainerSrc            = Convert.ToString(Null.SetNull(dr["ContainerSrc"], objModuleInfo.ContainerSrc));
                objModuleInfo.DisplayTitle            = Convert.ToBoolean(Null.SetNull(dr["DisplayTitle"], objModuleInfo.DisplayTitle));
                objModuleInfo.DisplayPrint            = Convert.ToBoolean(Null.SetNull(dr["DisplayPrint"], objModuleInfo.DisplayPrint));
                objModuleInfo.DisplaySyndicate        = Convert.ToBoolean(Null.SetNull(dr["DisplaySyndicate"], objModuleInfo.DisplaySyndicate));
                objModuleInfo.InheritViewPermissions  = Convert.ToBoolean(Null.SetNull(dr["InheritViewPermissions"], objModuleInfo.InheritViewPermissions));
                objModuleInfo.DesktopModuleID         = Convert.ToInt32(Null.SetNull(dr["DesktopModuleID"], objModuleInfo.DesktopModuleID));
                objModuleInfo.FriendlyName            = Convert.ToString(Null.SetNull(dr["FriendlyName"], objModuleInfo.FriendlyName));
                objModuleInfo.Description             = Convert.ToString(Null.SetNull(dr["Description"], objModuleInfo.Description));
                objModuleInfo.Version                 = Convert.ToString(Null.SetNull(dr["Version"], objModuleInfo.Version));
                objModuleInfo.IsPremium               = Convert.ToBoolean(Null.SetNull(dr["IsPremium"], objModuleInfo.IsPremium));
                objModuleInfo.IsAdmin                 = Convert.ToBoolean(Null.SetNull(dr["IsAdmin"], objModuleInfo.IsAdmin));
                objModuleInfo.BusinessControllerClass = Convert.ToString(Null.SetNull(dr["BusinessControllerClass"], objModuleInfo.BusinessControllerClass));
                objModuleInfo.SupportedFeatures       = Convert.ToInt32(Null.SetNull(dr["SupportedFeatures"], objModuleInfo.SupportedFeatures));
                objModuleInfo.ModuleControlId         = Convert.ToInt32(Null.SetNull(dr["ModuleControlId"], objModuleInfo.ModuleControlId));
                objModuleInfo.ControlSrc              = Convert.ToString(Null.SetNull(dr["ControlSrc"], objModuleInfo.ControlSrc));
                int intControlType = 0;
                if ((Convert.ToInt32(Null.SetNull(dr["ControlType"], intControlType))) == -3)
                {
                    objModuleInfo.ControlType = SecurityAccessLevel.ControlPanel;
                }
                else if ((Convert.ToInt32(Null.SetNull(dr["ControlType"], intControlType))) == -2)
                {
                    objModuleInfo.ControlType = SecurityAccessLevel.SkinObject;
                }
                else if (((Convert.ToInt32(Null.SetNull(dr["ControlType"], intControlType))) == -1) || ((Convert.ToInt32(Null.SetNull(dr["ControlType"], intControlType))) == Null.NullInteger))
                {
                    objModuleInfo.ControlType = SecurityAccessLevel.Anonymous;
                }
                else if ((Convert.ToInt32(Null.SetNull(dr["ControlType"], intControlType))) == 0)
                {
                    objModuleInfo.ControlType = SecurityAccessLevel.View;
                }
                else if ((Convert.ToInt32(Null.SetNull(dr["ControlType"], intControlType))) == 1)
                {
                    objModuleInfo.ControlType = SecurityAccessLevel.Edit;
                }
                else if ((Convert.ToInt32(Null.SetNull(dr["ControlType"], intControlType))) == 2)
                {
                    objModuleInfo.ControlType = SecurityAccessLevel.Admin;
                }
                else if ((Convert.ToInt32(Null.SetNull(dr["ControlType"], intControlType))) == 3)
                {
                    objModuleInfo.ControlType = SecurityAccessLevel.Host;
                }
                objModuleInfo.ControlTitle = Convert.ToString(Null.SetNull(dr["ControlTitle"], objModuleInfo.ControlTitle));
                objModuleInfo.HelpUrl      = Convert.ToString(Null.SetNull(dr["HelpUrl"], objModuleInfo.HelpUrl));

                if (IncludePermissions)
                {
                    if (objModuleInfo != null)
                    {
                        //Get the Module permissions first (then we can parse the collection to determine the View/Edit Roles)
                        objModuleInfo.ModulePermissions   = objModulePermissionController.GetModulePermissionsCollectionByModuleID(objModuleInfo.ModuleID, objModuleInfo.TabID);
                        objModuleInfo.AuthorizedEditRoles = objModulePermissionController.GetModulePermissions(objModuleInfo.ModulePermissions, "EDIT");
                        if (objModuleInfo.AuthorizedEditRoles == ";")
                        {
                            // this code is here for legacy support - the AuthorizedEditRoles were stored as a concatenated list of roleids prior to DNN 3.0
                            try
                            {
                                objModuleInfo.AuthorizedEditRoles = Convert.ToString(Null.SetNull(dr["AuthorizedEditRoles"], objModuleInfo.AuthorizedEditRoles));
                            }
                            catch
                            {
                                // the AuthorizedEditRoles field was removed from the Tabs table in 3.0
                            }
                        }
                        try
                        {
                            if (objModuleInfo.InheritViewPermissions)
                            {
                                TabPermissionController objTabPermissionController = new TabPermissionController();
                                TabPermissionCollection objTabPermissionCollection = objTabPermissionController.GetTabPermissionsCollectionByTabID(objModuleInfo.TabID, objModuleInfo.PortalID);
                                objModuleInfo.AuthorizedViewRoles = objTabPermissionController.GetTabPermissions(objTabPermissionCollection, "VIEW");
                            }
                            else
                            {
                                objModuleInfo.AuthorizedViewRoles = objModulePermissionController.GetModulePermissions(objModuleInfo.ModulePermissions, "VIEW");
                            }
                            if (objModuleInfo.AuthorizedViewRoles == ";")
                            {
                                // this code is here for legacy support - the AuthorizedViewRoles were stored as a concatenated list of roleids prior to DNN 3.0
                                try
                                {
                                    objModuleInfo.AuthorizedViewRoles = Convert.ToString(Null.SetNull(dr["AuthorizedViewRoles"], objModuleInfo.AuthorizedViewRoles));
                                }
                                catch
                                {
                                    // the AuthorizedViewRoles field was removed from the Tabs table in 3.0
                                }
                            }
                        }
                        catch
                        {
                        }
                    }
                }
            }
            else
            {
                objModuleInfo = null;
            }
            return(objModuleInfo);
        }