diff --git a/.codecov.yml b/.codecov.yml new file mode 100644 index 0000000..69cb760 --- /dev/null +++ b/.codecov.yml @@ -0,0 +1 @@ +comment: false diff --git a/docs/en/configuring-notifications.md b/docs/en/configuring-notifications.md new file mode 100644 index 0000000..6558838 --- /dev/null +++ b/docs/en/configuring-notifications.md @@ -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 +``` + diff --git a/src/Model/BlogMemberExtension.php b/src/Model/BlogMemberExtension.php index 3f7d43b..f96f5ad 100644 --- a/src/Model/BlogMemberExtension.php +++ b/src/Model/BlogMemberExtension.php @@ -109,11 +109,11 @@ class BlogMemberExtension extends DataExtension Requirements::css(BLOGGER_DIR . '/css/cms.css'); Requirements::javascript(BLOGGER_DIR . '/js/cms.js'); - $tab = Tab::create('BlogPosts', 'Blog Posts'); + $tab = Tab::create('BlogPosts', _t('BlogMemberExtension.TABBLOGPOSTS', 'Blog Posts')); $gridField = GridField::create( 'BlogPosts', - 'Blog Posts', + _t('BlogMemberExtension.BLOGPOSTS', 'Blog Posts'), $this->owner->BlogPosts(), GridFieldConfig_BlogPost::create() ); diff --git a/src/Model/BlogPostFilter.php b/src/Model/BlogPostFilter.php index 7d8d723..7b2dff3 100644 --- a/src/Model/BlogPostFilter.php +++ b/src/Model/BlogPostFilter.php @@ -31,7 +31,7 @@ class BlogPostFilter extends DataExtension { $stage = Versioned::get_stage(); - if (Controller::curr() instanceof LeftAndMain) { + if (Controller::has_curr() && Controller::curr() instanceof LeftAndMain) { return; } diff --git a/src/Model/BlogPostNotifications.php b/src/Model/BlogPostNotifications.php index 733c338..1b6b6fb 100644 --- a/src/Model/BlogPostNotifications.php +++ b/src/Model/BlogPostNotifications.php @@ -11,6 +11,12 @@ use SilverStripe\ORM\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. * @@ -19,7 +25,13 @@ class BlogPostNotifications extends DataExtension */ public function updateNotificationRecipients(&$list, &$comment) { + //default is notification is on regardless of spam status $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(); + } } /**