You are here

protected function WebformSubmissionDeleteForm::actions in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Form/WebformSubmissionDeleteForm.php \Drupal\webform\Form\WebformSubmissionDeleteForm::actions()

Returns an array of supported actions for the current entity form.

This function generates a list of Form API elements which represent actions supported by the current entity form.

@todo Consider introducing a 'preview' action here, since it is used by many entity types.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array An array of supported Form API action elements keyed by name.

Overrides ContentEntityConfirmFormBase::actions

File

src/Form/WebformSubmissionDeleteForm.php, line 71

Class

WebformSubmissionDeleteForm
Provides a confirmation webform for deleting a webform submission.

Namespace

Drupal\webform\Form

Code

protected function actions(array $form, FormStateInterface $form_state) {

  // Issue #2582295: Confirmation cancel links are incorrect if installed in
  // a subdirectory
  // Work-around: Remove subdirectory from destination before generating
  // actions.
  $request = $this
    ->getRequest();
  $destination = $request->query
    ->get('destination');
  if ($destination) {

    // Remove subdirectory from destination.
    $update_destination = preg_replace('/^' . preg_quote(base_path(), '/') . '/', '/', $destination);
    $request->query
      ->set('destination', $update_destination);
    $actions = parent::actions($form, $form_state);
    $request->query
      ->set('destination', $destination);
    return $actions;
  }
  else {
    return parent::actions($form, $form_state);
  }
}