| Conditions | 5 |
| Paths | 5 |
| Total Lines | 18 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 9 |
| CRAP Score | 5 |
| Changes | 0 | ||
| 1 | <?php |
||
| 24 | 1 | private function xWwwFormEncodedLike(array &$data): void |
|
| 25 | { |
||
| 26 | 1 | foreach ($data as $key => &$value) { |
|
| 27 | 1 | if (is_array($value)) { |
|
| 28 | // Encode recursively |
||
| 29 | 1 | $this->xWwwFormEncodedLike($value); |
|
| 30 | 1 | } elseif (false === $value) { |
|
| 31 | // Checkbox-like behavior removes false data but PATCH HTTP method with just checkboxes does not work |
||
| 32 | // To fix this issue we prefer transform false data to null |
||
| 33 | // See https://github.com/FriendsOfSymfony/FOSRestBundle/pull/883 |
||
| 34 | 1 | $value = null; |
|
| 35 | 1 | } elseif (!is_string($value)) { |
|
| 36 | // Convert everything to string |
||
| 37 | // true values will be converted to '1', this is the default checkbox behavior |
||
| 38 | 1 | $value = strval($value); |
|
| 39 | } |
||
| 40 | } |
||
| 41 | 1 | } |
|
| 42 | |||
| 56 |