Add Comment Notification
In some cases it can be interesting to get notified, if for a specific item a new comment was published on your website. The following example shows how to get this working.
In this example you can see the implementation in module wgGallery
1) Adapt xoops_version.php
First step:
you have to check whether there is a callback function defined or not
// Comment callback functions
$modversion['comments']['callbackFile'] = 'include/comment_functions.php';
$modversion['comments']['callback']['approve'] = 'wggalleryCommentsApprove';
$modversion['comments']['callback']['update'] = 'wggalleryCommentsUpdate';if not please as the definition to xoops_version.php
Second step:
You have to add the notification options, which you want to have. In wgGallery we have the option to get a notification of a comment
a) in any case
// Global Events Image commented
$modversion['notification']['event'][] = [
'name' => 'img_comment_all',
'category' => 'global',
'admin_only' => 0,
'title' => _MI_WGGALLERY_GLOBAL_IMG_COMMENT_NOTIFY,
'caption' => _MI_WGGALLERY_GLOBAL_IMG_COMMENT_NOTIFY_CAPTION,
'description' => '',
'mail_template' => 'global_img_comment_notify',
'mail_subject' => _MI_WGGALLERY_GLOBAL_IMG_COMMENT_NOTIFY_SUBJECT,
];b) or if an image of a specific album have been commented
This event will be added by XOOPS itself. Therefore no action is required.
2) Language files
add the defines to your language file modinfo.php
3) Adapt include/comment_functions.php
In any case a comment is sent and approved xoops with call the callback function wggalleryCommentsApprove($comment) As a parameter you get the comment object with all necessary information Therefore we need only to add the call of notification handler
4) Add notification template to language file
Add a notification template to language/english/mail_template (or in your language file directory). Use the name you defined in xoops_version.php (in our example: 'mail_template' => 'global_img_comment_notify',)
Thats all :)
Last updated
Was this helpful?