From 78548b5cd75ea7d6688d1945ff5449ea4f6bec68 Mon Sep 17 00:00:00 2001
From: Yassine Doghri <yassine@doghri.fr>
Date: Tue, 5 Apr 2022 12:08:56 +0000
Subject: [PATCH] fix: update form_textarea to prevent escaping value

replace form_markdown_textarea with form_textarea
---
 app/Helpers/form_helper.php                   | 12 ++++++------
 app/Views/Components/Forms/MarkdownEditor.php |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/app/Helpers/form_helper.php b/app/Helpers/form_helper.php
index bddd4365ae..66ad445578 100644
--- a/app/Helpers/form_helper.php
+++ b/app/Helpers/form_helper.php
@@ -2,14 +2,14 @@
 
 declare(strict_types=1);
 
-if (! function_exists('form_markdown_textarea')) {
+if (! function_exists('form_textarea')) {
     /**
-     * Textarea field
+     * Adapted textarea field from CI4 core: without value escaping.
      *
      * @param mixed $data
      * @param mixed $extra
      */
-    function form_markdown_textarea($data = '', string $value = '', $extra = ''): string
+    function form_textarea($data = '', string $value = '', $extra = ''): string
     {
         $defaults = [
             'name' => is_array($data) ? '' : $data,
@@ -38,9 +38,9 @@ if (! function_exists('form_markdown_textarea')) {
             unset($defaults['cols']);
         }
 
-        return '<textarea ' . rtrim(parse_form_attributes($data, $defaults)) . stringify_attributes($extra) . '>'
-                . $val
-                . "</textarea>\n";
+        return '<textarea ' . rtrim(parse_form_attributes($data, $defaults)) . stringify_attributes(
+            $extra
+        ) . '>' . $val . "</textarea>\n";
     }
 }
 
diff --git a/app/Views/Components/Forms/MarkdownEditor.php b/app/Views/Components/Forms/MarkdownEditor.php
index 617c05a221..6625050d10 100644
--- a/app/Views/Components/Forms/MarkdownEditor.php
+++ b/app/Views/Components/Forms/MarkdownEditor.php
@@ -23,7 +23,7 @@ class MarkdownEditor extends FormComponent
         $this->attributes['class'] = 'bg-elevated border-none focus:border-none focus:outline-none focus:ring-0 w-full h-full';
         $this->attributes['rows'] = 6;
 
-        $textarea = form_markdown_textarea($this->attributes, old($this->name, $this->value));
+        $textarea = form_textarea($this->attributes, old($this->name, $this->value));
         $markdownIcon = icon(
             'markdown',
             'mr-1 text-lg opacity-40'
-- 
GitLab