From 54221042b5d1d9b06ffc3b6eaf4b445590e08672 Mon Sep 17 00:00:00 2001 From: Leo Germani Date: Tue, 17 Sep 2019 16:31:45 -0300 Subject: [PATCH] save metadata multiple value as array in logs #261 --- src/classes/repositories/class-tainacan-logs.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/classes/repositories/class-tainacan-logs.php b/src/classes/repositories/class-tainacan-logs.php index 2c6ca5ed6..86753b922 100644 --- a/src/classes/repositories/class-tainacan-logs.php +++ b/src/classes/repositories/class-tainacan-logs.php @@ -443,11 +443,15 @@ class Logs extends Repository { $old = new Entities\Item_Metadata_Entity($unsaved->get_item(), $unsaved->get_metadatum()); + add_filter('tainacan-item-metadata-get-multivalue-separator', [$this, '__temporary_multivalue_separator']); + if ( $old instanceof Entities\Item_Metadata_Entity ) { - $diff['old'] = $old->get_value_as_string(); + $diff['old'] = \explode($this->__temporary_multivalue_separator(''), $old->get_value_as_string()); } - $diff['new'] = $unsaved->get_value_as_string(); + $diff['new'] = \explode($this->__temporary_multivalue_separator(''), $unsaved->get_value_as_string()); + + remove_filter('tainacan-item-metadata-get-multivalue-separator', [$this, '__temporary_multivalue_separator']); $diff = apply_filters( 'tainacan-entity-diff', $diff, $unsaved, $old ); @@ -456,6 +460,10 @@ class Logs extends Repository { } + public function __temporary_multivalue_separator($sep) { + return '--xx--'; + } + /** * Callback to generate log when Tainacan entities are edited */