You are here

function comment_user_cancel in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/comment/comment.module \comment_user_cancel()
  2. 7 modules/comment/comment.module \comment_user_cancel()

Implements hook_user_cancel().

File

core/modules/comment/comment.module, line 449
Enables users to comment on published content.

Code

function comment_user_cancel($edit, UserInterface $account, $method) {
  switch ($method) {
    case 'user_cancel_block_unpublish':
      $comments = \Drupal::entityTypeManager()
        ->getStorage('comment')
        ->loadByProperties([
        'uid' => $account
          ->id(),
      ]);
      foreach ($comments as $comment) {
        $comment
          ->setUnpublished();
        $comment
          ->save();
      }
      break;
    case 'user_cancel_reassign':

      /** @var \Drupal\comment\CommentInterface[] $comments */
      $comments = \Drupal::entityTypeManager()
        ->getStorage('comment')
        ->loadByProperties([
        'uid' => $account
          ->id(),
      ]);
      foreach ($comments as $comment) {
        $comment
          ->setOwnerId(0);
        $comment
          ->setAuthorName(\Drupal::config('user.settings')
          ->get('anonymous'));
        $comment
          ->save();
      }
      break;
  }
}