Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / metatag / src / Plugin / Field / FieldType / MetatagFieldItem.php
index b8b0eef1ddfc627f71d48ace2bd8be203b3ef082..930fa4b49e89be614ab0f75a841cc88b4d378655 100644 (file)
@@ -64,10 +64,16 @@ class MetatagFieldItem extends FieldItemBase {
 
     // Get the value about to be saved.
     $current_value = $this->value;
-    $current_tags = unserialize($current_value);
+    // Only unserialize if still serialized string.
+    if (is_string($current_value)) {
+      $current_tags = unserialize($current_value);
+    }
+    else {
+      $current_tags = $current_value;
+    }
 
     // Only include values that differ from the default.
-    // @TODO: When site defaults are added, account for those.
+    // @todo When site defaults are added, account for those.
     $tags_to_save = [];
     foreach ($current_tags as $tag_id => $tag_value) {
       if (!isset($default_tags[$tag_id]) || ($tag_value != $default_tags[$tag_id])) {