Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / modules / language / src / LanguageConverter.php
1 <?php
2
3 namespace Drupal\language;
4
5 use Drupal\Core\Language\LanguageManagerInterface;
6 use Drupal\Core\ParamConverter\ParamConverterInterface;
7 use Symfony\Component\Routing\Route;
8
9 /**
10  * Converts parameters for upcasting entity IDs to full objects.
11  */
12 class LanguageConverter implements ParamConverterInterface {
13
14   /**
15    * The language manager.
16    *
17    * @var \Drupal\Core\Language\LanguageManagerInterface
18    */
19   protected $languageManager;
20
21   /**
22    * Constructs a new LanguageConverter.
23    *
24    * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
25    *   The language manager.
26    */
27   public function __construct(LanguageManagerInterface $language_manager) {
28     $this->languageManager = $language_manager;
29   }
30
31   /**
32    * {@inheritdoc}
33    */
34   public function convert($value, $definition, $name, array $defaults) {
35     if (!empty($value)) {
36       return $this->languageManager->getLanguage($value);
37     }
38     return NULL;
39   }
40
41   /**
42    * {@inheritdoc}
43    */
44   public function applies($definition, $name, Route $route) {
45     return (!empty($definition['type']) && $definition['type'] == 'language');
46   }
47
48 }