Further modules included.
[yaffs-website] / web / modules / contrib / drupalmoduleupgrader / src / Plugin / DMU / Fixer / Define.php
diff --git a/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Fixer/Define.php b/web/modules/contrib/drupalmoduleupgrader/src/Plugin/DMU/Fixer/Define.php
new file mode 100644 (file)
index 0000000..8a2bd1d
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\drupalmoduleupgrader\Plugin\DMU\Fixer\Define.
+ */
+
+namespace Drupal\drupalmoduleupgrader\Plugin\DMU\Fixer;
+
+use Drupal\Component\Serialization\Yaml as YAML;
+use Drupal\Component\Utility\NestedArray;
+use Drupal\drupalmoduleupgrader\FixerBase;
+
+/**
+ * @Fixer(
+ *  id = "define"
+ * )
+ */
+class Define extends FixerBase {
+
+  public function execute() {
+    $file = $this->getUnaliasedPath($this->configuration['in']);
+    $data = file_exists($file) ? YAML::decode(file_get_contents($file)) : [];
+    $keys = explode('/', $this->configuration['key']);
+    NestedArray::setValue($data, $keys, $this->configuration['value']);
+    file_put_contents($file, YAML::encode($data));
+  }
+
+}