You are here

public function UnpublishByKeywordComment::execute in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/comment/src/Plugin/Action/UnpublishByKeywordComment.php \Drupal\comment\Plugin\Action\UnpublishByKeywordComment::execute()

Executes the plugin.

Overrides ExecutableInterface::execute

File

core/modules/comment/src/Plugin/Action/UnpublishByKeywordComment.php, line 76

Class

UnpublishByKeywordComment
Unpublishes a comment containing certain keywords.

Namespace

Drupal\comment\Plugin\Action

Code

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