public int Groups_Save(int portalId, ForumGroupInfo fg, bool isNew) { var rc = new Security.Roles.RoleController(); var db = new Data.Common(); var permissionsId = -1; if (fg.PermissionsId == -1) { var ri = rc.GetRoleByName(portalId, "Administrators"); if (ri != null) { fg.PermissionsId = db.CreatePermSet(ri.RoleID.ToString()); permissionsId = fg.PermissionsId; } } var groupId = DataProvider.Instance().Groups_Save(portalId, fg.ModuleId, fg.ForumGroupId, fg.GroupName, fg.SortOrder, fg.Active, fg.Hidden, fg.PermissionsId, fg.PrefixURL); if (isNew) { Permissions.CreateDefaultSets(portalId, permissionsId); var moduleId = fg.ModuleId; var sKey = "G:" + groupId.ToString(); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.TopicsTemplateId, "0"); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.TopicTemplateId, "0"); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.TopicFormId, "0"); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.ReplyFormId, "0"); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.AllowRSS, "false"); } DataCache.CacheClear(string.Format(CacheKeys.ForumList, fg.ModuleId)); return(groupId); }
public int Groups_Save(int portalId, ForumGroupInfo fg, bool isNew) { var rc = new Security.Roles.RoleController(); var db = new Data.Common(); var permissionsId = -1; if (fg.PermissionsId == -1) { var ri = rc.GetRoleByName(portalId, "Administrators"); if (ri != null) { fg.PermissionsId = db.CreatePermSet(ri.RoleID.ToString()); permissionsId = fg.PermissionsId; } } var groupId = DataProvider.Instance().Groups_Save(portalId, fg.ModuleId, fg.ForumGroupId, fg.GroupName, fg.SortOrder, fg.Active, fg.Hidden, fg.PermissionsId, fg.PrefixURL); if (isNew) { Permissions.CreateDefaultSets(portalId, permissionsId); var moduleId = fg.ModuleId; var sKey = "G:" + groupId.ToString(); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.TopicsTemplateId, "0"); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.TopicTemplateId, "0"); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.TopicFormId, "0"); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.ReplyFormId, "0"); Settings.SaveSetting(moduleId, sKey, ForumSettingKeys.AllowRSS, "false"); } DataCache.CacheClear(string.Format(CacheKeys.ForumList, fg.ModuleId)); return groupId; }
public static string GetRoleIds(string[] Roles, int SiteId) { int i = 0; string RoleIds = ""; var db = new Data.Common(); object obj = null; // DataCache.CacheRetrieve(SiteId & "afroles") if (obj == null) { var rc = new Security.Roles.RoleController(); foreach (Security.Roles.RoleInfo ri in rc.GetPortalRoles(SiteId)) { string roleName = ri.RoleName; foreach (string role in Roles) { if (!string.IsNullOrEmpty(role)) { if (roleName == role) { RoleIds += ri.RoleID.ToString() + ";"; break; } } } } // DataCache.CacheStore(SiteId & "afroles", RoleIds) } return(RoleIds); }
protected void CopyLanguageToNationalityOfNewUsers() { string roleName = "Registered Users"; Security.Roles.RoleController roleCtlr = new Security.Roles.RoleController(); ArrayList objUserRoles = roleCtlr.GetUsersByRoleName(0, roleName); foreach (Entities.Users.UserInfo user in objUserRoles) { string nat = user.Profile.GetPropertyValue("OurSpaceNationality"); if (user.Profile.GetPropertyValue("OurSpaceNationality") == null) { string lang = user.Profile.GetPropertyValue("PreferredLocale"); user.Profile.SetProfileProperty("OurSpaceNationality", lang); ProfileController.UpdateUserProfile(user); } } }
private static ArrayList GetRoles(int PortalId) { object obj = DataCache.CacheRetrieve(PortalId + "RoleNames"); ArrayList roleNames; if (obj == null) { var objRoleController = new Security.Roles.RoleController(); roleNames = objRoleController.GetPortalRoles(PortalId); DataCache.CacheStore(PortalId + "RoleNames", roleNames); } else { roleNames = (ArrayList)obj; } return(roleNames); }
public static bool HasPerm(string AuthorizedRoles, int UserId, int PortalId) { string userRoles; userRoles = UserRolesDictionary.GetRoles(UserId.ToString() + PortalId.ToString()); if (string.IsNullOrEmpty(userRoles)) { var social = new Social(); var uc = new Security.Roles.RoleController(); string[] roles = DotNetNuke.Entities.Users.UserController.GetUserById(PortalId, UserId).Roles; string roleIds = GetRoleIds(roles, PortalId); userRoles = roleIds + "|" + UserId + "|" + social.ActiveSocialGroups(UserId, PortalId) + "|"; UserRolesDictionary.AddRoles(UserId.ToString() + PortalId.ToString(), userRoles); } if (string.IsNullOrEmpty(userRoles)) { return(false); } return(HasPerm(AuthorizedRoles, userRoles)); }
internal static void CreateDefaultSets(int PortalId, int PermissionsId) { var db = new Data.Common(); var rc = new Security.Roles.RoleController(); Security.Roles.RoleInfo ri; ri = rc.GetRoleByName(PortalId, "Registered Users"); string permSet; if (ri != null) { permSet = db.GetPermSet(PermissionsId, "View"); permSet = AddPermToSet(ri.RoleID.ToString(), 0, permSet); db.SavePermSet(PermissionsId, "View", permSet); permSet = db.GetPermSet(PermissionsId, "Read"); permSet = AddPermToSet(ri.RoleID.ToString(), 0, permSet); db.SavePermSet(PermissionsId, "Read", permSet); permSet = db.GetPermSet(PermissionsId, "Create"); permSet = AddPermToSet(ri.RoleID.ToString(), 0, permSet); db.SavePermSet(PermissionsId, "Create", permSet); permSet = db.GetPermSet(PermissionsId, "Reply"); permSet = AddPermToSet(ri.RoleID.ToString(), 0, permSet); db.SavePermSet(PermissionsId, "Reply", permSet); } permSet = db.GetPermSet(PermissionsId, "View"); permSet = AddPermToSet("-3", 0, permSet); db.SavePermSet(PermissionsId, "View", permSet); permSet = db.GetPermSet(PermissionsId, "Read"); permSet = AddPermToSet("-3", 0, permSet); db.SavePermSet(PermissionsId, "Read", permSet); permSet = db.GetPermSet(PermissionsId, "View"); permSet = AddPermToSet("-1", 0, permSet); db.SavePermSet(PermissionsId, "View", permSet); permSet = db.GetPermSet(PermissionsId, "Read"); permSet = AddPermToSet("-1", 0, permSet); db.SavePermSet(PermissionsId, "Read", permSet); }
public static List<Entities.Users.UserInfo> GetListOfModerators(int portalId, int forumId) { var rc = new Security.Roles.RoleController(); var uc = new Entities.Users.UserController(); var fc = new ForumController(); var fi = fc.Forums_Get(forumId, -1, false, true); if (fi == null) return null; var mods = new List<Entities.Users.UserInfo>(); SubscriptionInfo si = null; var modApprove = fi.Security.ModApprove; var modRoles = modApprove.Split('|')[0].Split(';'); foreach (var r in modRoles) { if (string.IsNullOrEmpty(r)) continue; var rid = Convert.ToInt32(r); var rName = rc.GetRole(rid, portalId).RoleName; foreach (Entities.Users.UserRoleInfo usr in rc.GetUserRolesByRoleName(portalId, rName)) { var ui = uc.GetUser(portalId, usr.UserID); if (!(mods.Contains(ui))) { mods.Add(ui); } } } return mods; }
public static void SendEmailToModerators(int templateId, int portalId, int forumId, int topicId, int replyId, int moduleID, int tabID, string comments, UserInfo user) { var portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); var mainSettings = DataCache.MainSettings(moduleID); var fc = new ForumController(); var fi = fc.Forums_Get(forumId, -1, false, true); if (fi == null) { return; } var subs = new List <SubscriptionInfo>(); var rc = new Security.Roles.RoleController(); var rp = RoleProvider.Instance(); var uc = new Entities.Users.UserController(); var modApprove = fi.Security.ModApprove; var modRoles = modApprove.Split('|')[0].Split(';'); foreach (var r in modRoles) { if (string.IsNullOrEmpty(r)) { continue; } var rid = Convert.ToInt32(r); var rName = rc.GetRole(rid, portalId).RoleName; foreach (UserRoleInfo usr in rp.GetUserRoles(portalId, null, rName)) { var ui = uc.GetUser(portalId, usr.UserID); var si = new SubscriptionInfo { UserId = ui.UserID, DisplayName = ui.DisplayName, Email = ui.Email, FirstName = ui.FirstName, LastName = ui.LastName }; if (!(subs.Contains(si))) { subs.Add(si); } } } if (subs.Count <= 0) { return; } var sTemplate = string.Empty; var tc = new TemplateController(); var ti = tc.Template_Get(templateId, portalId, moduleID); var subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, portalId, moduleID, tabID, forumId, topicId, replyId, Convert.ToInt32(portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); var bodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, portalId, moduleID, tabID, forumId, topicId, replyId, comments, user, -1, Convert.ToInt32(portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); var bodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, portalId, moduleID, tabID, forumId, topicId, replyId, comments, user, -1, Convert.ToInt32(portalSettings.TimeZone.BaseUtcOffset.TotalMinutes)); var sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : portalSettings.Email; var oEmail = new Email { Recipients = subs, Subject = subject, From = sFrom, BodyText = bodyText, BodyHTML = bodyHTML, UseQueue = mainSettings.MailQueue }; new Thread(oEmail.Send).Start(); }
public static void SendEmailToModerators(int templateId, int portalId, int forumId, int topicId, int replyId, int moduleID, int tabID, string comments, UserInfo user) { var portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); var mainSettings = DataCache.MainSettings(moduleID); var fc = new ForumController(); var fi = fc.Forums_Get(forumId, -1, false, true); if (fi == null) return; var subs = new List<SubscriptionInfo>(); var rc = new Security.Roles.RoleController(); var uc = new Entities.Users.UserController(); var modApprove = fi.Security.ModApprove; var modRoles = modApprove.Split('|')[0].Split(';'); foreach (var r in modRoles) { if (string.IsNullOrEmpty(r)) continue; var rid = Convert.ToInt32(r); var rName = rc.GetRole(rid, portalId).RoleName; foreach (UserRoleInfo usr in rc.GetUserRolesByRoleName(portalId, rName)) { var ui = uc.GetUser(portalId, usr.UserID); var si = new SubscriptionInfo { UserId = ui.UserID, DisplayName = ui.DisplayName, Email = ui.Email, FirstName = ui.FirstName, LastName = ui.LastName }; if (! (subs.Contains(si))) { subs.Add(si); } } } if (subs.Count <= 0) return; var sTemplate = string.Empty; var tc = new TemplateController(); var ti = tc.Template_Get(templateId, portalId, moduleID); var subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, portalId, moduleID, tabID, forumId, topicId, replyId, portalSettings.TimeZoneOffset); var bodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, portalId, moduleID, tabID, forumId, topicId, replyId, comments, user, -1, portalSettings.TimeZoneOffset); var bodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, portalId, moduleID, tabID, forumId, topicId, replyId, comments, user, -1, portalSettings.TimeZoneOffset); var sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : portalSettings.Email; var oEmail = new Email { Recipients = subs, Subject = subject, From = sFrom, BodyText = bodyText, BodyHTML = bodyHTML, UseQueue = mainSettings.MailQueue }; new Thread(oEmail.Send).Start(); }
protected void SetNationalityFromIP() { string roleName = "Registered Users"; Security.Roles.RoleController roleCtlr = new Security.Roles.RoleController(); ArrayList objUserRoles = roleCtlr.GetUsersByRoleName(PortalId, roleName); foreach (Entities.Users.UserInfo user in objUserRoles) { string CONNECTION_STRING = DotNetNuke.Common.Utilities.Config.GetConnectionString(); SqlConnection conn = new SqlConnection(CONNECTION_STRING); // Checking if nationality has been set from IP before conn.Open(); SqlDataReader readerUserAlreadyDone = SqlHelper.ExecuteReader(conn, CommandType.Text, "SELECT * FROM OURSPACE_LOG WHERE userId = " + user.UserID); if (!readerUserAlreadyDone.HasRows) { SqlConnection conn2 = new SqlConnection(CONNECTION_STRING); conn2.Open(); SqlDataReader reader = SqlHelper.ExecuteReader(conn2, CommandType.Text, "SELECT * FROM Users WHERE Userid = " + user.UserID); if (reader.Read()) { string ip = reader["LastIPAddress"].ToString(); Ourspace_Utilities.View.LocationInfo location = Ourspace_Utilities.View.GeoLocationService.GetLocationInfo(ip); if (location != null) { string countryCode = GetCountryFromCountryName(location.CountryName); if (countryCode != "UNKNOWN") { user.Profile.SetProfileProperty("OurSpaceNationality", countryCode); ProfileController.UpdateUserProfile(user); } lblCountry.Text += user.UserID + " " + ip + " " + location.CountryName + " " + countryCode + "<br/>"; SqlConnection conn3 = new SqlConnection(CONNECTION_STRING); conn3.Open(); SqlHelper.ExecuteNonQuery(conn3, CommandType.Text, "INSERT INTO OURSPACE_LOG VALUES ('" + user.UserID + " " + ip + " " + location.CountryName + " " + countryCode + "', " + user.UserID + ")"); conn3.Close(); } } conn2.Close(); } conn.Close(); } }
public void SendEmailToModerators(int TemplateId, int PortalId, int ForumId, int TopicId, int ReplyId, int ModuleID, int TabID, string Comments, DotNetNuke.Entities.Users.UserInfo User) { var _portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); SettingsInfo MainSettings = DataCache.MainSettings(ModuleID); var fc = new ForumController(); Forum fi = fc.Forums_Get(ForumId, -1, false, true); if (fi == null) { return; } var subs = new List<SubscriptionInfo>(); var rc = new Security.Roles.RoleController(); var uc = new Entities.Users.UserController(); SubscriptionInfo si; string modApprove = fi.Security.ModApprove; string[] modRoles = modApprove.Split('|')[0].Split(';'); if (modRoles != null) { foreach (string r in modRoles) { if (! (string.IsNullOrEmpty(r))) { int rid = Convert.ToInt32(r); string rName = rc.GetRole(rid, PortalId).RoleName; foreach (Entities.Users.UserRoleInfo usr in rc.GetUserRolesByRoleName(PortalId, rName)) { var ui = uc.GetUser(PortalId, usr.UserID); si = new SubscriptionInfo { UserId = ui.UserID, DisplayName = ui.DisplayName, Email = ui.Email, FirstName = ui.FirstName, LastName = ui.LastName }; if (! (subs.Contains(si))) { subs.Add(si); } } } } } if (subs.Count <= 0) { return; } string Subject; string BodyText; string BodyHTML; string sTemplate = string.Empty; var tc = new TemplateController(); TemplateInfo ti = tc.Template_Get(TemplateId, PortalId, ModuleID); Subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, PortalId, ModuleID, TabID, ForumId, TopicId, ReplyId, _portalSettings.TimeZoneOffset); BodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, PortalId, ModuleID, TabID, ForumId, TopicId, ReplyId, Comments, User, -1, _portalSettings.TimeZoneOffset); BodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, PortalId, ModuleID, TabID, ForumId, TopicId, ReplyId, Comments, User, -1, _portalSettings.TimeZoneOffset); string sFrom; sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : _portalSettings.Email; var oEmail = new Email { Recipients = subs, Subject = Subject, From = sFrom, BodyText = BodyText, BodyHTML = BodyHTML, SmtpServer = Convert.ToString(_portalSettings.HostSettings["SMTPServer"]), SmtpUserName = Convert.ToString(_portalSettings.HostSettings["SMTPUsername"]), SmtpPassword = Convert.ToString(_portalSettings.HostSettings["SMTPPassword"]), SmtpAuthentication = Convert.ToString(_portalSettings.HostSettings["SMTPAuthentication"]) }; //#if SKU_ENTERPRISE oEmail.UseQueue = MainSettings.MailQueue; //#endif var objThread = new System.Threading.Thread(oEmail.Send); objThread.Start(); }
private static ArrayList GetRoles(int PortalId) { object obj = DataCache.CacheRetrieve(PortalId + "RoleNames"); ArrayList roleNames; if (obj == null) { var objRoleController = new Security.Roles.RoleController(); roleNames = objRoleController.GetPortalRoles(PortalId); DataCache.CacheStore(PortalId + "RoleNames", roleNames); } else { roleNames = (ArrayList)obj; } return roleNames; }
public static string GetRoleIds(string[] Roles, int SiteId) { int i = 0; string RoleIds = ""; var db = new Data.Common(); object obj = null; // DataCache.CacheRetrieve(SiteId & "afroles") if (obj == null) { var rc = new Security.Roles.RoleController(); foreach (Security.Roles.RoleInfo ri in rc.GetPortalRoles(SiteId)) { string roleName = ri.RoleName; foreach (string role in Roles) { if (!string.IsNullOrEmpty(role)) { if (roleName == role) { RoleIds += ri.RoleID.ToString() + ";"; break; } } } } // DataCache.CacheStore(SiteId & "afroles", RoleIds) } return RoleIds; }
public void SendEmailToModerators(int TemplateId, int PortalId, int ForumId, int TopicId, int ReplyId, int ModuleID, int TabID, string Comments, DotNetNuke.Entities.Users.UserInfo User) { var _portalSettings = (Entities.Portals.PortalSettings)(HttpContext.Current.Items["PortalSettings"]); SettingsInfo MainSettings = DataCache.MainSettings(ModuleID); var fc = new ForumController(); Forum fi = fc.Forums_Get(ForumId, -1, false, true); if (fi == null) { return; } var subs = new List <SubscriptionInfo>(); var rc = new Security.Roles.RoleController(); var uc = new Entities.Users.UserController(); SubscriptionInfo si; string modApprove = fi.Security.ModApprove; string[] modRoles = modApprove.Split('|')[0].Split(';'); if (modRoles != null) { foreach (string r in modRoles) { if (!(string.IsNullOrEmpty(r))) { int rid = Convert.ToInt32(r); string rName = rc.GetRole(rid, PortalId).RoleName; foreach (Entities.Users.UserRoleInfo usr in rc.GetUserRolesByRoleName(PortalId, rName)) { var ui = uc.GetUser(PortalId, usr.UserID); si = new SubscriptionInfo { UserId = ui.UserID, DisplayName = ui.DisplayName, Email = ui.Email, FirstName = ui.FirstName, LastName = ui.LastName }; if (!(subs.Contains(si))) { subs.Add(si); } } } } } if (subs.Count <= 0) { return; } string Subject; string BodyText; string BodyHTML; string sTemplate = string.Empty; var tc = new TemplateController(); TemplateInfo ti = tc.Template_Get(TemplateId, PortalId, ModuleID); Subject = TemplateUtils.ParseEmailTemplate(ti.Subject, string.Empty, PortalId, ModuleID, TabID, ForumId, TopicId, ReplyId, _portalSettings.TimeZoneOffset); BodyText = TemplateUtils.ParseEmailTemplate(ti.TemplateText, string.Empty, PortalId, ModuleID, TabID, ForumId, TopicId, ReplyId, Comments, User, -1, _portalSettings.TimeZoneOffset); BodyHTML = TemplateUtils.ParseEmailTemplate(ti.TemplateHTML, string.Empty, PortalId, ModuleID, TabID, ForumId, TopicId, ReplyId, Comments, User, -1, _portalSettings.TimeZoneOffset); string sFrom; sFrom = fi.EmailAddress != string.Empty ? fi.EmailAddress : _portalSettings.Email; var oEmail = new Email { Recipients = subs, Subject = Subject, From = sFrom, BodyText = BodyText, BodyHTML = BodyHTML, SmtpServer = Host.SMTPServer, // Convert.ToString(_portalSettings.HostSettings["SMTPServer"]), SmtpUserName = Host.SMTPUsername, // Convert.ToString(_portalSettings.HostSettings["SMTPUsername"]), SmtpPassword = Host.SMTPPassword, // Convert.ToString(_portalSettings.HostSettings["SMTPPassword"]), SmtpAuthentication = Host.SMTPAuthentication // Convert.ToString(_portalSettings.HostSettings["SMTPAuthentication"]) }; //#if SKU_ENTERPRISE oEmail.UseQueue = MainSettings.MailQueue; //#endif var objThread = new System.Threading.Thread(oEmail.Send); objThread.Start(); }
public static bool HasPerm(string AuthorizedRoles, int UserId, int PortalId) { string userRoles; userRoles = UserRolesDictionary.GetRoles(UserId.ToString() + PortalId.ToString()); if (string.IsNullOrEmpty(userRoles)) { var social = new Social(); var uc = new Security.Roles.RoleController(); string[] roles = uc.GetRolesByUser(UserId, PortalId); string roleIds = GetRoleIds(roles, PortalId); userRoles = roleIds + "|" + UserId + "|" + social.ActiveSocialGroups(UserId, PortalId) + "|"; UserRolesDictionary.AddRoles(UserId.ToString() + PortalId.ToString(), userRoles); } if (string.IsNullOrEmpty(userRoles)) { return false; } return HasPerm(AuthorizedRoles, userRoles); }