diff --git a/lib/Controller/ApiController.php b/lib/Controller/ApiController.php index 16ac98a72..b5b2d89da 100644 --- a/lib/Controller/ApiController.php +++ b/lib/Controller/ApiController.php @@ -1846,7 +1846,7 @@ private function storeAnswersForQuestion(Form $form, $submissionId, array $quest if ($optionIndex !== false) { $answerText = $question['options'][$optionIndex]['text']; } elseif (!empty($question['extraSettings']['allowOtherAnswer']) && str_starts_with($answer, Constants::QUESTION_EXTRASETTINGS_OTHER_PREFIX)) { - $answerText = str_replace(Constants::QUESTION_EXTRASETTINGS_OTHER_PREFIX, '', $answer); + $answerText = substr($answer, strlen(Constants::QUESTION_EXTRASETTINGS_OTHER_PREFIX)); } } elseif ($question['type'] === Constants::ANSWER_TYPE_FILE) { $uploadedFile = $this->uploadedFileMapper->getForSubmission( diff --git a/tests/Unit/Controller/ApiControllerTest.php b/tests/Unit/Controller/ApiControllerTest.php index 6b9af0231..d6bb37be5 100644 --- a/tests/Unit/Controller/ApiControllerTest.php +++ b/tests/Unit/Controller/ApiControllerTest.php @@ -791,7 +791,7 @@ public function testNewSubmission_answers() { $answers = [ 1 => ['3'], - 2 => ['2', '5', Constants::QUESTION_EXTRASETTINGS_OTHER_PREFIX . 'other answer'], + 2 => ['2', '5', Constants::QUESTION_EXTRASETTINGS_OTHER_PREFIX . 'other answer ' . Constants::QUESTION_EXTRASETTINGS_OTHER_PREFIX], 3 => ['short anwer'], 4 => [['uploadedFileId' => 100, 'uploadToken' => 'valid-upload-token']], 5 => ['ignore unknown question'], @@ -830,7 +830,7 @@ public function testNewSubmission_answers() { } break; case 2: - if (!in_array($answer->getText(), ['other answer', 'test id 2'])) { + if (!in_array($answer->getText(), ['other answer ' . Constants::QUESTION_EXTRASETTINGS_OTHER_PREFIX, 'test id 2'], true)) { return false; } break;