From a00a2d0ec209ac7322fc6194efe66b4e2d217264 Mon Sep 17 00:00:00 2001 From: John Henley Date: Wed, 17 Apr 2024 21:01:20 +0000 Subject: [PATCH 1/2] ENH: changes to subscription options --- .../App_LocalResources/SharedResources.resx | 6 ++++++ .../CustomControls/UserControls/ForumView.cs | 4 ++-- .../CustomControls/UserControls/SubmitForm.cs | 6 +++--- .../CustomControls/UserControls/TopicView.cs | 2 +- .../CustomControls/UserControls/TopicsView.cs | 2 +- Dnn.CommunityForums/controls/af_quickreply.ascx.cs | 5 +++-- Dnn.CommunityForums/controls/af_subscribe.ascx.cs | 8 ++++---- Dnn.CommunityForums/scripts/afcommon.js | 4 ++-- Dnn.CommunityForums/scripts/resx.js | 4 +++- 9 files changed, 25 insertions(+), 16 deletions(-) diff --git a/Dnn.CommunityForums/App_LocalResources/SharedResources.resx b/Dnn.CommunityForums/App_LocalResources/SharedResources.resx index 95b6a832..30337aed 100644 --- a/Dnn.CommunityForums/App_LocalResources/SharedResources.resx +++ b/Dnn.CommunityForums/App_LocalResources/SharedResources.resx @@ -1729,4 +1729,10 @@ From, Threads you are tracking: + + Subscribe to this forum + + + Subscribe to this discussion thread + \ No newline at end of file diff --git a/Dnn.CommunityForums/CustomControls/UserControls/ForumView.cs b/Dnn.CommunityForums/CustomControls/UserControls/ForumView.cs index ac8ae989..c98928d2 100644 --- a/Dnn.CommunityForums/CustomControls/UserControls/ForumView.cs +++ b/Dnn.CommunityForums/CustomControls/UserControls/ForumView.cs @@ -425,7 +425,7 @@ private string ParseForumRow(string Template, DotNetNuke.Modules.ActiveForums.En if (canSubscribe) { bool IsSubscribed = new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumId); - string sAlt = "[RESX:ForumSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"; + string sAlt = "[RESX:ForumSubscribe]"; string sImg = ThemePath + "images/email_unchecked.png"; if (IsSubscribed) { @@ -436,7 +436,7 @@ private string ParseForumRow(string Template, DotNetNuke.Modules.ActiveForums.En subControl.DisplayMode = 1; subControl.UserId = CurrentUserId; subControl.ImageURL = sImg; - subControl.Text = "[RESX:ForumSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"; + subControl.Text = "[RESX:ForumSubscribe]"; Template = Template.Replace("[AF:CONTROL:TOGGLESUBSCRIBE]", subControl.Render()); } diff --git a/Dnn.CommunityForums/CustomControls/UserControls/SubmitForm.cs b/Dnn.CommunityForums/CustomControls/UserControls/SubmitForm.cs index c8082bbb..76c922c2 100644 --- a/Dnn.CommunityForums/CustomControls/UserControls/SubmitForm.cs +++ b/Dnn.CommunityForums/CustomControls/UserControls/SubmitForm.cs @@ -710,18 +710,18 @@ private string GetOptions() bHasOptions = true; } - if (canSubscribe) + if (canSubscribe && !UserPrefTopicSubscribe) /* if user has preference set for auto subscribe, no need to show them the subscribe option */ { if (TopicId > 0) { var subControl = new ToggleSubscribe(ForumModuleId, ForumInfo.ForumID, TopicId, 1); subControl.Checked = (new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumInfo.ForumID, TopicId)); - subControl.Text = "[RESX:TopicSubscribe:" + (new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumInfo.ForumID, TopicId)).ToString().ToUpper() + "]"; + subControl.Text = "[RESX:TopicSubscribe]"; sb.Append("" + subControl.Render() + ""); } else { - sb.Append(""); + sb.Append(""); } bHasOptions = true; } diff --git a/Dnn.CommunityForums/CustomControls/UserControls/TopicView.cs b/Dnn.CommunityForums/CustomControls/UserControls/TopicView.cs index 4d9d4e35..64398142 100644 --- a/Dnn.CommunityForums/CustomControls/UserControls/TopicView.cs +++ b/Dnn.CommunityForums/CustomControls/UserControls/TopicView.cs @@ -888,7 +888,7 @@ private string ParseControls(string sOutput) { var subControl = new ToggleSubscribe(ForumModuleId, ForumId, TopicId, 1); subControl.Checked = _isSubscribedTopic; - subControl.Text = "[RESX:TopicSubscribe:" + _isSubscribedTopic.ToString().ToUpper() + "]"; + subControl.Text = "[RESX:TopicSubscribe]"; sbOutput.Replace("[TOPICSUBSCRIBE]", subControl.Render()); } else diff --git a/Dnn.CommunityForums/CustomControls/UserControls/TopicsView.cs b/Dnn.CommunityForums/CustomControls/UserControls/TopicsView.cs index 28394378..e6b82f21 100644 --- a/Dnn.CommunityForums/CustomControls/UserControls/TopicsView.cs +++ b/Dnn.CommunityForums/CustomControls/UserControls/TopicsView.cs @@ -523,7 +523,7 @@ private string ParseControls(string Template) { Controls.ToggleSubscribe subControl = new Controls.ToggleSubscribe(ForumModuleId, ForumId, -1, 0); subControl.Checked = IsSubscribedForum; - subControl.Text = "[RESX:ForumSubscribe:" + IsSubscribedForum.ToString().ToUpper() + "]"; + subControl.Text = "[RESX:ForumSubscribe]"; sOutput = sOutput.Replace("[FORUMSUBSCRIBE]", subControl.Render()); } else diff --git a/Dnn.CommunityForums/controls/af_quickreply.ascx.cs b/Dnn.CommunityForums/controls/af_quickreply.ascx.cs index 7489cf86..8ccbf047 100644 --- a/Dnn.CommunityForums/controls/af_quickreply.ascx.cs +++ b/Dnn.CommunityForums/controls/af_quickreply.ascx.cs @@ -93,11 +93,12 @@ protected override void OnLoad(EventArgs e) } btnToolBar.Visible = UseFilter; divSubscribe.Visible = AllowSubscribe; - if (AllowSubscribe) + divSubscribe.Visible = !UserPrefTopicSubscribe; /* if user has preference set for auto subscribe, no need to show them the subscribe option */ + if (divSubscribe.Visible) { var subControl = new ToggleSubscribe(ForumModuleId, ForumId, TopicId, 1); subControl.Checked = new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumId, TopicId); - subControl.Text = "[RESX:TopicSubscribe:" + (new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumId, TopicId)).ToString().ToUpper() + "]"; + subControl.Text = "[RESX:TopicSubscribe]"; divSubscribe.InnerHtml = subControl.Render(); } if (Utilities.InputIsValid(Request.Form["txtBody"]) && Request.IsAuthenticated & ((!(string.IsNullOrEmpty(Request.Form["hidReply1"])) && string.IsNullOrEmpty(Request.Form["hidReply2"])) | Request.Browser.IsMobileDevice)) diff --git a/Dnn.CommunityForums/controls/af_subscribe.ascx.cs b/Dnn.CommunityForums/controls/af_subscribe.ascx.cs index 9538754a..7639ad47 100644 --- a/Dnn.CommunityForums/controls/af_subscribe.ascx.cs +++ b/Dnn.CommunityForums/controls/af_subscribe.ascx.cs @@ -49,11 +49,11 @@ protected override void OnLoad(EventArgs e) string SubscribeText = null; if (mode == 0) { - SubscribeText = GetSharedResource("[RESX:ForumSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"); + SubscribeText = GetSharedResource("[RESX:ForumSubscribe]"); } else { - SubscribeText = GetSharedResource("[RESX:TopicSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"); + SubscribeText = GetSharedResource("[RESX:TopicSubscribe]"); } chkSubscribe.Text = SubscribeText; chkSubscribe.Checked = IsSubscribed; @@ -100,11 +100,11 @@ private void ToggleSubscribe() chkSubscribe.Checked = IsSubscribed; if (mode == 0) { - chkSubscribe.Text = GetSharedResource("[RESX:ForumSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"); + chkSubscribe.Text = GetSharedResource("[RESX:ForumSubscribe]"); } else { - chkSubscribe.Text = GetSharedResource("[RESX:TopicSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"); + chkSubscribe.Text = GetSharedResource("[RESX:TopicSubscribe]"); } diff --git a/Dnn.CommunityForums/scripts/afcommon.js b/Dnn.CommunityForums/scripts/afcommon.js index 7c112461..fcd13fe0 100644 --- a/Dnn.CommunityForums/scripts/afcommon.js +++ b/Dnn.CommunityForums/scripts/afcommon.js @@ -98,7 +98,7 @@ function amaf_topicSubscribe(mid, fid, tid) { amaf_UpdateTopicSubscriberCount(mid, fid, tid); $('input[type=checkbox].amaf-chk-subs') .prop('checked', data) - .siblings('label[for=amaf-chk-subs]').html(data ? amaf.resx.TopicSubscribeTrue : amaf.resx.TopicSubscribeFalse); + .siblings('label[for=amaf-chk-subs]').html(amaf.resx.TopicSubscribe); }).fail(function (xhr, status) { alert('error subscribing to topic'); }); @@ -135,7 +135,7 @@ function amaf_forumSubscribe(mid, fid) { amaf_UpdateForumSubscriberCount(mid, fid); $('input[type=checkbox].amaf-chk-subs') .prop('checked', data) - .siblings('label[for=amaf-chk-subs]').html(data ? amaf.resx.ForumSubscribeTrue : amaf.resx.ForumSubscribeFalse); + .siblings('label[for=amaf-chk-subs]').html(amaf.resx.ForumSubscribe); $('img#amaf-sub-' + fid).each(function () { var imgSrc = $(this).attr('src'); if (data) { diff --git a/Dnn.CommunityForums/scripts/resx.js b/Dnn.CommunityForums/scripts/resx.js index fb7158b0..8b221e50 100644 --- a/Dnn.CommunityForums/scripts/resx.js +++ b/Dnn.CommunityForums/scripts/resx.js @@ -16,8 +16,10 @@ amaf.resx = { UnLockConfirm: '[RESX:Confirm:UnLock]', TopicSubscribeTrue: '[RESX:TopicSubscribe:TRUE]', TopicSubscribeFalse: '[RESX:TopicSubscribe:FALSE]', + TopicSubscribe: '[RESX:TopicSubscribe]', ForumSubscribeTrue: '[RESX:ForumSubscribe:TRUE]', - ForumSubscribeFalse: '[RESX:ForumSubscribe:FALSE]' + ForumSubscribeFalse: '[RESX:ForumSubscribe:FALSE]', + ForumSubscribe: '[RESX:ForumSubscribe]' }; From 284c0e6490dcf9c5a5a9191088e909bd360694f4 Mon Sep 17 00:00:00 2001 From: John Henley Date: Wed, 17 Apr 2024 21:01:20 +0000 Subject: [PATCH 2/2] ENH: changes to subscription options --- .../App_LocalResources/SharedResources.resx | 12 ---------- .../CustomControls/UserControls/ForumView.cs | 4 ++-- .../CustomControls/UserControls/SubmitForm.cs | 6 ++--- .../CustomControls/UserControls/TopicView.cs | 2 +- .../CustomControls/UserControls/TopicsView.cs | 2 +- .../controls/af_quickreply.ascx.cs | 5 +++-- .../controls/af_subscribe.ascx.cs | 22 +++---------------- Dnn.CommunityForums/scripts/afcommon.js | 6 ++--- Dnn.CommunityForums/scripts/resx.js | 6 +---- 9 files changed, 16 insertions(+), 49 deletions(-) diff --git a/Dnn.CommunityForums/App_LocalResources/SharedResources.resx b/Dnn.CommunityForums/App_LocalResources/SharedResources.resx index 95b6a832..7d7b2fa3 100644 --- a/Dnn.CommunityForums/App_LocalResources/SharedResources.resx +++ b/Dnn.CommunityForums/App_LocalResources/SharedResources.resx @@ -657,18 +657,6 @@ Preview - - Subscribe to this forum - - - Unsubscribe from forum - - - Subscribe to this topic - - - Unsubscribe from topic - Avatar diff --git a/Dnn.CommunityForums/CustomControls/UserControls/ForumView.cs b/Dnn.CommunityForums/CustomControls/UserControls/ForumView.cs index ac8ae989..d59aec32 100644 --- a/Dnn.CommunityForums/CustomControls/UserControls/ForumView.cs +++ b/Dnn.CommunityForums/CustomControls/UserControls/ForumView.cs @@ -425,7 +425,7 @@ private string ParseForumRow(string Template, DotNetNuke.Modules.ActiveForums.En if (canSubscribe) { bool IsSubscribed = new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumId); - string sAlt = "[RESX:ForumSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"; + string sAlt = "[RESX:Subscribe]"; string sImg = ThemePath + "images/email_unchecked.png"; if (IsSubscribed) { @@ -436,7 +436,7 @@ private string ParseForumRow(string Template, DotNetNuke.Modules.ActiveForums.En subControl.DisplayMode = 1; subControl.UserId = CurrentUserId; subControl.ImageURL = sImg; - subControl.Text = "[RESX:ForumSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"; + subControl.Text = "[RESX:Subscribe]"; Template = Template.Replace("[AF:CONTROL:TOGGLESUBSCRIBE]", subControl.Render()); } diff --git a/Dnn.CommunityForums/CustomControls/UserControls/SubmitForm.cs b/Dnn.CommunityForums/CustomControls/UserControls/SubmitForm.cs index c8082bbb..d81f29b3 100644 --- a/Dnn.CommunityForums/CustomControls/UserControls/SubmitForm.cs +++ b/Dnn.CommunityForums/CustomControls/UserControls/SubmitForm.cs @@ -710,18 +710,18 @@ private string GetOptions() bHasOptions = true; } - if (canSubscribe) + if (canSubscribe && !UserPrefTopicSubscribe) /* if user has preference set for auto subscribe, no need to show them the subscribe option */ { if (TopicId > 0) { var subControl = new ToggleSubscribe(ForumModuleId, ForumInfo.ForumID, TopicId, 1); subControl.Checked = (new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumInfo.ForumID, TopicId)); - subControl.Text = "[RESX:TopicSubscribe:" + (new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumInfo.ForumID, TopicId)).ToString().ToUpper() + "]"; + subControl.Text = "[RESX:Subscribe]"; sb.Append("" + subControl.Render() + ""); } else { - sb.Append(""); + sb.Append(""); } bHasOptions = true; } diff --git a/Dnn.CommunityForums/CustomControls/UserControls/TopicView.cs b/Dnn.CommunityForums/CustomControls/UserControls/TopicView.cs index 4d9d4e35..5acb7d90 100644 --- a/Dnn.CommunityForums/CustomControls/UserControls/TopicView.cs +++ b/Dnn.CommunityForums/CustomControls/UserControls/TopicView.cs @@ -888,7 +888,7 @@ private string ParseControls(string sOutput) { var subControl = new ToggleSubscribe(ForumModuleId, ForumId, TopicId, 1); subControl.Checked = _isSubscribedTopic; - subControl.Text = "[RESX:TopicSubscribe:" + _isSubscribedTopic.ToString().ToUpper() + "]"; + subControl.Text = "[RESX:Subscribe]"; sbOutput.Replace("[TOPICSUBSCRIBE]", subControl.Render()); } else diff --git a/Dnn.CommunityForums/CustomControls/UserControls/TopicsView.cs b/Dnn.CommunityForums/CustomControls/UserControls/TopicsView.cs index 28394378..04e19cbd 100644 --- a/Dnn.CommunityForums/CustomControls/UserControls/TopicsView.cs +++ b/Dnn.CommunityForums/CustomControls/UserControls/TopicsView.cs @@ -523,7 +523,7 @@ private string ParseControls(string Template) { Controls.ToggleSubscribe subControl = new Controls.ToggleSubscribe(ForumModuleId, ForumId, -1, 0); subControl.Checked = IsSubscribedForum; - subControl.Text = "[RESX:ForumSubscribe:" + IsSubscribedForum.ToString().ToUpper() + "]"; + subControl.Text = "[RESX:Subscribe]"; sOutput = sOutput.Replace("[FORUMSUBSCRIBE]", subControl.Render()); } else diff --git a/Dnn.CommunityForums/controls/af_quickreply.ascx.cs b/Dnn.CommunityForums/controls/af_quickreply.ascx.cs index 7489cf86..370637f7 100644 --- a/Dnn.CommunityForums/controls/af_quickreply.ascx.cs +++ b/Dnn.CommunityForums/controls/af_quickreply.ascx.cs @@ -93,11 +93,12 @@ protected override void OnLoad(EventArgs e) } btnToolBar.Visible = UseFilter; divSubscribe.Visible = AllowSubscribe; - if (AllowSubscribe) + divSubscribe.Visible = !UserPrefTopicSubscribe; /* if user has preference set for auto subscribe, no need to show them the subscribe option */ + if (divSubscribe.Visible) { var subControl = new ToggleSubscribe(ForumModuleId, ForumId, TopicId, 1); subControl.Checked = new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumId, TopicId); - subControl.Text = "[RESX:TopicSubscribe:" + (new DotNetNuke.Modules.ActiveForums.Controllers.SubscriptionController().Subscribed(PortalId, ForumModuleId, UserId, ForumId, TopicId)).ToString().ToUpper() + "]"; + subControl.Text = "[RESX:Subscribe]"; divSubscribe.InnerHtml = subControl.Render(); } if (Utilities.InputIsValid(Request.Form["txtBody"]) && Request.IsAuthenticated & ((!(string.IsNullOrEmpty(Request.Form["hidReply1"])) && string.IsNullOrEmpty(Request.Form["hidReply2"])) | Request.Browser.IsMobileDevice)) diff --git a/Dnn.CommunityForums/controls/af_subscribe.ascx.cs b/Dnn.CommunityForums/controls/af_subscribe.ascx.cs index 9538754a..2cbaca5d 100644 --- a/Dnn.CommunityForums/controls/af_subscribe.ascx.cs +++ b/Dnn.CommunityForums/controls/af_subscribe.ascx.cs @@ -46,15 +46,7 @@ protected override void OnLoad(EventArgs e) { base.OnLoad(e); - string SubscribeText = null; - if (mode == 0) - { - SubscribeText = GetSharedResource("[RESX:ForumSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"); - } - else - { - SubscribeText = GetSharedResource("[RESX:TopicSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"); - } + string SubscribeText = GetSharedResource("[RESX:Subscribe]"); chkSubscribe.Text = SubscribeText; chkSubscribe.Checked = IsSubscribed; if (UseAjax) @@ -98,16 +90,8 @@ private void ToggleSubscribe() IsSubscribed = false; } chkSubscribe.Checked = IsSubscribed; - if (mode == 0) - { - chkSubscribe.Text = GetSharedResource("[RESX:ForumSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"); - } - else - { - chkSubscribe.Text = GetSharedResource("[RESX:TopicSubscribe:" + IsSubscribed.ToString().ToUpper() + "]"); - } - - + chkSubscribe.Text = GetSharedResource("[RESX:Subscribe]"); + } #endregion } diff --git a/Dnn.CommunityForums/scripts/afcommon.js b/Dnn.CommunityForums/scripts/afcommon.js index 7c112461..54470cf6 100644 --- a/Dnn.CommunityForums/scripts/afcommon.js +++ b/Dnn.CommunityForums/scripts/afcommon.js @@ -97,8 +97,7 @@ function amaf_topicSubscribe(mid, fid, tid) { }).done(function (data) { amaf_UpdateTopicSubscriberCount(mid, fid, tid); $('input[type=checkbox].amaf-chk-subs') - .prop('checked', data) - .siblings('label[for=amaf-chk-subs]').html(data ? amaf.resx.TopicSubscribeTrue : amaf.resx.TopicSubscribeFalse); + .prop('checked', data); }).fail(function (xhr, status) { alert('error subscribing to topic'); }); @@ -134,8 +133,7 @@ function amaf_forumSubscribe(mid, fid) { }).done(function (data) { amaf_UpdateForumSubscriberCount(mid, fid); $('input[type=checkbox].amaf-chk-subs') - .prop('checked', data) - .siblings('label[for=amaf-chk-subs]').html(data ? amaf.resx.ForumSubscribeTrue : amaf.resx.ForumSubscribeFalse); + .prop('checked', data); $('img#amaf-sub-' + fid).each(function () { var imgSrc = $(this).attr('src'); if (data) { diff --git a/Dnn.CommunityForums/scripts/resx.js b/Dnn.CommunityForums/scripts/resx.js index fb7158b0..27dbf5ad 100644 --- a/Dnn.CommunityForums/scripts/resx.js +++ b/Dnn.CommunityForums/scripts/resx.js @@ -13,11 +13,7 @@ amaf.resx = { PinConfirm: '[RESX:Confirm:Pin]', UnPinConfim: '[RESX:Confirm:UnPin]', LockConfirm: '[RESX:Confirm:Lock]', - UnLockConfirm: '[RESX:Confirm:UnLock]', - TopicSubscribeTrue: '[RESX:TopicSubscribe:TRUE]', - TopicSubscribeFalse: '[RESX:TopicSubscribe:FALSE]', - ForumSubscribeTrue: '[RESX:ForumSubscribe:TRUE]', - ForumSubscribeFalse: '[RESX:ForumSubscribe:FALSE]' + UnLockConfirm: '[RESX:Confirm:UnLock]' };