diff --git a/composer.json b/composer.json index 145aa442..8829e722 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,7 @@ } ], "require": { - "php": ">=5.3.8", + "php": ">=5.5", "ext-gd": "*" }, "autoload": { diff --git a/wire/core/Sanitizer.php b/wire/core/Sanitizer.php index e54b9a72..316fce4f 100644 --- a/wire/core/Sanitizer.php +++ b/wire/core/Sanitizer.php @@ -3927,7 +3927,7 @@ class Sanitizer extends Wire { $str = ltrim($str, '-'); } - if(stripos($str, 'E-') && preg_match('/^([0-9., ]+\d)(E\-\d+)/i', $str, $m)) { + if((stripos($str, 'E-') || stripos($str, 'E+')) && preg_match('/^([0-9., ]+\d)(E[-+]\d+)/i', $str, $m)) { $str = $m[1]; $append = $m[2]; } @@ -3984,7 +3984,7 @@ class Sanitizer extends Wire { if($options['getString']) { if($options['precision'] === null) { - $value = strpos($value, 'E-') ? rtrim(sprintf('%.20f', (float) $value), '0') : "$value"; + $value = strpos($value, 'E-') || strpos($value, 'E+') ? rtrim(sprintf('%.20f', (float) $value), '0') : "$value"; } else { $value = sprintf('%.' . $options['precision'] . 'f', (float) $value); } diff --git a/wire/modules/Inputfield/InputfieldFloat.module b/wire/modules/Inputfield/InputfieldFloat.module index 84cb3fc2..99c9f737 100644 --- a/wire/modules/Inputfield/InputfieldFloat.module +++ b/wire/modules/Inputfield/InputfieldFloat.module @@ -117,7 +117,7 @@ class InputfieldFloat extends InputfieldInteger { $attributes['step'] = '.' . ($precision > 1 ? str_repeat('0', $precision - 1) : '') . '1'; } } - if($attributes && isset($attributes['value']) && strpos($attributes['value'], 'E-')) { + if($attributes && isset($attributes['value']) && stripos($attributes['value'], 'E')) { $attributes['value'] = $this->wire()->sanitizer->float($attributes['value'], array( 'getString' => true, ));