From ff65287564b86fdeb1d062e50cd135d8f3ad02b4 Mon Sep 17 00:00:00 2001 From: Roman Klein Date: Thu, 1 Nov 2018 10:26:19 +0100 Subject: [PATCH 1/2] Release 1.8.0 - Accept comma-notation in decimal input values - Added missing issus url to extension.meta.xml --- extension.meta.xml | 9 +++++++-- fields/field.number.php | 16 ++++++++++++---- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/extension.meta.xml b/extension.meta.xml index db909f1..393eb31 100644 --- a/extension.meta.xml +++ b/extension.meta.xml @@ -3,17 +3,22 @@ Number Field Dedicated number storage https://github.com/symphonycms/numberfield - http://getsymphony.com/discuss/thread/144/ + https://www.getsymphony.com/discuss/thread/144/ + https://github.com/symphonycms/numberfield/issues Field Types Symphony Team - http://getsymphony.com + https://www.getsymphony.com + + - Accept comma-notation in decimal input values ([#19](https://github.com/symphonycms/numberfield/issues/19)) + - Added missing issus url to extension.meta.xml + - PHP7 Compatibility for Symphony 2.x.x diff --git a/fields/field.number.php b/fields/field.number.php index 4c4dab4..a831e60 100755 --- a/fields/field.number.php +++ b/fields/field.number.php @@ -100,12 +100,17 @@ public function displayPublishPanel(XMLElement &$wrapper, $data = null, $flagWit public function checkPostFieldData($data, &$message, $entry_id = null) { $message = NULL; - if($this->get('required') == 'yes' && strlen($data) == 0){ + // transform comma-based notation into dot-based notation so it + // doesn't throw an error (as the comma will be replaced before + // saving the value in the database) + $value = str_replace(',', '.', $data); + + if($this->get('required') == 'yes' && strlen($value) == 0){ $message = __('ā€˜%sā€™ is a required field.', array($this->get('label'))); return self::__MISSING_FIELDS__; } - if(strlen($data) > 0 && !is_numeric($data)) { + if(strlen($value) > 0 && !is_numeric($value)) { $message = __('Must be a number.'); return self::__INVALID_FIELDS__; } @@ -116,10 +121,13 @@ public function checkPostFieldData($data, &$message, $entry_id = null) { public function processRawFieldData($data, &$status, &$message=null, $simulate = false, $entry_id = null) { $status = self::__OK__; - if (strlen(trim($data)) == 0) return array(); + // transform comma-based notation into dot-based notation + $value = str_replace(',', '.', $data); + + if (strlen(trim($value)) == 0) return array(); $result = array( - 'value' => $data + 'value' => $value ); return $result; From 8a34d76d3aa9f1a7266a9f7753fe4e91dcb5cf45 Mon Sep 17 00:00:00 2001 From: Roman Klein Date: Thu, 1 Nov 2018 10:28:31 +0100 Subject: [PATCH 2/2] Fix typo --- extension.meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extension.meta.xml b/extension.meta.xml index 393eb31..6141e35 100644 --- a/extension.meta.xml +++ b/extension.meta.xml @@ -17,7 +17,7 @@ - Accept comma-notation in decimal input values ([#19](https://github.com/symphonycms/numberfield/issues/19)) - - Added missing issus url to extension.meta.xml + - Added missing issues-url to extension.meta.xml - PHP7 Compatibility for Symphony 2.x.x