mirror of
https://github.com/silverstripe/silverstripe-blog
synced 2024-10-22 11:05:58 +02:00
45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Customise blog post to support comment notifications.
|
|
*
|
|
* Extends {@see BlogPost} with extensions to {@see CommentNotifiable}.
|
|
*/
|
|
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.
|
|
*
|
|
* @param SS_List $list
|
|
* @param mixed $comment
|
|
*/
|
|
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();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Update comment to include the page title.
|
|
*
|
|
* @param string $subject
|
|
* @param Comment $comment
|
|
* @param Member|string $recipient
|
|
*/
|
|
public function updateNotificationSubject(&$subject, &$comment, &$recipient)
|
|
{
|
|
$subject = sprintf('A new comment has been posted on %s', $this->owner->Title);
|
|
}
|
|
}
|