From f352a7d9abe5c528dce224ce2a1c0c592a17aede Mon Sep 17 00:00:00 2001 From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> Date: Tue, 12 Sep 2023 15:49:07 +0000 Subject: [PATCH] use purifyHtml() as in the Text block, fixes #3176 Closes #3176 Merge request studip/studip!2153 --- .../BlockTypes/BiographyAchievements.php | 15 +++++++++++++++ .../Courseware/BlockTypes/BiographyGoals.php | 15 +++++++++++++++ .../CoursewareBiographyAchievementsBlock.vue | 2 +- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/lib/models/Courseware/BlockTypes/BiographyAchievements.php b/lib/models/Courseware/BlockTypes/BiographyAchievements.php index 7c7c38e150f..933f84f76fb 100644 --- a/lib/models/Courseware/BlockTypes/BiographyAchievements.php +++ b/lib/models/Courseware/BlockTypes/BiographyAchievements.php @@ -42,6 +42,21 @@ class BiographyAchievements extends BlockType ]; } + public function getPayload() + { + $payload = parent::getPayload(); + $payload['description'] = \Studip\Markup::purifyHtml(\Studip\Markup::markAsHtml($payload['description'])); + + return $payload; + } + + public function setPayload($payload): void + { + $payload['description'] = \Studip\Markup::purifyHtml(\Studip\Markup::markAsHtml($payload['description'])); + + parent::setPayload($payload); + } + public static function getJsonSchema(): Schema { $schemaFile = __DIR__.'/BiographyAchievements.json'; diff --git a/lib/models/Courseware/BlockTypes/BiographyGoals.php b/lib/models/Courseware/BlockTypes/BiographyGoals.php index 7dc46384b5c..17c50fc871b 100644 --- a/lib/models/Courseware/BlockTypes/BiographyGoals.php +++ b/lib/models/Courseware/BlockTypes/BiographyGoals.php @@ -38,6 +38,21 @@ class BiographyGoals extends BlockType ]; } + public function getPayload() + { + $payload = parent::getPayload(); + $payload['description'] = \Studip\Markup::purifyHtml(\Studip\Markup::markAsHtml($payload['description'])); + + return $payload; + } + + public function setPayload($payload): void + { + $payload['description'] = \Studip\Markup::purifyHtml(\Studip\Markup::markAsHtml($payload['description'])); + + parent::setPayload($payload); + } + public static function getJsonSchema(): Schema { $schemaFile = __DIR__.'/BiographyGoals.json'; diff --git a/resources/vue/components/courseware/CoursewareBiographyAchievementsBlock.vue b/resources/vue/components/courseware/CoursewareBiographyAchievementsBlock.vue index e753fe6e328..e9ed83c1f77 100644 --- a/resources/vue/components/courseware/CoursewareBiographyAchievementsBlock.vue +++ b/resources/vue/components/courseware/CoursewareBiographyAchievementsBlock.vue @@ -27,7 +27,7 @@ <translate>Enddatum</translate>: {{ getReadableDate(currentData.end_date)}} </h4> <h4 v-show="hasParticipation"> - <translate>Beteiligung</translate>: <span v-html="currentData.role"></span> + <translate>Beteiligung</translate>: {{ currentData.role }} </h4> <div> <h4><translate>Beschreibung</translate>:</h4> -- GitLab