private void LoadAuthorsList() { //load authors role //load admins role var rc = new DotNetNuke.Security.Roles.RoleController(); ArrayList al = rc.GetUserRolesByRoleName(PortalId, HostController.Instance.GetString(Utility.PublishAuthorRole + PortalId)); ArrayList alAdmin = rc.GetUserRolesByRoleName(PortalId, HostController.Instance.GetString(Utility.PublishAdminRole + PortalId)); //check to make sure we only add authors who aren't already in the list. foreach (UserRoleInfo uri in alAdmin) { bool located = false; foreach (UserRoleInfo ur in al) { if (uri.UserRoleID == ur.UserRoleID) { located = true; } break; } if (!located) { al.Add(uri); } } //sort the author list alphabetically al.Sort(new UserRoleInfoComparer(true)); ddlAuthor.DataTextField = "FullName"; ddlAuthor.DataValueField = "UserId"; ddlAuthor.DataSource = al; ddlAuthor.DataBind(); }
private bool CheckForAdminRole() { DotNetNuke.Security.Roles.RoleController roleController = new DotNetNuke.Security.Roles.RoleController(); //ArrayList roles = roleController.GetUsersInRole(PortalId, "Administrators"); ArrayList roles = roleController.GetUserRolesByRoleName(PortalId, "Administrators"); foreach (UserRoleInfo userRoleInfo in roles) { if (userRoleInfo.UserID == UserId) { return true; } } return false; }
private void LoadAuthorsList() { //load authors role //load admins role var rc = new DotNetNuke.Security.Roles.RoleController(); ArrayList al = rc.GetUserRolesByRoleName(PortalId, HostController.Instance.GetString(Utility.PublishAuthorRole + PortalId)); ArrayList alAdmin = rc.GetUserRolesByRoleName(PortalId, HostController.Instance.GetString(Utility.PublishAdminRole + PortalId)); //check to make sure we only add authors who aren't already in the list. foreach (UserRoleInfo uri in alAdmin) { bool located = false; foreach (UserRoleInfo ur in al) { if (uri.UserRoleID == ur.UserRoleID) located = true; break; } if (!located) { al.Add(uri); } } //sort the author list alphabetically al.Sort(new UserRoleInfoComparer(true)); ddlAuthor.DataTextField = "FullName"; ddlAuthor.DataValueField = "UserId"; ddlAuthor.DataSource = al; ddlAuthor.DataBind(); }
/// <summary> /// Gets the notification emails. /// </summary> /// <param name="topic">The topic.</param> /// <returns>A List of Users</returns> public List <string> GetNotificationEmails(Topic topic) { Setting wikiSettings = new SettingBO(this.mUnitOfWork).GetByModuleID(topic.ModuleId); List <string> lstUsers = new List <string>(); if (wikiSettings != null) { // Gather the email address from the roles assigned to this module... if (!string.IsNullOrWhiteSpace(wikiSettings.CommentNotifyRoles)) { DotNetNuke.Security.Roles.RoleController objRoles = new DotNetNuke.Security.Roles.RoleController(); DotNetNuke.Entities.Modules.ModuleController objModules = new DotNetNuke.Entities.Modules.ModuleController(); DotNetNuke.Entities.Modules.ModuleInfo objModule = objModules.GetModule(topic.ModuleId); if (objModule != null) { bool fetchUsingDNNRoles = false; bool fetchUsingCustomRoles = false; bool fetchViewUsers = false; bool fetchEditUsers = false; fetchUsingDNNRoles = !string.IsNullOrWhiteSpace(wikiSettings.ContentEditorRoles) && wikiSettings.ContentEditorRoles.StartsWith("UseDNNSettings;"); fetchUsingCustomRoles = !string.IsNullOrWhiteSpace(wikiSettings.CommentNotifyRoles) && !wikiSettings.CommentNotifyRoles.StartsWith("UseDNNSettings;"); if (!fetchUsingCustomRoles) { fetchEditUsers = wikiSettings.CommentNotifyRoles.Contains(";Edit"); fetchViewUsers = wikiSettings.CommentNotifyRoles.Contains(";View"); } // Compile our view users, only if enabled if (fetchViewUsers) { foreach (string role in objModule.AuthorizedViewRoles.Trim(new char[] { ';' }).Split(new char[] { ';' })) { if (role.ToLower().Equals("all users")) { // Trap against fake roles var arrUsers = DotNetNuke.Entities.Users.UserController.GetUsers(DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings().PortalId).OfType <UserInfo>(); foreach (DotNetNuke.Entities.Users.UserInfo objUser in arrUsers) { if (!lstUsers.Contains(objUser.Email)) { lstUsers.Add(objUser.Email); } } } else { // This role should be legit foreach (DotNetNuke.Entities.Users.UserRoleInfo objUserRole in objRoles.GetUserRolesByRoleName(objModule.PortalID, role)) { if (!lstUsers.Contains(objUserRole.Email)) { lstUsers.Add(objUserRole.Email); } } } } } // Compile our edit users, only if enabled if (fetchEditUsers) { if (fetchUsingDNNRoles) { // Fetch using dnn edit roles foreach (string role in objModule.AuthorizedEditRoles.Trim(new char[] { ';' }).Split(new char[] { ';' })) { if (role.ToLower().Equals("all users")) { // Trap against fake roles } else { // This role should be legit foreach (DotNetNuke.Entities.Users.UserRoleInfo objUserRole in objRoles.GetUserRolesByRoleName(objModule.PortalID, role)) { if (!lstUsers.Contains(objUserRole.Email)) { lstUsers.Add(objUserRole.Email); } } } } } else { // Fetch using custom wiki edit roles foreach (string role in wikiSettings.ContentEditorRoles.Trim(new char[] { ';' }).Split(new char[] { ';' })) { foreach (DotNetNuke.Entities.Users.UserRoleInfo objUserRole in objRoles.GetUserRolesByRoleName(objModule.PortalID, role)) { if (!lstUsers.Contains(objUserRole.Email)) { lstUsers.Add(objUserRole.Email); } } } } } } } // Gather any users emails address from comments in this topic... if (wikiSettings.CommentNotifyUsers == true) { IEnumerable <CommentEmails> lstEmails = new CommentBO(this.mUnitOfWork).GetCommentNotifyUsers(topic.TopicID); foreach (CommentEmails objCommentEmail in lstEmails) { if (!lstUsers.Contains(objCommentEmail.Email)) { lstUsers.Add(objCommentEmail.Email); } } } } return(lstUsers); }