From 37700d01171bcecb448f00eaacea1c4d5d626672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20M=C3=BCller?= <p.mueller@pcsg.de> Date: Wed, 18 Sep 2019 15:46:15 +0200 Subject: [PATCH] fix: ShippingTimePeriod->cleanup quiqqer/shipping#18 --- .../Products/Fields/ShippingTimePeriod.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/QUI/ERP/Shipping/Products/Fields/ShippingTimePeriod.php b/src/QUI/ERP/Shipping/Products/Fields/ShippingTimePeriod.php index 952f886..f13b9ae 100644 --- a/src/QUI/ERP/Shipping/Products/Fields/ShippingTimePeriod.php +++ b/src/QUI/ERP/Shipping/Products/Fields/ShippingTimePeriod.php @@ -66,13 +66,27 @@ public function validate($value) */ public function cleanup($value) { - $value = parent::cleanup($value); $defaultValue = $this->getDefaultValueFromConfig(); if (empty($value)) { return $defaultValue; } + if (!\is_string($value) && !\is_array($value)) { + return $defaultValue; + } + + if (\is_string($value)) { + $value = \json_decode($value, true); + + if (\json_last_error() !== \JSON_ERROR_NONE) { + return $defaultValue; + } + } + + $value['from'] = (int)$value['from']; + $value['to'] = (int)$value['to']; + switch ($value['option']) { case self::OPTION_TIMEPERIOD: case self::OPTION_UNAVAILABLE: -- GitLab