PageRenderTime 71ms CodeModel.GetById 24ms RepoModel.GetById 7ms app.codeStats 0ms

/BlogEngine/BlogEngine.NET/admin/Settings/Comments.aspx.cs

#
C# | 88 lines | 65 code | 12 blank | 11 comment | 4 complexity | 43a69fa095f82bdb3dbce111dccfa072 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, BSD-3-Clause
  1. namespace admin.Comments
  2. {
  3. using System;
  4. using System.Data;
  5. using System.Web.UI.WebControls;
  6. using BlogEngine.Core;
  7. using BlogEngine.Core.Web.Extensions;
  8. using App_Code;
  9. public partial class Settings : System.Web.UI.Page
  10. {
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. WebUtils.CheckRightsForAdminSettingsPage(false);
  14. if (!IsPostBack)
  15. {
  16. BindSettings();
  17. }
  18. Page.MaintainScrollPositionOnPostBack = true;
  19. Page.Title = Resources.labels.comments;
  20. btnSave.Click += btnSave_Click;
  21. btnSave.Text = Resources.labels.saveSettings;
  22. }
  23. private void BindSettings()
  24. {
  25. //-----------------------------------------------------------------------
  26. // Bind Comments settings
  27. //-----------------------------------------------------------------------
  28. cbEnableComments.Checked = BlogSettings.Instance.IsCommentsEnabled;
  29. cbEnableCommentNesting.Checked = BlogSettings.Instance.IsCommentNestingEnabled;
  30. cbEnableCountryInComments.Checked = BlogSettings.Instance.EnableCountryInComments;
  31. cbEnableWebsiteInComments.Checked = BlogSettings.Instance.EnableWebsiteInComments;
  32. cbEnableCoComment.Checked = BlogSettings.Instance.IsCoCommentEnabled;
  33. cbShowLivePreview.Checked = BlogSettings.Instance.ShowLivePreview;
  34. cbShowPingBacks.Checked = BlogSettings.Instance.ShowPingBacks;
  35. ddlCloseComments.SelectedValue = BlogSettings.Instance.DaysCommentsAreEnabled.ToString();
  36. cbEnableCommentsModeration.Checked = BlogSettings.Instance.EnableCommentsModeration;
  37. rblAvatar.SelectedValue = BlogSettings.Instance.Avatar;
  38. ddlCommentsPerPage.SelectedValue = BlogSettings.Instance.CommentsPerPage.ToString();
  39. // disqus
  40. cbEnableDisqus.Checked = BlogSettings.Instance.ModerationType == BlogSettings.Moderation.Disqus;
  41. string discusName = "YourDisqusWebsite";
  42. if (BlogSettings.Instance.DisqusWebsiteName != null)
  43. discusName = BlogSettings.Instance.DisqusWebsiteName;
  44. txtDisqusName.Text = discusName;
  45. cbDisqusDevMode.Checked = BlogSettings.Instance.DisqusDevMode;
  46. cbDisqusAddToPages.Checked = BlogSettings.Instance.DisqusAddCommentsToPages;
  47. }
  48. protected void btnSave_Click(object sender, EventArgs e)
  49. {
  50. //-----------------------------------------------------------------------
  51. // Set Comments settings
  52. //-----------------------------------------------------------------------
  53. BlogSettings.Instance.IsCommentsEnabled = cbEnableComments.Checked;
  54. BlogSettings.Instance.IsCommentNestingEnabled = cbEnableCommentNesting.Checked;
  55. BlogSettings.Instance.EnableCountryInComments = cbEnableCountryInComments.Checked;
  56. BlogSettings.Instance.EnableWebsiteInComments = cbEnableWebsiteInComments.Checked;
  57. BlogSettings.Instance.IsCoCommentEnabled = cbEnableCoComment.Checked;
  58. BlogSettings.Instance.ShowLivePreview = cbShowLivePreview.Checked;
  59. BlogSettings.Instance.ShowPingBacks = cbShowPingBacks.Checked;
  60. BlogSettings.Instance.DaysCommentsAreEnabled = int.Parse(ddlCloseComments.SelectedValue);
  61. BlogSettings.Instance.EnableCommentsModeration = cbEnableCommentsModeration.Checked;
  62. BlogSettings.Instance.Avatar = rblAvatar.SelectedValue;
  63. BlogSettings.Instance.CommentsPerPage = int.Parse(ddlCommentsPerPage.SelectedValue);
  64. // disqus
  65. BlogSettings.Instance.ModerationType = cbEnableDisqus.Checked ? BlogSettings.Moderation.Disqus : BlogSettings.Moderation.Auto;
  66. BlogSettings.Instance.DisqusWebsiteName = txtDisqusName.Text.Length > 250 ? txtDisqusName.Text.Substring(0, 250) : txtDisqusName.Text;
  67. BlogSettings.Instance.DisqusDevMode = cbDisqusDevMode.Checked;
  68. BlogSettings.Instance.DisqusAddCommentsToPages = cbDisqusAddToPages.Checked;
  69. //-----------------------------------------------------------------------
  70. // Persist settings
  71. //-----------------------------------------------------------------------
  72. BlogSettings.Instance.Save();
  73. Response.Redirect(Request.RawUrl, true);
  74. }
  75. }
  76. }