/// <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); } }
/// <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); }
/// ----------------------------------------------------------------------------- /// <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); }
/// <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); }
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); } }
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); }
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); }