X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Flib%2FDrupal%2FCore%2FEntity%2FContentEntityType.php;fp=web%2Fcore%2Flib%2FDrupal%2FCore%2FEntity%2FContentEntityType.php;h=0e26c3bb510759152a8ca864a0d03c58b6ecda95;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hp=400374b009bc4ca369a4ecfd4206761d4470a118;hpb=aea91e65e895364e460983b890e295aa5d5540a5;p=yaffs-website diff --git a/web/core/lib/Drupal/Core/Entity/ContentEntityType.php b/web/core/lib/Drupal/Core/Entity/ContentEntityType.php index 400374b00..0e26c3bb5 100644 --- a/web/core/lib/Drupal/Core/Entity/ContentEntityType.php +++ b/web/core/lib/Drupal/Core/Entity/ContentEntityType.php @@ -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]); + } + }