FEATURE config to disable sending spam notifications

This commit is contained in:
Cam Findlay 2017-07-03 13:56:26 +12:00 committed by Daniel Hensby
parent a5dee40fcb
commit d5340a87dc
No known key found for this signature in database
GPG Key ID: B00D1E9767F0B06E
2 changed files with 27 additions and 0 deletions

View File

@ -7,6 +7,12 @@
*/ */
class BlogPostNotifications extends DataExtension class BlogPostNotifications extends DataExtension
{ {
/**
* Configure whether to send notifications even for spam comments
* @config
*/
private static $notification_on_spam = true;
/** /**
* Notify all authors of notifications. * Notify all authors of notifications.
* *
@ -15,7 +21,13 @@ class BlogPostNotifications extends DataExtension
*/ */
public function updateNotificationRecipients(&$list, &$comment) public function updateNotificationRecipients(&$list, &$comment)
{ {
//default is notification is on regardless of spam status
$list = $this->owner->Authors(); $list = $this->owner->Authors();
// If comment is spam and notification are set to not send on spam clear the recipient list
if (Config::inst()->get(__CLASS__, 'notification_on_spam') == false && $comment->IsSpam) {
$list = array();
}
} }
/** /**

View File

@ -0,0 +1,15 @@
# Configuring notifications
## Configuring whether notifications will send to authors of blogs if comments are spam
Default behaviour using the `silverstripe/comment-notifications` module is to send notification to authors of comments occuring regardless if they are spam or not.
In some cases you may wish to not send a notification email to an author if the comment is spam, this is a configurable option.
Add the following into your yaml config:
```
BlogPostNotifications:
notification_on_spam: false
```