Same name and namespace in other branches
  1. 8.9.x core/modules/book/book.module \book_form_node_confirm_form_alter()
  2. 9 core/modules/book/book.module \book_form_node_confirm_form_alter()

Implements hook_form_BASE_FORM_ID_alter() for \Drupal\node\Form\NodeDeleteForm.

Alters the confirm form for a single node deletion.

File

core/modules/book/book.module, line 331
Allows users to create and organize related content in an outline.

Code

function book_form_node_confirm_form_alter(&$form, FormStateInterface $form_state) {

  // Only need to alter the delete operation form.
  if ($form_state
    ->getFormObject()
    ->getOperation() !== 'delete') {
    return;
  }

  /** @var \Drupal\node\NodeInterface $node */
  $node = $form_state
    ->getFormObject()
    ->getEntity();
  if (!book_type_is_allowed($node
    ->getType())) {

    // Not a book node.
    return;
  }
  if (isset($node->book) && $node->book['has_children']) {
    $form['book_warning'] = [
      '#markup' => '<p>' . t('%title is part of a book outline, and has associated child pages. If you proceed with deletion, the child pages will be relocated automatically.', [
        '%title' => $node
          ->label(),
      ]) . '</p>',
      '#weight' => -10,
    ];
  }
}