protected void btnSaveChanges_Click(object sender, EventArgs e) { if (ValidateData()) { Classes.Blog blog = Classes.Blog.Load(CurrentUserSession.Username); if (permissionCheckResult == PermissionCheckResult.Yes || (CurrentUserSession.Level != null && CurrentUserSession.Level.Restrictions.CanCreateBlogs)) { } else if (permissionCheckResult == PermissionCheckResult.YesButPlanUpgradeNeeded || permissionCheckResult == PermissionCheckResult.YesButMoreCreditsNeeded) { Global.GetSessionState()["BillingPlanOption"] = CurrentUserSession.BillingPlanOptions.CanCreateBlogs; Response.Redirect("~/ManageProfile.aspx?sel=payment"); return; } else if (permissionCheckResult == PermissionCheckResult.No) { ((PageBase)Page).StatusPageMessage = Lang.Trans("You are not allowed to create blogs!"); Response.Redirect("ShowStatus.aspx"); return; } BlogPost blogPost = null; string content = htmlEditor != null ? htmlEditor.Content : ckeditor.Text; if (BlogPostId == -1) { //if (Config.Credits.Required && Config.Credits.CreditsForBlogPost > 0) //{ #region Charge credits //if (!Config.Users.FreeForFemales || // CurrentUserSession.Gender != User.eGender.Female) //{ if (permissionCheckResult == PermissionCheckResult.YesWithCredits) { int creditsLeft = CurrentUserSession.Credits - CurrentUserSession.BillingPlanOptions.CanCreateBlogs.Credits; if (creditsLeft < 0) { Global.GetSessionState()["BillingPlanOption"] = CurrentUserSession.BillingPlanOptions.CanCreateBlogs; Response.Redirect("~/ManageProfile.aspx?sel=payment"); return; } var user = Classes.User.Load(CurrentUserSession.Username); user.Credits -= CurrentUserSession.BillingPlanOptions.CanCreateBlogs.Credits; user.Update(true); CurrentUserSession.Credits = user.Credits; } //} #endregion //} if (Config.Misc.EnableBadWordsFilterBlogs) { blogPost = BlogPost.Create(blog.Id, Parsers.ProcessBadWords(txtName.Text.Trim()), Parsers.ProcessBadWords(content.Trim())); } else { blogPost = BlogPost.Create(blog.Id, txtName.Text.Trim(), content.Trim()); } } else { blogPost = BlogPost.Load(BlogPostId); if (Config.Misc.EnableBadWordsFilterBlogs) { blogPost.Title = Parsers.ProcessBadWords(txtName.Text.Trim()); blogPost.Content = Parsers.ProcessBadWords(content.Trim()); } else { blogPost.Title = txtName.Text.Trim(); blogPost.Content = content.Trim(); } } blogPost.Save(); if (BlogPostId == -1 && blogPost.Approved) { #region Add NewFriendBlogPost Event Event newEvent = new Event(CurrentUserSession.Username); newEvent.Type = Event.eType.NewFriendBlogPost; NewFriendBlogPost newFriendBlogPost = new NewFriendBlogPost(); newFriendBlogPost.BlogPostID = blogPost.Id; newEvent.DetailsXML = Misc.ToXml(newFriendBlogPost); newEvent.Save(); string[] usernames = User.FetchMutuallyFriends(CurrentUserSession.Username); foreach (string friendUsername in usernames) { if (Config.Users.NewEventNotification) { string text = String.Format("Your friend {0} has a new blog post: {1}".Translate(), "<b>" + CurrentUserSession.Username + "</b>", Server.HtmlEncode(blogPost.Title)); int imageID = 0; try { imageID = Photo.GetPrimary(CurrentUserSession.Username).Id; } catch (NotFoundException) { imageID = ImageHandler.GetPhotoIdByGender(CurrentUserSession.Gender); } string thumbnailUrl = ImageHandler.CreateImageUrl(imageID, 50, 50, false, true, true); Classes.User.SendOnlineEventNotification(CurrentUserSession.Username, friendUsername, text, thumbnailUrl, UrlRewrite.CreateShowUserBlogUrl( CurrentUserSession.Username, blogPost.Id)); } } #endregion } txtName.Text = ""; if (ckeditor != null) ckeditor.Text = ""; else if (htmlEditor != null) htmlEditor.Content = ""; if (BlogPostId != -1) { BlogPostId = -1; lblError.Text = Lang.Trans("Post has been edited successfully."); Visible = false; OnSaveChangesClick(e); } else { lblError.Text = Lang.Trans("Post has been added successfully."); } } }
protected void dgPendingApproval_ItemCommand(object source, DataGridCommandEventArgs e) { if (!HasWriteAccess) return; if (e.CommandName == "Approve") { string[] parameters = ((string)e.CommandArgument).Split(':'); if (parameters.Length == 2) { string username = parameters[0]; int id = Convert.ToInt32(parameters[1]); BlogPost blogPost = null; try { blogPost = BlogPost.Load(id); } catch (NotFoundException) { return; } blogPost.Approved = true; blogPost.Save(); #region Add NewFriendBlogPost Event Event newEvent = new Event(username); newEvent.Type = Event.eType.NewFriendBlogPost; NewFriendBlogPost newFriendBlogPost = new NewFriendBlogPost(); newFriendBlogPost.BlogPostID = blogPost.Id; newEvent.DetailsXML = Misc.ToXml(newFriendBlogPost); newEvent.Save(); string[] usernames = Classes.User.FetchMutuallyFriends(username); foreach (string friendUsername in usernames) { if (Config.Users.NewEventNotification) { string text = String.Format("Your friend {0} has a new blog post: {1}".TranslateA(), "<b>" + username + "</b>", Server.HtmlEncode(blogPost.Title)); int imageID = 0; try { imageID = Photo.GetPrimary(username).Id; } catch (NotFoundException) { Classes.User user = null; try { user = Classes.User.Load(username); imageID = ImageHandler.GetPhotoIdByGender(user.Gender); } catch (NotFoundException) { continue; } } string thumbnailUrl = ImageHandler.CreateImageUrl(imageID, 50, 50, false, true, true); Classes.User.SendOnlineEventNotification(username, friendUsername, text, thumbnailUrl, UrlRewrite.CreateShowUserBlogUrl( username, blogPost.Id)); } } #endregion PopulateDataGrid(); } } else if (e.CommandName == "Reject") { string[] parameters = ((string)e.CommandArgument).Split(':'); if (parameters.Length == 2) { BlogPost.Delete(Convert.ToInt32(parameters[1])); PopulateDataGrid(); } } }
protected void btnSaveAndApprove_Click(object sender, EventArgs e) { if (!HasWriteAccess) return; BlogPost blogPost = null; try { blogPost = BlogPost.Load(id); } catch (NotFoundException) { return; } if (txtTitle.Text.Trim().Length == 0 || txtContent.Text.Trim().Length == 0) btnReject_Click(null, null); else { blogPost.Title = txtTitle.Text.Trim(); blogPost.Content = txtContent.Text.Trim(); } blogPost.Approved = true; blogPost.Save(); #region Add NewFriendBlogPost Event Event newEvent = new Event(username); newEvent.Type = Event.eType.NewFriendBlogPost; NewFriendBlogPost newFriendBlogPost = new NewFriendBlogPost(); newFriendBlogPost.BlogPostID = blogPost.Id; newEvent.DetailsXML = Misc.ToXml(newFriendBlogPost); newEvent.Save(); string[] usernames = Classes.User.FetchMutuallyFriends(username); foreach (string friendUsername in usernames) { if (Config.Users.NewEventNotification) { string text = String.Format("Your friend {0} has a new blog post: {1}".TranslateA(), "<b>" + username + "</b>", Server.HtmlEncode(blogPost.Title)); int imageID = 0; try { imageID = Photo.GetPrimary(username).Id; } catch (NotFoundException) { Classes.User user = null; try { user = Classes.User.Load(username); imageID = ImageHandler.GetPhotoIdByGender(user.Gender); } catch (NotFoundException) { continue; } } string thumbnailUrl = ImageHandler.CreateImageUrl(imageID, 50, 50, false, true, true); Classes.User.SendOnlineEventNotification(username, friendUsername, text, thumbnailUrl, UrlRewrite.CreateShowUserBlogUrl( username, blogPost.Id)); } } #endregion Response.Redirect("ApproveBlogPosts.aspx"); }