function comment_unpublish_by_keyword_action

Unpublishes a comment if it contains certain keywords.

Parameters

object $comment: Comment object to modify.

array $context: Array with components:

  • 'keywords': Keywords to look for. If the comment contains at least one of the keywords, it is unpublished.

See also

comment_unpublish_by_keyword_action_form()

comment_unpublish_by_keyword_action_submit()

Related topics

1 call to comment_unpublish_by_keyword_action()
CommentActionsTestCase::testCommentUnpublishByKeyword in modules/comment/comment.test
Tests the unpublish comment by keyword action.
1 string reference to 'comment_unpublish_by_keyword_action'
CommentActionsTestCase::testCommentUnpublishByKeyword in modules/comment/comment.test
Tests the unpublish comment by keyword action.

File

modules/comment/comment.module, line 2635

Code

function comment_unpublish_by_keyword_action($comment, $context) {
    $node = node_load($comment->nid);
    $build = comment_view($comment, $node);
    $text = drupal_render($build);
    foreach ($context['keywords'] as $keyword) {
        if (strpos($text, $keyword) !== FALSE) {
            $comment->status = COMMENT_NOT_PUBLISHED;
            comment_save($comment);
            watchdog('action', 'Unpublished comment %subject.', array(
                '%subject' => $comment->subject,
            ));
            break;
        }
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.