Skip to content

Commit bbf3f9a

Browse files
authored
Merge pull request #1567 from johnhenley/issues/subscribe-button-1556
ENH: Change subscribe checkbox to button
2 parents daf1796 + 74e2ba1 commit bbf3f9a

File tree

15 files changed

+58
-14
lines changed

15 files changed

+58
-14
lines changed

Dnn.CommunityForums/App_LocalResources/SharedResources.de-DE.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1859,4 +1859,7 @@ Von
18591859
<data name="[RESX:Tags:Note].Text" xml:space="preserve">
18601860
<value>Ein Tag ist ein Schlüsselwort oder ein Begriff, der mit dem Inhalt verknüpft ist, den Sie einreichen. Wenn Sie mehrere Tags eingeben, trennen Sie diese durch ein Komma.</value>
18611861
</data>
1862+
<data name="[RESX:Unsubscribe].Text" xml:space="preserve">
1863+
<value>Abmelden</value>
1864+
</data>
18621865
</root>

Dnn.CommunityForums/App_LocalResources/SharedResources.es-ES.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1858,4 +1858,7 @@ De
18581858
<data name="[RESX:Tags:Note].Text" xml:space="preserve">
18591859
<value>Una etiqueta es una palabra clave o un término asociado con el contenido que está enviando. Al introducir varias etiquetas, sepárelas con una coma.</value>
18601860
</data>
1861+
<data name="[RESX:Unsubscribe].Text" xml:space="preserve">
1862+
<value>Anular la suscripción</value>
1863+
</data>
18611864
</root>

Dnn.CommunityForums/App_LocalResources/SharedResources.fr-FR.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1855,4 +1855,7 @@ De,
18551855
<data name="[RESX:Tags:Note].Text" xml:space="preserve">
18561856
<value>Une balise est un mot-clé ou un terme associé au contenu que vous soumettez. Lorsque vous saisissez plusieurs balises, séparez-les par une virgule.</value>
18571857
</data>
1858+
<data name="[RESX:Unsubscribe].Text" xml:space="preserve">
1859+
<value>Se désabonner</value>
1860+
</data>
18581861
</root>

Dnn.CommunityForums/App_LocalResources/SharedResources.it-IT.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1858,4 +1858,7 @@ Da
18581858
<data name="[RESX:Tags:Note].Text" xml:space="preserve">
18591859
<value>Un tag è una parola chiave o un termine associato al contenuto che stai inviando. Quando inserisci più tag, separali con una virgola.</value>
18601860
</data>
1861+
<data name="[RESX:Unsubscribe].Text" xml:space="preserve">
1862+
<value>Disiscrizione</value>
1863+
</data>
18611864
</root>

Dnn.CommunityForums/App_LocalResources/SharedResources.nl-NL.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1894,4 +1894,7 @@ Van,
18941894
<data name="[RESX:Tags:Note].Text" xml:space="preserve">
18951895
<value>Een tag is een trefwoord of term die is gekoppeld aan de inhoud die u indient. Wanneer u meerdere tags invoert, scheidt u deze met een komma.</value>
18961896
</data>
1897+
<data name="[RESX:Unsubscribe].Text" xml:space="preserve">
1898+
<value>Uitschrijven</value>
1899+
</data>
18971900
</root>

Dnn.CommunityForums/App_LocalResources/SharedResources.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1858,4 +1858,7 @@ From,
18581858
<data name="[RESX:RestoreAll].Text" xml:space="preserve">
18591859
<value>Restore All</value>
18601860
</data>
1861+
<data name="[RESX:Unsubscribe].Text" xml:space="preserve">
1862+
<value>Unsubscribe</value>
1863+
</data>
18611864
</root>

Dnn.CommunityForums/Controllers/SubscriptionController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ internal void DeleteForForum(int moduleId, int forumId)
6363
DotNetNuke.Modules.ActiveForums.DataCache.CacheClearPrefix(moduleId, string.Format(CacheKeys.ForumSubscriberPrefix, moduleId, forumId));
6464
DotNetNuke.Modules.ActiveForums.DataCache.CacheClearPrefix(moduleId, string.Format(CacheKeys.TopicSubscriberPrefix, moduleId, forumId));
6565
DotNetNuke.Modules.ActiveForums.DataCache.ContentCacheClear(moduleId, string.Format(CacheKeys.ForumSubscriberCount, moduleId, forumId));
66-
DotNetNuke.Modules.ActiveForums.DataCache.ContentCacheClear(moduleId, string.Format(CacheKeys.TopicSubscriberCountPrefix, moduleId, forumId));
66+
DotNetNuke.Modules.ActiveForums.DataCache.CacheClearPrefix(moduleId, string.Format(CacheKeys.TopicSubscriberCountPrefix, moduleId, forumId));
6767
this.Delete("WHERE ForumId = @0", forumId);
6868
}
6969

Dnn.CommunityForums/CustomControls/HTML/ToggleSubscribe.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,14 @@ public string Render()
5858
if (this.DisplayMode == 0)
5959
{
6060
sb.Append("<span class=\"afnormal\">");
61-
sb.Append("<input id=\"amaf-chk-subs\" class=\"amaf-chk-subs\" type=\"checkbox\" ");
61+
sb.Append("<input id=\"dcf-btn-subs\" type=\"button\" ");
6262
if (this.Checked)
6363
{
64-
sb.Append("checked=\"checked\" ");
64+
sb.Append("class=\"dcf-btn-subs dnnSecondaryAction\" value=\"[RESX:Unsubscribe]\" ");
65+
}
66+
else
67+
{
68+
sb.Append("class=\"dcf-btn-subs dnnPrimaryAction\" value=\"[RESX:Subscribe]\" ");
6569
}
6670

6771
if (this.ToggleMode == 0)
@@ -73,7 +77,6 @@ public string Render()
7377
sb.Append(" onclick=\"amaf_topicSubscribe(" + this.ModuleId + "," + this.ForumId + "," + this.TopicId + ");\" />");
7478
}
7579

76-
sb.Append("<label for=\"amaf-chk-subs\">" + this.Text + "</label>");
7780
sb.Append("</span>");
7881
}
7982
else

Dnn.CommunityForums/class/Subscriptions.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ namespace DotNetNuke.Modules.ActiveForums
2626
using System.Data;
2727
using System.Globalization;
2828

29+
using DotNetNuke.UI.UserControls;
30+
2931
[Obsolete("Deprecated in Community Forums. Removed in 10.00.00. Use DotNetNuke.Modules.ActiveForums.Entities.SubscriptionInfo.")]
3032
public class SubscriptionInfo : DotNetNuke.Modules.ActiveForums.Entities.SubscriptionInfo
3133
{
@@ -53,13 +55,23 @@ internal int Subscription_Update(int portalId, int moduleId, int forumId, int to
5355
if (forumUser == null || forumUser.UserId == -1)
5456
{
5557
return -1;
56-
}
57-
58+
}
5859

5960
DotNetNuke.Modules.ActiveForums.Entities.ForumInfo fi = DotNetNuke.Modules.ActiveForums.Controllers.ForumController.Forums_Get(portalId, moduleId, forumId, false, -1);
6061

6162
if (DotNetNuke.Modules.ActiveForums.Controllers.PermissionController.HasRequiredPerm(fi.Security.SubscribeRoleIds, forumUser.UserRoleIds))
6263
{
64+
if (topicId != -1)
65+
{
66+
DotNetNuke.Modules.ActiveForums.DataCache.ContentCacheClear(moduleId, string.Format(CacheKeys.TopicSubscriber, moduleId, forumId, topicId, forumUser.UserId));
67+
DotNetNuke.Modules.ActiveForums.DataCache.ContentCacheClear(moduleId, string.Format(CacheKeys.TopicSubscriberCount, moduleId, forumId, topicId));
68+
}
69+
else
70+
{
71+
DotNetNuke.Modules.ActiveForums.DataCache.ContentCacheClear(moduleId, string.Format(CacheKeys.ForumSubscriber, moduleId, forumId, forumUser.UserId));
72+
DotNetNuke.Modules.ActiveForums.DataCache.ContentCacheClear(moduleId, string.Format(CacheKeys.ForumSubscriberCount, moduleId, forumId));
73+
}
74+
6375
return Convert.ToInt32(DataProvider.Instance().Subscription_Update(portalId, moduleId, forumId, topicId, mode, forumUser.UserId));
6476
}
6577

Dnn.CommunityForums/scripts/afcommon.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,12 @@ function amaf_topicSubscribe(mid, fid, tid) {
9898
amaf_UpdateTopicSubscriberCount(mid, fid, tid);
9999
$('input[type=checkbox].amaf-chk-subs')
100100
.prop('checked', data);
101+
if (data === true) {
102+
$('input[type=button].dcf-btn-subs').prop('value', amaf.resx.Unsubscribe).toggleClass('dnnPrimaryAction').toggleClass('dnnSecondaryAction');
103+
}
104+
else {
105+
$('input[type=button].dcf-btn-subs').prop('value', amaf.resx.Subscribe).toggleClass('dnnPrimaryAction').toggleClass('dnnSecondaryAction');
106+
}
101107
}).fail(function (xhr, status) {
102108
alert('error subscribing to topic');
103109
});
@@ -134,6 +140,12 @@ function amaf_forumSubscribe(mid, fid) {
134140
amaf_UpdateForumSubscriberCount(mid, fid);
135141
$('input[type=checkbox].amaf-chk-subs')
136142
.prop('checked', data);
143+
if (data === true) {
144+
$('input[type=button].dcf-btn-subs').prop('value', amaf.resx.Unsubscribe).toggleClass('dnnPrimaryAction').toggleClass('dnnSecondaryAction');
145+
}
146+
else {
147+
$('input[type=button].dcf-btn-subs').prop('value', amaf.resx.Subscribe).toggleClass('dnnPrimaryAction').toggleClass('dnnSecondaryAction');
148+
}
137149
$('img#amaf-sub-' + fid).each(function () {
138150
var imgSrc = $(this).attr('src');
139151
if (data) {

0 commit comments

Comments
 (0)