Skip to content

Commit 075d019

Browse files
committed
Fixed the NULL values to prevent errors in str_replace() and hash().
1 parent b894111 commit 075d019

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

src/RequestHelper.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ public function prepareFormData(array $formData): array
6868
} else {
6969
if (is_numeric($value)) {
7070
$value = strval($value);
71+
} else if ($value === null) {
72+
$value = '';
7173
}
7274

7375
$data[$key] = hash('sha256', $value);
@@ -106,6 +108,10 @@ public function cleanupFormData(array $formData): array
106108
if (is_iterable($value)) {
107109
$formData[$key] = $this->cleanupFormData($value);
108110
} else {
111+
if ($value === null) {
112+
$value = '';
113+
}
114+
109115
$formData[$key] = str_replace("\r\n", "\n", $value);
110116
}
111117
}

tests/RequestHelperTest.php

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public function testPrepareFormData()
3131
'email[]' => [
3232
3333
],
34-
'data' => []
34+
'data' => [],
35+
'website' => null,
3536
];
3637

3738
$targetArray = [
@@ -43,7 +44,8 @@ public function testPrepareFormData()
4344
'email' => [
4445
'973dfe463ec85785f5f95af5ba3906eedb2d931c24e69824a89ea65dba4e813b'
4546
],
46-
'data' => []
47+
'data' => [],
48+
'website' => 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
4749
];
4850

4951
$this->assertEquals($targetArray, $requestHelper->prepareFormData($data));
@@ -65,7 +67,8 @@ public function testCleanupFormData()
6567
'email[]' => [
6668
6769
],
68-
'data' => []
70+
'data' => [],
71+
'website' => null,
6972
];
7073

7174
$expectedData = [
@@ -79,6 +82,7 @@ public function testCleanupFormData()
7982
],
8083
'name' => 'Test Tester',
8184
'valid' => false,
85+
'website' => '',
8286
];
8387

8488
$this->assertEquals($expectedData, $requestHelper->cleanupFormData($data));
@@ -95,10 +99,11 @@ public function testToJson()
9599
'number' => 123,
96100
],
97101
'valid' => false,
98-
'data' => []
102+
'data' => [],
103+
'email' => null,
99104
];
100105

101-
$targetJson = '{"name":"Test Tester","address":{"street":"Teststreet","number":123},"valid":false,"data":{}}';
106+
$targetJson = '{"name":"Test Tester","address":{"street":"Teststreet","number":123},"valid":false,"data":{},"email":null}';
102107

103108
$this->assertEquals($targetJson, $requestHelper->toJson($data));
104109
}
@@ -114,9 +119,10 @@ public function testCreateFormDataHmacHash()
114119
'number' => 123,
115120
],
116121
'valid' => false,
117-
'data' => []
122+
'data' => [],
123+
'email' => null,
118124
];
119125

120-
$this->assertEquals('408f7cfd222dcf2369c8c1655df2f8de489858e23d9e100233a5b09e748fd360', $requestHelper->createFormDataHmacHash($data));
126+
$this->assertEquals('fb1ae1d7aa9a506fdebc1641cd466f3b0fdefa62c835a43c8001a24913f8b735', $requestHelper->createFormDataHmacHash($data));
121127
}
122128
}

0 commit comments

Comments
 (0)