function CommentHooks::userCancel
Implements hook_user_cancel().
File
-
core/
modules/ comment/ src/ Hook/ CommentHooks.php, line 429
Class
- CommentHooks
- Hook implementations for comment.
Namespace
Drupal\comment\HookCode
public function userCancel($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) {
$langcodes = array_keys($comment->getTranslationLanguages());
// For efficiency manually save the original comment before applying any
// changes.
$comment->original = clone $comment;
foreach ($langcodes as $langcode) {
$comment_translated = $comment->getTranslation($langcode);
$comment_translated->setOwnerId(0);
$comment_translated->setAuthorName(\Drupal::config('user.settings')->get('anonymous'));
}
$comment->save();
}
break;
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.