From 3c3e510c2eca8ae6dd0283ffdeb0de2ce645714b Mon Sep 17 00:00:00 2001
From: Kijin Sung
Date: Tue, 9 Sep 2025 15:24:54 +0900
Subject: [PATCH 01/19] Fix double escaping of document and comment summary
---
modules/comment/comment.item.php | 15 ++++++++++-----
modules/document/document.item.php | 31 +++++++++++++++++++-----------
2 files changed, 30 insertions(+), 16 deletions(-)
diff --git a/modules/comment/comment.item.php b/modules/comment/comment.item.php
index a372bc029..30508fc69 100644
--- a/modules/comment/comment.item.php
+++ b/modules/comment/comment.item.php
@@ -466,10 +466,12 @@ class CommentItem extends BaseObject
$content = trim(utf8_normalize_spaces(html_entity_decode(strip_tags($content))));
if($strlen)
{
- $content = cut_str($content, $strlen, '...');
+ $content = escape(cut_str($content, $strlen, '...'), false);
+ }
+ else
+ {
+ $content = escape($content);
}
-
- $content = escape($content);
if ($content === '')
{
@@ -511,9 +513,12 @@ class CommentItem extends BaseObject
$content = trim(utf8_normalize_spaces(html_entity_decode(strip_tags($content))));
if($strlen)
{
- $content = cut_str($content, $strlen, '...');
+ return escape(cut_str($content, $strlen, '...'), false);
+ }
+ else
+ {
+ return escape($content);
}
- return escape($content);
}
/**
diff --git a/modules/document/document.item.php b/modules/document/document.item.php
index dcf90e8d7..b183c43a2 100644
--- a/modules/document/document.item.php
+++ b/modules/document/document.item.php
@@ -634,10 +634,12 @@ class DocumentItem extends BaseObject
$content = trim(utf8_normalize_spaces(html_entity_decode(strip_tags($content))));
if($strlen)
{
- $content = cut_str($content, $strlen, '...');
+ return escape(cut_str($content, $strlen, '...'), false);
+ }
+ else
+ {
+ return escape($content);
}
-
- return escape($content);
}
function getContentText($strlen = 0)
@@ -653,17 +655,22 @@ class DocumentItem extends BaseObject
}
$content = preg_replace('!(
||
get('content'));
- $content = preg_replace_callback('/<(object|param|embed)[^>]*/is', array($this, '_checkAllowScriptAccess'), $content);
- $content = preg_replace_callback('/