PHP code example of silverstripe / comment-notifications
1. Go to this page and download the library: Download silverstripe/comment-notifications library. Choose the download type require. 2. Extract the ZIP file and open the index.php. 3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
silverstripe / comment-notifications example snippets
use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\Comments\Model\Comment;
use SilverStripe\ORM\ArrayList;
use SilverStripe\ORM\DataExtension;
use SilverStripe\Security\Group;
class CommentNotificationExtension extends DataExtension
{
/**
* @param array $existing
* @param Comment $comment
*/
public function updateNotificationRecipients(&$existing, $comment)
{
// send notification of the comment to all administrators in the CMS
$admin = Group::get()->filter('Code', 'admin');
foreach ($admin as $group) {
foreach ($group->Members() as $member) {
$existing[] = $member->Email;
}
}
// or, notify the user who originally created the page
$page = $comment->Parent();
if ($page instanceof SiteTree) {
/** @var ArrayList $pageVersion */
$pageVersion = $page->allVersions('', '', 1); // get the original version
if ($pageVersion && $pageVersion->count()) {
$existing[] = $pageVersion->first()->Author()->Email;
}
}
}
}