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?