From 7063e451ac53b58c6de02ffb40c46d32c07b7866 Mon Sep 17 00:00:00 2001 From: David Cramer Date: Mon, 14 Sep 2020 14:17:20 +0200 Subject: [PATCH] Ensure the signature is always an array. --- .../php/class-sync.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/class-sync.php b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/class-sync.php index aafb13241..178e1163d 100644 --- a/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/class-sync.php +++ b/cloudinary-image-management-and-manipulation-in-the-cloud-cdn/php/class-sync.php @@ -262,7 +262,7 @@ public function get_signature( $attachment_id, $cached = true ) { if ( ! empty( $signatures[ $attachment_id ] ) && true === $cached ) { $return = $signatures[ $attachment_id ]; } else { - $signature = $this->managers['media']->get_post_meta( $attachment_id, self::META_KEYS['signature'], true ); + $signature = (array) $this->managers['media']->get_post_meta( $attachment_id, self::META_KEYS['signature'], true ); if ( empty( $signature ) ) { $signature = array(); } @@ -758,6 +758,10 @@ public function set_signature_item( $attachment_id, $type, $value = null ) { // Generate a new value based on generator. $value = $this->generate_type_signature( $type, $attachment_id ); } + // Ensure we have an array. + if ( empty( $meta[ Sync::META_KEYS['cloudinary'] ][ Sync::META_KEYS['signature'] ] ) || ! is_array( $meta[ Sync::META_KEYS['cloudinary'] ][ Sync::META_KEYS['signature'] ] ) ) { + $meta[ Sync::META_KEYS['cloudinary'] ][ Sync::META_KEYS['signature'] ] = array(); + } $meta[ Sync::META_KEYS['cloudinary'] ][ Sync::META_KEYS['signature'] ][ $type ] = $value; wp_update_attachment_metadata( $attachment_id, $meta ); }