function UnpublishByKeywordComment::execute

Executes the plugin.

Overrides ExecutableInterface::execute

File

core/modules/action/src/Plugin/Action/UnpublishByKeywordComment.php, line 79

Class

UnpublishByKeywordComment
Unpublishes a comment containing certain keywords.

Namespace

Drupal\action\Plugin\Action

Code

public function execute($comment = NULL) {
  $build = $this->viewBuilder
    ->view($comment);
  $text = (string) $this->renderer
    ->renderInIsolation($build);
  foreach ($this->configuration['keywords'] as $keyword) {
    if (str_contains($text, $keyword)) {
      $comment->setUnpublished();
      $comment->save();
      break;

    }
  }
}

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