diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php index cc5ab8b..65c1464 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/FieldOverview.php @@ -11,6 +11,7 @@ use Drupal\Core\Entity\EntityManager; use Drupal\field\Plugin\Type\Widget\WidgetPluginManager; use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\HttpFoundation\Request; /** * Field UI field overview form. @@ -25,6 +26,13 @@ class FieldOverview extends OverviewBase { protected $widgetManager; /** + * The current request. + * + * @var \Symfony\Component\HttpFoundation\Request + */ + protected $request; + + /** * Constructs a new DisplayOverview. * * @param \Drupal\Core\Entity\EntityManager $entity_manager @@ -32,10 +40,11 @@ class FieldOverview extends OverviewBase { * @param \Drupal\field\Plugin\Type\Widget\WidgetPluginManager $widget_manager * The widget plugin manager. */ - public function __construct(EntityManager $entity_manager, WidgetPluginManager $widget_manager) { + public function __construct(EntityManager $entity_manager, WidgetPluginManager $widget_manager, Request $request) { parent::__construct($entity_manager); $this->widgetManager = $widget_manager; + $this->request = $request; } /** @@ -696,7 +705,7 @@ public function submitForm(array &$form, array &$form_state) { if ($destinations) { $destination = drupal_get_destination(); $destinations[] = $destination['destination']; - unset($_GET['destination']); + $this->request->query->remove('destination'); $path = array_shift($destinations); $options = drupal_parse_url($path); $options['query']['destinations'] = $destinations; diff --git a/core/modules/field_ui/lib/Drupal/field_ui/FieldUI.php b/core/modules/field_ui/lib/Drupal/field_ui/FieldUI.php index 6e4a6a2..1fdc9d1 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/FieldUI.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/FieldUI.php @@ -19,10 +19,11 @@ class FieldUI { * An array of redirect paths. */ public static function getNextDestination() { + $request = \Drupal::request(); $next_destination = array(); - $destinations = !empty($_REQUEST['destinations']) ? $_REQUEST['destinations'] : array(); + $destinations = $request->attributes->get('destinations'); if (!empty($destinations)) { - unset($_REQUEST['destinations']); + $request->attributes->remove('destinations'); $path = array_shift($destinations); $options = drupal_parse_url($path); if ($destinations) { diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldInstanceEditForm.php b/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldInstanceEditForm.php index 408b778..a1aac7d 100644 --- a/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldInstanceEditForm.php +++ b/core/modules/field_ui/lib/Drupal/field_ui/Form/FieldInstanceEditForm.php @@ -211,9 +211,10 @@ public function submitForm(array &$form, array &$form_state) { */ public function delete(array &$form, array &$form_state) { $destination = array(); - if (isset($_GET['destination'])) { + $request = \Drupal::request(); + if ($request->query->has('destination')) { $destination = drupal_get_destination(); - unset($_GET['destination']); + $request->query->remove('destination'); } $form_state['redirect'] = array('admin/structure/types/manage/' . $this->instance['bundle'] . '/fields/' . $this->instance->id() . '/delete', array('query' => $destination)); }