diff --git a/src/Entity/FieldEncryptEntityType.php b/src/Entity/FieldEncryptEntityType.php index ee015dcd00143184f9b90f7dbefbffeef589bb59..df074d64c3181e6008e32e5d8e79e9c659ce32e6 100644 --- a/src/Entity/FieldEncryptEntityType.php +++ b/src/Entity/FieldEncryptEntityType.php @@ -117,7 +117,7 @@ class FieldEncryptEntityType extends ConfigEntityBase { */ public function postSave(EntityStorageInterface $storage, $update = TRUE): void { parent::postSave($storage, $update); - if (!$update || $this->getBaseFields() !== $this->original->getBaseFields()) { + if (!$update || $this->getBaseFields() !== $this->getOriginal()->getBaseFields()) { self::queueEntityUpdates($this->id()); } // Update the field_encrypt module's state. diff --git a/src/ProcessEntities.php b/src/ProcessEntities.php index 9ddd530a2b0c1d647d2d3ff6c33cccf008632d22..7d8cca9d5aeb44948a6e0be8c03b8e9930ae663a 100644 --- a/src/ProcessEntities.php +++ b/src/ProcessEntities.php @@ -77,16 +77,16 @@ class ProcessEntities { } // The entity storage handler has clever logic to ensure that configurable - // fields are only saved if necessary. If entity->original is set we need + // fields are only saved if necessary. If entity->original() we need // to ensure the field values are the values in the database and not the // unencrypted values so that they are saved if necessary. This is // particularly important when a previously encrypted field is set to be // unencrypted. // @see \Drupal\Core\Entity\Sql\SqlContentEntityStorage::saveToDedicatedTables() // @see \Drupal\Core\Entity\ContentEntityStorageBase::hasFieldValueChanged() - if (isset($translated_entity->original) && $translated_entity->original instanceof ContentEntityInterface) { - if ($translated_entity->original->hasTranslation($language->getId())) { - $translated_original = $translated_entity->original->getTranslation($language->getId()); + if ($translated_entity->getOriginal() && $translated_entity->getOriginal() instanceof ContentEntityInterface) { + if ($translated_entity->getOriginal()->hasTranslation($language->getId())) { + $translated_original = $translated_entity->getOriginal()->getTranslation($language->getId()); $this->setEncryptedFieldValues($translated_original, 'getUnencryptedPlaceholderValue'); } } @@ -118,9 +118,9 @@ class ProcessEntities { $translated_entity = $entity->getTranslation($language->getId()); $this->setEncryptedFieldValues($translated_entity); // Reverse the logic to encrypt the original entity in ::encryptEntity(). - if (isset($translated_entity->original) && $translated_entity->original instanceof ContentEntityInterface) { - if ($translated_entity->original->hasTranslation($language->getId())) { - $this->decryptEntity($translated_entity->original); + if ($translated_entity->getOriginal() && $translated_entity->getOriginal() instanceof ContentEntityInterface) { + if ($translated_entity->getOriginal()->hasTranslation($language->getId())) { + $this->decryptEntity($translated_entity->getOriginal()); } } }