Skip to content
This repository was archived by the owner on Oct 13, 2021. It is now read-only.

Commit c35d24c

Browse files
committed
Fix #9
Added Global Toggle for Notification Emails.
1 parent 4aa8e56 commit c35d24c

14 files changed

+99
-26
lines changed

Repository/UserBadge.php

+7-5
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,13 @@ public function awardWithBadge(User $user, int $badgeId, string $reason = '')
3636
'reason' => $reason,
3737
'badge' => $this->finder(C::__('Badge'))->whereId($badgeId)->fetchOne()
3838
];
39-
//TODO: Fix #8, Add #9
40-
$this->app()->mailer()->newMail()
41-
->setToUser($user)
42-
->setTemplate(C::_('badge_award'), $params)
43-
->queue();
39+
//TODO: Fix #8
40+
if(\XF::option('vBbadgesGlbEmailTgl') == 0){
41+
$this->app()->mailer()->newMail()
42+
->setToUser($user)
43+
->setTemplate(C::_('badge_award'), $params)
44+
->queue();
45+
}
4446

4547
$user->fastUpdate('cmtv_badges_badge_count', $user->cmtv_badges_badge_count + 1);
4648

_data/option_groups.xml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<option_groups/>
2+
<option_groups>
3+
<group group_id="vBbadges" icon="fas fa-award" display_order="42" debug_only="0"/>
4+
</option_groups>

_data/options.xml

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<options/>
2+
<options>
3+
<option option_id="vBbadgesGlbEmailTgl" edit_format="onoff" data_type="boolean">
4+
<default_value>0</default_value>
5+
<relation group_id="emailOptions" display_order="800"/>
6+
<relation group_id="vBbadges" display_order="1"/>
7+
</option>
8+
</options>

_data/phrases.xml

+5
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,15 @@
5959
<phrase title="CMTV_Badges_you_have_been_awarded_a_badge_x" version_id="1000070" version_string="1.0.0"><![CDATA[You have been awarded a badge: {badge}]]></phrase>
6060
<phrase title="admin_navigation.CMTV_Badges" version_id="1000070" version_string="1.0.0"><![CDATA[Badges]]></phrase>
6161
<phrase title="admin_permission.CMTV_Badges" version_id="1000070" version_string="1.0.0"><![CDATA[Manage badges]]></phrase>
62+
<phrase title="alert_opt_out.badge_award" version_id="1000770" version_string="1.0.7"><![CDATA[Awards you a new badge]]></phrase>
6263
<phrase title="cron_entry.CMTV_Badges" version_id="1000070" version_string="1.0.0"><![CDATA[Update user badges]]></phrase>
6364
<phrase title="help_page_desc.badges" version_id="1000070" version_string="1.0.0"><![CDATA[Badges are special awards for unique and valuable actions. This page shows a list of all badges.]]></phrase>
6465
<phrase title="help_page_title.badges" version_id="1000070" version_string="1.0.0"><![CDATA[Badges]]></phrase>
6566
<phrase title="member_stat.CMTV_Badges_most_badges" version_id="1000070" version_string="1.0.0"><![CDATA[Most badges]]></phrase>
67+
<phrase title="option.vBbadgesGlbEmailTgl" version_id="1000770" version_string="1.0.7"><![CDATA[Globally Disable Email Notifications]]></phrase>
68+
<phrase title="option_explain.vBbadgesGlbEmailTgl" version_id="1000770" version_string="1.0.7"><![CDATA[Enable this to globally disable email notifications for badges.]]></phrase>
69+
<phrase title="option_group.vBbadges" version_id="1000770" version_string="1.0.7"><![CDATA[[VersoBit] Badges]]></phrase>
70+
<phrase title="option_group_description.vBbadges" version_id="1000770" version_string="1.0.7"><![CDATA[Manage global settings for Badges]]></phrase>
6671
<phrase title="permission.CMTV_Badges_award" version_id="1000070" version_string="1.0.0"><![CDATA[Award user with badge]]></phrase>
6772
<phrase title="permission.CMTV_Badges_featuredNumber" version_id="1000070" version_string="1.0.0"><![CDATA[Max number of featured badges]]></phrase>
6873
<phrase title="permission.CMTV_Badges_manageFeatured" version_id="1000070" version_string="1.0.0"><![CDATA[Manage featured badges]]></phrase>

_data/templates.xml

+21-19
Original file line numberDiff line numberDiff line change
@@ -748,25 +748,27 @@
748748
}
749749
}
750750
}]]></template>
751-
<template type="public" title="CMTV_Badges_featured_badges_macros" version_id="1000070" version_string="1.0.0"><![CDATA[<xf:macro name="featured_badges" arg-location="!" arg-user="!">
752-
<xf:if contentcheck="true">
753-
<div class="featuredBadges featuredBadges--{$location}">
754-
<xf:contentcheck>
755-
<xf:foreach loop="$user.getFeaturedBadges()" value="$userBadge">
756-
<xf:set var="$badge" value="{$userBadge.Badge}" />
757-
758-
<a href="{{ link('members', $user) }}#badges"
759-
class="featuredBadge"
760-
title="{$badge.title}" data-xf-init="tooltip">
761-
762-
<xf:macro name="badge_icon" template="CMTV_Badges_badge_macros"
763-
arg-badge="{$badge}" arg-context="featured-{$location}" />
764-
</a>
765-
766-
</xf:foreach>
767-
</xf:contentcheck>
768-
</div>
769-
</xf:if>
751+
<template type="public" title="CMTV_Badges_featured_badges_macros" version_id="1000770" version_string="1.0.7"><![CDATA[<xf:macro name="featured_badges" arg-location="!" arg-user="!">
752+
<xf:if contentcheck="true">
753+
<div class="featuredBadges featuredBadges--{$location}">
754+
<xf:contentcheck>
755+
<xf:if is="$user is not empty">
756+
<xf:foreach loop="$user.getFeaturedBadges()" value="$userBadge">
757+
<xf:set var="$badge" value="{$userBadge.Badge}" />
758+
759+
<a href="{{ link('members', $user) }}#badges"
760+
class="featuredBadge"
761+
title="{$badge.title}" data-xf-init="tooltip">
762+
763+
<xf:macro name="badge_icon" template="CMTV_Badges_badge_macros"
764+
arg-badge="{$badge}" arg-context="featured-{$location}" />
765+
</a>
766+
767+
</xf:foreach>
768+
</xf:if>
769+
</xf:contentcheck>
770+
</div>
771+
</xf:if>
770772
</xf:macro>]]></template>
771773
<template type="public" title="CMTV_Badges_member_badges" version_id="1000370" version_string="1.0.3"><![CDATA[<xf:title>{{ phrase('CMTV_Badges_badges_awarded_to_x', {'name': $user.username}) }}</xf:title>
772774

_output/option_groups/_metadata.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"vBbadges.json": {
3+
"hash": "9a1c047f98ba4eedd271f23803c9debe"
4+
}
5+
}

_output/option_groups/vBbadges.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"icon": "fas fa-award",
3+
"display_order": 42,
4+
"debug_only": false
5+
}

_output/options/_metadata.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"vBbadgesGlbEmailTgl.json": {
3+
"hash": "e247488a5ef2a46a11cd7dab1e83b28d"
4+
}
5+
}
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"edit_format": "onoff",
3+
"edit_format_params": "",
4+
"data_type": "boolean",
5+
"sub_options": [],
6+
"validation_class": "",
7+
"validation_method": "",
8+
"default_value": "0",
9+
"relations": {
10+
"emailOptions": 800,
11+
"vBbadges": 1
12+
}
13+
}

_output/phrases/_metadata.json

+24
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,30 @@
347347
"version_string": "1.0.0",
348348
"hash": "2b42f4c38c1a9c50fd22567b212b5b6e"
349349
},
350+
"option.vBbadgesGlbEmailTgl.txt": {
351+
"global_cache": false,
352+
"version_id": 1000770,
353+
"version_string": "1.0.7",
354+
"hash": "c54b9291595d216a7b41ae07ca60cbd2"
355+
},
356+
"option_explain.vBbadgesGlbEmailTgl.txt": {
357+
"global_cache": false,
358+
"version_id": 1000770,
359+
"version_string": "1.0.7",
360+
"hash": "34298c00cdf19dd066d0186caec2b2ff"
361+
},
362+
"option_group.vBbadges.txt": {
363+
"global_cache": false,
364+
"version_id": 1000770,
365+
"version_string": "1.0.7",
366+
"hash": "490bacc42a6777dbf955ff2b362d331f"
367+
},
368+
"option_group_description.vBbadges.txt": {
369+
"global_cache": false,
370+
"version_id": 1000770,
371+
"version_string": "1.0.7",
372+
"hash": "99b0e0a0a9ba007a4799a500d853725c"
373+
},
350374
"permission.CMTV_Badges_award.txt": {
351375
"global_cache": false,
352376
"version_id": 1000070,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Globally Disable Email Notifications
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Enable this to globally disable email notifications for badges.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[VersoBit] Badges
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Manage global settings for Badges

0 commit comments

Comments
 (0)