public function CommentAdminOverview::submitForm in Drupal 9
Same name and namespace in other branches
- 8 core/modules/comment/src/Form/CommentAdminOverview.php \Drupal\comment\Form\CommentAdminOverview::submitForm()
- 10 core/modules/comment/src/Form/CommentAdminOverview.php \Drupal\comment\Form\CommentAdminOverview::submitForm()
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides FormInterface::submitForm
File
- core/
modules/ comment/ src/ Form/ CommentAdminOverview.php, line 268
Class
- CommentAdminOverview
- Provides the comments overview administration form.
Namespace
Drupal\comment\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$operation = $form_state
->getValue('operation');
$cids = $form_state
->getValue('comments');
/** @var \Drupal\comment\CommentInterface[] $comments */
$comments = $this->commentStorage
->loadMultiple($cids);
if ($operation != 'delete') {
foreach ($comments as $comment) {
if ($operation == 'unpublish') {
$comment
->setUnpublished();
}
elseif ($operation == 'publish') {
$comment
->setPublished();
}
$comment
->save();
}
$this
->messenger()
->addStatus($this
->t('The update has been performed.'));
$form_state
->setRedirect('comment.admin');
}
else {
$info = [];
/** @var \Drupal\comment\CommentInterface $comment */
foreach ($comments as $comment) {
$langcode = $comment
->language()
->getId();
$info[$comment
->id()][$langcode] = $langcode;
}
$this->tempStoreFactory
->get('entity_delete_multiple_confirm')
->set($this
->currentUser()
->id() . ':comment', $info);
$form_state
->setRedirect('entity.comment.delete_multiple_form');
}
}