Security update for Core, with self-updated composer
[yaffs-website] / web / core / lib / Drupal / Core / Entity / ContentEntityType.php
index 400374b009bc4ca369a4ecfd4206761d4470a118..0e26c3bb510759152a8ca864a0d03c58b6ecda95 100644 (file)
@@ -7,6 +7,13 @@ namespace Drupal\Core\Entity;
  */
 class ContentEntityType extends EntityType implements ContentEntityTypeInterface {
 
+  /**
+   * An array of entity revision metadata keys.
+   *
+   * @var array
+   */
+  protected $revision_metadata_keys = [];
+
   /**
    * {@inheritdoc}
    */
@@ -41,4 +48,44 @@ class ContentEntityType extends EntityType implements ContentEntityTypeInterface
     }
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getRevisionMetadataKeys($include_backwards_compatibility_field_names = TRUE) {
+    // Provide backwards compatibility in case the revision metadata keys are
+    // not defined in the entity annotation.
+    if (!$this->revision_metadata_keys && $include_backwards_compatibility_field_names) {
+      $base_fields = \Drupal::service('entity_field.manager')->getBaseFieldDefinitions($this->id());
+      if ((isset($base_fields['revision_uid']) && $revision_user = 'revision_uid') || (isset($base_fields['revision_user']) && $revision_user = 'revision_user')) {
+        @trigger_error('The revision_user revision metadata key is not set.', E_USER_DEPRECATED);
+        $this->revision_metadata_keys['revision_user'] = $revision_user;
+      }
+      if ((isset($base_fields['revision_timestamp']) && $revision_timestamp = 'revision_timestamp') || (isset($base_fields['revision_created'])) && $revision_timestamp = 'revision_created') {
+        @trigger_error('The revision_created revision metadata key is not set.', E_USER_DEPRECATED);
+        $this->revision_metadata_keys['revision_created'] = $revision_timestamp;
+      }
+      if ((isset($base_fields['revision_log']) && $revision_log = 'revision_log') || (isset($base_fields['revision_log_message']) && $revision_log = 'revision_log_message')) {
+        @trigger_error('The revision_log_message revision metadata key is not set.', E_USER_DEPRECATED);
+        $this->revision_metadata_keys['revision_log_message'] = $revision_log;
+      }
+    }
+    return $this->revision_metadata_keys;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getRevisionMetadataKey($key) {
+    $keys = $this->getRevisionMetadataKeys();
+    return isset($keys[$key]) ? $keys[$key] : FALSE;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function hasRevisionMetadataKey($key) {
+    $keys = $this->getRevisionMetadataKeys();
+    return isset($keys[$key]);
+  }
+
 }