Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / search / src / Plugin / ConfigurableSearchPluginBase.php
1 <?php
2
3 namespace Drupal\search\Plugin;
4
5 use Drupal\Component\Utility\NestedArray;
6 use Drupal\Core\Form\FormStateInterface;
7
8 /**
9  * Provides a base implementation for a configurable Search plugin.
10  */
11 abstract class ConfigurableSearchPluginBase extends SearchPluginBase implements ConfigurableSearchPluginInterface {
12
13   /**
14    * The unique ID for the search page using this plugin.
15    *
16    * @var string
17    */
18   protected $searchPageId;
19
20   /**
21    * {@inheritdoc}
22    */
23   public function __construct(array $configuration, $plugin_id, $plugin_definition) {
24     parent::__construct($configuration, $plugin_id, $plugin_definition);
25
26     $this->setConfiguration($configuration);
27   }
28
29   /**
30    * {@inheritdoc}
31    */
32   public function defaultConfiguration() {
33     return [];
34   }
35
36   /**
37    * {@inheritdoc}
38    */
39   public function getConfiguration() {
40     return $this->configuration;
41   }
42
43   /**
44    * {@inheritdoc}
45    */
46   public function setConfiguration(array $configuration) {
47     $this->configuration = NestedArray::mergeDeep($this->defaultConfiguration(), $configuration);
48   }
49
50   /**
51    * {@inheritdoc}
52    */
53   public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
54   }
55
56   /**
57    * {@inheritdoc}
58    */
59   public function calculateDependencies() {
60     return [];
61   }
62
63   /**
64    * {@inheritdoc}
65    */
66   public function setSearchPageId($search_page_id) {
67     $this->searchPageId = $search_page_id;
68     return $this;
69   }
70
71 }