class CommentNotifier extends Extension (View source)

Extension applied to CommentingController to invoke notifications

Relies on the parent object to {\Comment} having the {\CommentNotifiable} extension applied

Properties

protected SS_Object $owner

The object this extension is applied to.

from  Extension
protected DataObject $ownerBaseClass

The base class that this extension was applied to; $this->owner must be one of these

from  Extension
public $class from  Extension

Methods

public
__construct()

No description

public static 
add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

public
setOwner(SS_Object $owner, string $ownerBaseClass = null)

Set the owner of this extension.

public
clearOwner()

No description

public
getOwner()

Returns the owner of this extension.

public static 
string
get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string thats passed to DataObject::$extensions or Object::add_extension().

public
onAfterPostComment(Comment $comment)

Notify Members of the post there is a new comment.

public
bool
isValidEmail(string $email)

Validates for RFC 2822 compliant email adresses.

public
notifyCommentRecipient(Comment $comment, DataObject $parent, Member|string $recipient)

Send comment notification to a given recipient

Details

__construct()

No description

static add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

Parameters

string $class
string $extensionClass
mixed $args

setOwner(SS_Object $owner, string $ownerBaseClass = null)

Set the owner of this extension.

Parameters

SS_Object $owner

The owner object,

string $ownerBaseClass

The base class that the extension is applied to; this may be the class of owner, or it may be a parent. For example, if Versioned was applied to SiteTree, and then a Page object was instantiated, $owner would be a Page object, but $ownerBaseClass would be 'SiteTree'.

clearOwner()

No description

SS_Object getOwner()

Returns the owner of this extension.

Return Value

SS_Object

static string get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string thats passed to DataObject::$extensions or Object::add_extension().

Parameters

string $extensionStr

E.g. "Versioned('Stage','Live')"

Return Value

string

Extension classname, e.g. "Versioned"

onAfterPostComment(Comment $comment)

Notify Members of the post there is a new comment.

Parameters

Comment $comment

bool isValidEmail(string $email)

Validates for RFC 2822 compliant email adresses.

Parameters

string $email

Return Value

bool

See also

http://www.regular-expressions.info/email.html
http://www.ietf.org/rfc/rfc2822.txt

notifyCommentRecipient(Comment $comment, DataObject $parent, Member|string $recipient)

Send comment notification to a given recipient

Parameters

Comment $comment
DataObject $parent

Object with the {\CommentNotifiable} extension applied

Member|string $recipient

Either a member object or an email address to which notifications should be sent