From d83c43d9c9bc5cd12c9c8b3df6d249fad5b753a8 Mon Sep 17 00:00:00 2001 From: Jonas Kohl Date: Sat, 12 Oct 2024 20:10:25 +0200 Subject: Remove spoilers from search results and profiles --- src/application/views/view_search_results.php | 2 +- src/application/views/view_user.php | 2 +- src/index.php | 12 ++++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/application/views/view_search_results.php b/src/application/views/view_search_results.php index 93e36f7..660284d 100644 --- a/src/application/views/view_search_results.php +++ b/src/application/views/view_search_results.php @@ -16,7 +16,7 @@ use mystic\forum\utils\StringUtils; - content)), 100))) ?>
+ content) ?>
'' . htmlentities($users[$post->authorId]?->displayName ?? __("unknown")) . '', "post_date" => '' . htmlentities($post->postDate->format("c")) . '', diff --git a/src/application/views/view_user.php b/src/application/views/view_user.php index c95b557..e7c9753 100644 --- a/src/application/views/view_user.php +++ b/src/application/views/view_user.php @@ -56,7 +56,7 @@ $emailPending = $isOwnProfile && $user->pendingEmail !== null; - content)), 100))) ?>
+ content) ?>
'' . htmlentities($post->postDate->format("c")) . '', "topic" => '' . diff --git a/src/index.php b/src/index.php index 156563f..11192e9 100644 --- a/src/index.php +++ b/src/index.php @@ -9,10 +9,11 @@ use mystic\forum\orm\Topic; use mystic\forum\orm\TopicLogMessage; use mystic\forum\orm\User; use mystic\forum\utils\RequestUtils; +use mystic\forum\utils\StringUtils; header_remove("X-Powered-By"); -const MYSTICBB_VERSION = "0.5.1"; +const MYSTICBB_VERSION = "0.5.2"; if (($_SERVER["HTTP_USER_AGENT"] ?? "") === "") { http_response_code(403); @@ -175,7 +176,7 @@ function expandTags(string $contents): string { "s" => ["", "" ], "^" => ["", "" ], "_" => ["", "" ], - "spoiler" => [ "" ], + "spoiler" => [ "" ], ][$m[1]] ?? $m[1]; if (preg_match(TAGS_REGEX, $inner)) $inner = expandTags($inner); @@ -186,6 +187,13 @@ function expandTags(string $contents): string { }, $contents); } +function renderPostSummary(string $contents): string { + $contents = renderPost($contents); + // remove spoiler contents so they don't appear in summaries + $contents = preg_replace('/(.*?)/s', '[ ' . __("Spoiler") . ' ]', $contents); + return htmlentities(html_entity_decode(StringUtils::truncate(strip_tags($contents), 100))); +} + function renderPost(string $contents): string { $contents = preg_replace('~\R~u', "\n", $contents); $contents = trim($contents); -- cgit v1.2.3