Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / redirect / src / Form / RedirectForm.php
index b71fe7b53fbed4ed18e0a9785f2969672f643e8b..573fa99d6e09560e01e94e92eb3d6df1b3a87fa8 100644 (file)
@@ -5,6 +5,7 @@ namespace Drupal\redirect\Form;
 use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\Entity\ContentEntityForm;
 use Drupal\Core\Language\Language;
+use Drupal\Core\Language\LanguageInterface;
 use Drupal\Core\Routing\MatchingRouteNotFoundException;
 use Drupal\Core\Url;
 use Drupal\redirect\Entity\Redirect;
@@ -65,6 +66,14 @@ class RedirectForm extends ContentEntityForm {
     /** @var \Drupal\redirect\Entity\Redirect $redirect */
     $redirect = $this->entity;
 
+    // Only add the configured languages and a single key for all languages.
+    if (isset($form['language']['widget'][0]['value']))  {
+      foreach (\Drupal::languageManager()->getLanguages(LanguageInterface::STATE_CONFIGURABLE) as $langcode => $language) {
+        $form['language']['widget'][0]['value']['#options'][$langcode] = $language->getName();
+      }
+      $form['language']['widget'][0]['value']['#options'][LanguageInterface::LANGCODE_NOT_SPECIFIED] = t('- All languages -');
+    }
+
     $default_code = $redirect->getStatusCode() ? $redirect->getStatusCode() : \Drupal::config('redirect.settings')->get('default_status_code');
 
     $form['status_code'] = array(