Version 1
[yaffs-website] / web / core / modules / taxonomy / src / Plugin / views / argument_validator / Term.php
diff --git a/web/core/modules/taxonomy/src/Plugin/views/argument_validator/Term.php b/web/core/modules/taxonomy/src/Plugin/views/argument_validator/Term.php
new file mode 100644 (file)
index 0000000..7ffbba7
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+
+namespace Drupal\taxonomy\Plugin\views\argument_validator;
+
+use Drupal\views\ViewExecutable;
+use Drupal\views\Plugin\views\display\DisplayPluginBase;
+use Drupal\views\Plugin\views\argument_validator\Entity;
+
+/**
+ * Adds legacy vocabulary handling to standard Entity Argument validation..
+ */
+class Term extends Entity {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
+    parent::init($view, $display, $options);
+
+    // @todo Remove the legacy code.
+    // Convert legacy vids option to machine name vocabularies.
+    if (!empty($this->options['vids'])) {
+      $vocabularies = taxonomy_vocabulary_get_names();
+      foreach ($this->options['vids'] as $vid) {
+        if (isset($vocabularies[$vid], $vocabularies[$vid]->machine_name)) {
+          $this->options['vocabularies'][$vocabularies[$vid]->machine_name] = $vocabularies[$vid]->machine_name;
+        }
+      }
+    }
+  }
+
+}