Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Core/ParamConverter/MenuLinkPluginConverter.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\Core\ParamConverter; use Drupal\Core\Menu\MenuLinkManagerInterface; use Drupal\Component\Plugin\Exception\PluginException; use Symfony\Component\Routing\Route; /** * Parameter converter for upcasting entity ids to full objects. */ class MenuLinkPluginConverter implements ParamConverterInterface { /** * Plugin manager which creates the instance from the value. * * @var \Drupal\Core\Menu\MenuLinkManagerInterface */ protected $menuLinkManager; /** * Constructs a new MenuLinkPluginConverter. * * @param \Drupal\Core\Menu\MenuLinkManagerInterface $menu_link_manager * The menu link plugin manager. */ public function __construct(MenuLinkManagerInterface $menu_link_manager) { $this->menuLinkManager = $menu_link_manager; } /** * {@inheritdoc} */ public function convert($value, $definition, $name, array $defaults) { if ($value) { try { return $this->menuLinkManager->createInstance($value); } catch (PluginException $e) { // Suppress the error. } } } /** * {@inheritdoc} */ public function applies($definition, $name, Route $route) { return (!empty($definition['type']) && $definition['type'] === 'menu_link_plugin'); } }