Remove linebreak processing
This approach would allow users to directly use HTML in their responses. We'd need to purify HTML on the way out to only allow <br>, otherwise, there'd be XSS concerns. Rendering as Markdown and letting users know they can use it is a better approach in the long run.
This commit is contained in:
parent
f83b3a6860
commit
5f6f6f693d
|
@ -36,20 +36,7 @@ use Illuminate\Support\Facades\Log;
|
|||
class ApplicationController extends Controller
|
||||
{
|
||||
|
||||
private function processOSLinebreaks(array $structuredResponses)
|
||||
{
|
||||
$processedResponses = $structuredResponses;
|
||||
foreach ($structuredResponses as $field)
|
||||
{
|
||||
foreach($field as $fieldKey => $fieldData)
|
||||
{
|
||||
$originalResponse = $fieldData['response'];
|
||||
$processedResponses['responses'][$fieldKey]['response'] = str_replace(["\r\n", "\r", "\n"], "<br/>", $$ }
|
||||
// We can't use nl2br because it preserves the line breaks and doesn't include all line breaks used by othe$ }
|
||||
|
||||
return $processedResponses;
|
||||
}
|
||||
|
||||
|
||||
private function canVote($votes): bool
|
||||
{
|
||||
$allvotes = collect([]);
|
||||
|
@ -79,7 +66,7 @@ class ApplicationController extends Controller
|
|||
[
|
||||
'application' => $application,
|
||||
'comments' => $application->comments,
|
||||
'structuredResponses' => $this->processOSLinebreaks(json_decode($application->response->responseData, true)),
|
||||
'structuredResponses' => json_decode($application->response->responseData, true),
|
||||
'formStructure' => $application->response->form,
|
||||
'vacancy' => $application->response->vacancy,
|
||||
'canVote' => $this->canVote($application->votes),
|
||||
|
|
Loading…
Reference in New Issue