private void PopulateData() { int activemembers = new SnitzMembershipProvider().GetNumberOfUsersOnline(); int totalsessions = Convert.ToInt32(Application["SessionCount"]); int dailySessions = Convert.ToInt32(Application["DailyCount"]); var dSession = String.Format("{0} visitor(s) today", dailySessions); int anonusers = totalsessions - activemembers; GetCounts(); if (!string.IsNullOrEmpty(HttpContext.Current.User.Identity.Name)) { lblLastVisit.Text = webResources.lblStatsLastVisit; lblLastVisit.Text += SnitzTime.TimeAgoTag(_page.LastVisitDateTime, true, _page.Member); } else { lblLastVisit.Visible = false; } string newmemberlink = String.Format(PROFILE_URL, _stats.NewestMember, String.Format(webResources.lblViewProfile, _stats.NewestMember)); lblNewestMember.Text = string.Format(webResources.lblStatsNewMember, newmemberlink); lblMemberStats.Text = string.Format(webResources.lblStatsMembers, _activeMembers, Common.TranslateNumerals(_memberCount), Common.TranslateNumerals(_totalPostCount), GetLastPost(), GetLastPostAuthor()); lblTopicStats.Text = string.Format(webResources.lblStatsTopics, Common.TranslateNumerals(_topicCount), _stats.ActiveTopicCount); lblArchiveStats.Text = string.Format(webResources.lblStatsArchive, Common.TranslateNumerals(_archiveTopicCount + _archiveReplyCount), Common.TranslateNumerals(_archiveTopicCount)); lblActiveSessions.Text = extras.GuestLabel + anonusers; string[] onlineusers = new SnitzMembershipProvider().GetOnlineUsers(); var remains = onlineusers.Except(Config.AnonMembers); lblActiveUsers.Text = string.Format(webResources.lblStatsMembersOnline, String.Join(",", remains.ToArray())) + "<br/>" + dSession; }
protected void CreateUserWizard1SendingMail(object sender, MailMessageEventArgs e) { //Send the new member his password and security key //Message Body is in /App_Data/RegisterMail.txt var mp = (SnitzMembershipProvider)Membership.Providers["SnitzMembershipProvider"]; //string msg; var cuw = (CreateUserWizard)sender; //string validationCode = cuw.Question; //Get the MembershipUser that we just created. var newUser = (SnitzMembershipUser)Membership.GetUser(cuw.UserName); //Create the validation code if (mp != null) { string validationCode = SnitzMembershipProvider.CreateValidationCode(newUser); mp.ChangePasswordQuestionAndAnswer(cuw.UserName, cuw.Password, validationCode, "validationcode"); //And build the url for the validation page. var builder = new UriBuilder("http", Request.Url.DnsSafeHost, Request.Url.Port, Page.ResolveUrl("~/Account/activate.aspx"), "?C=" + validationCode); //Add the values to the mail message. e.Message.Body = e.Message.Body.Replace("<%OurForum%>", Config.ForumTitle); e.Message.Body = e.Message.Body.Replace("<%activationURL%>", builder.Uri.ToString().Replace(" ", "%20")); e.Message.Body = e.Message.Body.Replace("<%activationKey%>", validationCode); } }
protected void approveAll_Click(object sender, EventArgs e) { StringBuilder usernames = new StringBuilder(); for (int i = 0; i < GridViewMemberUser.Rows.Count; i++) { GridViewRow row = GridViewMemberUser.Rows[i]; CheckBox select = (CheckBox)row.FindControl("chkSelect"); usernames.Append(select.ToolTip + ","); } SnitzMembershipProvider smp = (SnitzMembershipProvider)Membership.Providers["SnitzMembershipProvider"]; string[] arrUsers = usernames.ToString().TrimEnd(',').Split(','); foreach (string user in arrUsers) { if (smp != null) { if (SnitzMembershipProvider.ActivateUser(user)) { //smp.UnlockUser(user); Roles.AddUserToRole(user, "Member"); EmailConfirmation(user); } } } GridViewMemberUser.DataBind(); }
protected void delSel_Click(object sender, EventArgs e) { StringBuilder str = new StringBuilder(); for (int i = 0; i < GridViewMemberUser.Rows.Count; i++) { GridViewRow row = GridViewMemberUser.Rows[i]; CheckBox select = (CheckBox)row.FindControl("chkSelect"); if (select.Checked) { str.Append(select.ToolTip + ","); } } SnitzProfileProvider pro = (SnitzProfileProvider)ProfileManager.Providers["TableProfileProvider"]; string usernameList = str.ToString().TrimEnd(','); if (pro != null) { pro.DeleteProfiles(usernameList.Split(',')); } foreach (string user in usernameList.Split(',')) { var mp = new SnitzMembershipProvider(); mp.DeleteUser(user, true); //Membership.DeleteUser(user,true); } GridViewMemberUser.DataBind(); }
protected void BtnChangePassClick(object sender, EventArgs e) { var smp = new SnitzMembershipProvider(); bool result = smp.ChangePassword(_profileUser, tbxPassword.Text, tbxNewPass.Text); if (result) { var req = new RequiredFieldValidator { ValidationGroup = "passChange", ErrorMessage = "Password changed successfully", IsValid = false }; Page.Form.Controls.Add(req); req.Visible = false; } else { var req = new RequiredFieldValidator { ValidationGroup = "passChange", ErrorMessage = "Failed to change password", IsValid = false }; Page.Form.Controls.Add(req); req.Visible = false; } }
protected void resend_Click(object sender, EventArgs e) { StringBuilder usernames = new StringBuilder(); string path = Config.CultureSpecificDataDirectory + "ValidationEmail.html"; var email = File.ReadAllText(Server.MapPath(path)); for (int i = 0; i < GridViewMemberUser.Rows.Count; i++) { GridViewRow row = GridViewMemberUser.Rows[i]; CheckBox select = (CheckBox)row.FindControl("chkSelect"); if (select.Checked) { usernames.Append(select.ToolTip + ","); } } SnitzMembershipProvider smp = (SnitzMembershipProvider)Membership.Providers["SnitzMembershipProvider"]; string[] arrUsers = usernames.ToString().TrimEnd(',').Split(','); foreach (string user in arrUsers) { if (smp != null) { MembershipUser mu = Membership.GetUser(user, false); //todo: //need to reset password ?? //email.Replace("<%UserName%>", mu.UserName).Replace("<%OurForum%>", Config.ForumUrl).Replace("<%activationKey%>", mu.PasswordQuestion;); } } }
public void Initialize() { NameValueCollection nv = new NameValueCollection(); nv.Add("connectionStringName", "MyTest2"); prov = new SnitzMembershipProvider(); prov.Initialize("SnitzMembershipProvider", nv); }
private void LockUser(string user) { SnitzMembershipProvider smp = (SnitzMembershipProvider)Membership.Providers["SnitzMembershipProvider"]; if (!String.IsNullOrEmpty(user)) { if (smp != null) { smp.LockUser(user); } } }
private void DeleteUser(string user) { SnitzMembershipProvider smp = (SnitzMembershipProvider)Membership.Providers["SnitzMembershipProvider"]; if (!String.IsNullOrEmpty(user)) { if (smp != null) { smp.DeleteUser(user, false); } } GetUsers(); }
protected void ChangeEmailClick(object sender, EventArgs e) { if ((newemail.Text.Trim() == "") || (newemail.Text == @"Enter a new Email ..")) { return; } var smp = (SnitzMembershipProvider)Membership.Providers["SnitzMembershipProvider"]; if (smp != null) { MembershipUser mu = smp.GetUser(HttpContext.Current.User.Identity.Name, false); SnitzMembershipProvider.ChangeEmail(mu, false, newemail.Text); SendEmail(mu); } Lemail.Visible = true; btnChangeEmail.Visible = false; newemail.Visible = false; }
private void PopulateData() { int activemembers = new SnitzMembershipProvider().GetNumberOfUsersOnline(); int totalsessions = Convert.ToInt32(Application["SessionCount"]); int dailySessions = Convert.ToInt32(Application["DailyCount"]); var dSession = String.Format("{0} visitor(s) today", dailySessions); int anonusers = totalsessions - activemembers; GetCounts(); string newmemberlink = String.Format(PROFILE_URL, _stats.NewestMember, String.Format(webResources.lblViewProfile, _stats.NewestMember)); lblNewestMember.Text = string.Format(webResources.lblMiniStatsNewMember, newmemberlink); lblMemberStats.Text = string.Format(webResources.lblMiniStatsMembers, Common.TranslateNumerals(_memberCount), Common.TranslateNumerals(_totalPostCount), GetLastPost(), GetLastPostAuthor()); lblTopicStats.Text = string.Format(webResources.lblMiniStatsTopics, Common.TranslateNumerals(_stats.ActiveTopicCount)); lblActiveSessions.Text = extras.GuestLabel + Common.TranslateNumerals(anonusers); string[] onlineusers = new SnitzMembershipProvider().GetOnlineUsers(); var remains = onlineusers.Except(Config.AnonMembers); lblActiveUsers.Text = string.Format(webResources.lblStatsMembersOnline, String.Join(",", remains.ToArray())) + "<br/>" + dSession; }
protected void btnOk_Click(object sender, EventArgs e) { switch (mode) { case "C": strError = webResources.ErrNotImplemented; break; case "F": strError = webResources.ErrNotImplemented; break; case "M": SnitzMembershipProvider smp = (SnitzMembershipProvider)Membership.Providers["SnitzMembershipProvider"]; if (smp != null) { smp.DeleteUser(username, true); } break; case "R": strError = ""; strError = Topic.DeleteReply(DeleteId, TopicId, ForumId); break; case "T": strError = ""; strError = Topic.DeleteTopic(DeleteId, ForumId, IsAuthor, IsAdmin); CloseWindow("active.aspx"); break; } if (strError == "") { Forum.UpdateForumCounts(); } }
protected void BtnActivateClick(object sender, EventArgs e) { MembershipUser mu = Membership.GetUser(username.Text, false); Page.Validate(); if (Page.IsValid) { ActivationPanel.Visible = false; ActivatedPanel.Visible = true; if (string.IsNullOrEmpty(Request.Params["E"])) { //we are already approved so lets quit if (mu != null && mu.IsApproved) { litAccepted.Visible = false; litValidated.Visible = false; litAlreadyValid.Visible = true; return; } if (Config.RestrictRegistration) { litAccepted.Visible = false; litValidated.Visible = true; litAlreadyValid.Visible = false; if (mu != null) { mu.UnlockUser(); } } else { litAccepted.Visible = true; litValidated.Visible = false; litAlreadyValid.Visible = false; if (mu != null) { mu.UnlockUser(); } if (SnitzMembershipProvider.ActivateUser(username.Text)) //we need to activate in order to validate login { //we passed so lets unlock and add to member role Roles.AddUserToRole(username.Text, "Member"); } } } else if (Request.Params["E"] == "T") { if (SnitzMembershipProvider.ChangeEmail(mu, true, null)) { litValidated.Visible = true; } else { throw new Exception("Email change failed"); } } } }
private void SendEmail(MembershipUser sender) { string mailFile = Server.MapPath("~/App_Data/ChangeMail.html"); string strSubject = "Sent From " + Regex.Replace(Config.ForumTitle, @"&\w+;", "") + ": Email change request"; var builder = new UriBuilder("http", Request.Url.DnsSafeHost, Request.Url.Port, Page.ResolveUrl("~/Account/activate.aspx"), string.Format("?C={0}&E=T", SnitzMembershipProvider.CreateValidationCode(sender))); var file = new StreamReader(mailFile); string msgBody = file.ReadToEnd(); msgBody = msgBody.Replace("<%UserName%>", sender.UserName); msgBody = msgBody.Replace("<%ForumTitle%>", Config.ForumTitle); msgBody = msgBody.Replace("<%validationURL%>", builder.Uri.AbsoluteUri); var mailsender = new SnitzEmail { toUser = new MailAddress(newemail.Text, sender.UserName), FromUser = "******", subject = strSubject, msgBody = msgBody }; mailsender.Send(); }
protected void MenuItemDataBound(object sender, MenuEventArgs e) { PageBase page = (PageBase)Page; MembershipUser mu = Membership.GetUser(false); if (e.Item.NavigateUrl.ToLower().Contains("action=validate") || e.Item.NavigateUrl.ToLower().Contains("pendingmembers")) { int pCount = SnitzMembershipProvider.GetUnApprovedMemberCount(); e.Item.Enabled = false; if (pCount > 0) { e.Item.Enabled = true; e.Item.Text += @" (" + pCount + @")"; } } if (e.Item.NavigateUrl.ToLower().Contains("events")) { if (!ConfigHelper.IsModEnabled("EventsConfig")) { e.Item.Text = ""; e.Item.Enabled = false; } } if (e.Item.NavigateUrl.Contains("gallery.aspx")) { if (e.Item.NavigateUrl.Contains("mygallery.aspx")) { if (!Config.UserGallery) { e.Item.Text = ""; e.Item.Enabled = false; } } else { if (!Config.ShowGallery) { e.Item.Text = ""; e.Item.Enabled = false; } } } if (e.Item.NavigateUrl.ToLower().Contains("privatemessage")) { int unreadcount = 0; if (((PageBase)Page).Member != null) { unreadcount = PrivateMessages.GetUnreadPMCount(((PageBase)Page).Member.Id); } if (unreadcount > 0) { e.Item.Text += string.Format(" ({0})", unreadcount); } if (!Config.PrivateMessaging) { e.Item.Text = ""; e.Item.Enabled = false; } } if (e.Item.NavigateUrl.ToLower().Contains("active")) { if (mu != null) { int unreadcount = Topics.GetNewTopicCount(page.LastVisitDateTime.ToForumDateStr(), page.IsAdministrator || page.IsModerator, 0, 100); if (unreadcount > 0) { e.Item.Text += @" (" + unreadcount + @")"; } } } }
private void Page_Load(object sender, EventArgs e) { if (Request.Params["ID"] == null) { Response.Redirect("error.aspx?msg=errInvalidForumId"); } mode = Request.Params["mode"]; LockState = Int32.Parse(Request.Params["lock"]); if (mode == "M") { user = Request.Params["ID"]; } else { LockId = Int32.Parse(Request.Params["ID"]); ForumId = Int32.Parse(Request.Params["FId"]); } CanLock = (Roles.IsUserInRole(HttpContext.Current.User.Identity.Name, "Administrator") || Moderators.IsUserForumModerator(HttpContext.Current.User.Identity.Name, ForumId)); if (!CanLock) { CloseWindow(); } if (Page.IsPostBack) { switch (mode.ToUpper()) { case "M": SnitzMembershipProvider smp = (SnitzMembershipProvider)Membership.Providers["SnitzMembershipProvider"]; if (smp != null) { switch (LockState) { case 0: if (!String.IsNullOrEmpty(user)) { if (smp.UnlockUser(user)) { strError = "Member Un-Locked"; } } break; case 1: if (!String.IsNullOrEmpty(user)) { if (smp.LockUser(user)) { strError = "Member Locked"; } } break; } } break; } } else { switch (mode.ToUpper()) { case "T": switch (LockState) { case 0: Page.Title = webResources.lblLock; ((Label)Master.FindControl("Label1")).Text = webResources.lblLock; break; case 1: Page.Title = webResources.lblUnlock; ((Label)Master.FindControl("Label1")).Text = webResources.lblUnlock; break; } break; case "F": switch (LockState) { case 0: Page.Title = webResources.lblLockForum; ((Label)Master.FindControl("Label1")).Text = webResources.lblLockForum; break; case 1: Page.Title = webResources.lblUnLockForum; ((Label)Master.FindControl("Label1")).Text = webResources.lblUnLockForum; break; } break; case "M": switch (LockState) { case 0: Page.Title = webResources.lblUnlockUser; ((Label)Master.FindControl("Label1")).Text = String.Format(webResources.lblUnlockUser, user); break; case 1: Page.Title = webResources.lblLockUser; ((Label)Master.FindControl("Label1")).Text = String.Format(webResources.lblLockUser, user); break; } break; } } }