From 4e13cea7f8012046a66b22725265b508f3e1e091 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms Date: Fri, 13 May 2022 11:39:16 +0200 Subject: return null/default when an empty string is found for Request::int() and Request::float(), fixes #1054 --- lib/classes/Request.class.php | 8 ++++++++ tests/unit/lib/classes/RequestParametersTest.php | 2 ++ 2 files changed, 10 insertions(+) diff --git a/lib/classes/Request.class.php b/lib/classes/Request.class.php index 5aa52b7..380bcf9 100644 --- a/lib/classes/Request.class.php +++ b/lib/classes/Request.class.php @@ -267,6 +267,10 @@ class Request implements ArrayAccess, IteratorAggregate { $value = self::get($param, $default); + if ($value === '') { + $value = $default; + } + if (isset($value)) { $value = (int) $value; } @@ -286,6 +290,10 @@ class Request implements ArrayAccess, IteratorAggregate { $value = self::get($param, $default); + if ($value === '') { + $value = $default; + } + if (isset($value)) { $value = (float) strtr($value, ',', '.'); } diff --git a/tests/unit/lib/classes/RequestParametersTest.php b/tests/unit/lib/classes/RequestParametersTest.php index 85194c4..d34375e 100644 --- a/tests/unit/lib/classes/RequestParametersTest.php +++ b/tests/unit/lib/classes/RequestParametersTest.php @@ -90,6 +90,7 @@ class RequestParametersTest extends Codeception\Test\Unit $this->assertSame(Request::int('d'), 12); $this->assertSame(Request::int('e'), 3); $this->assertNull(Request::int('v1')); + $this->assertNull(Request::int('h')); } public function testFloatParam () @@ -100,6 +101,7 @@ class RequestParametersTest extends Codeception\Test\Unit $this->assertSame(Request::float('d'), 12.7); $this->assertSame(Request::float('e'), 3.14); $this->assertNull(Request::float('v1')); + $this->assertNull(Request::float('h')); } public function testBoolParam () -- cgit v1.0