From 164b86883ca7f82612e51f11664b16a7b85ecfe7 Mon Sep 17 00:00:00 2001 From: dibbaum Date: Wed, 6 Nov 2024 16:55:52 +0100 Subject: [PATCH] Fix meta data not set at activation and not present in license listing. --- functions/lmfwc-license-functions.php | 4 ++-- includes/Models/Resources/LicenseActivation.php | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/functions/lmfwc-license-functions.php b/functions/lmfwc-license-functions.php index ec591cc..2a1cc77 100644 --- a/functions/lmfwc-license-functions.php +++ b/functions/lmfwc-license-functions.php @@ -447,8 +447,8 @@ function lmfwc_activate_license($licenseKey, $args) } // Set metadata - if (isset($args['meta_data']) && is_array( $args['meta_data'] ) ) { - $activationParams['meta_data'] = $args['meta_data']; + if (isset($args['meta']) && is_array( $args['meta'] ) ) { + $activationParams['meta_data'] = wp_json_encode($args['meta']); } // Store. diff --git a/includes/Models/Resources/LicenseActivation.php b/includes/Models/Resources/LicenseActivation.php index dc37516..eff8fab 100644 --- a/includes/Models/Resources/LicenseActivation.php +++ b/includes/Models/Resources/LicenseActivation.php @@ -48,7 +48,14 @@ public function __construct( $activation ) { $this->source = (int) $activation->source; $this->ip_address = $activation->ip_address; $this->user_agent = $activation->user_agent; - $this->meta_data = $activation->meta_data ; + if ( !is_null( $activation->meta_data ) ) { + $this->meta_data = json_decode( $activation->meta_data, TRUE ); + if(json_last_error() !== JSON_ERROR_NONE) { + $this->meta_data = $activation->meta_data; + } + } else { + $this->meta_data = $activation->meta_data ; + } $this->created_at = $activation->created_at; $this->updated_at = $activation->updated_at; $this->deactivated_at = $activation->deactivated_at;