diff options
Diffstat (limited to 'src/index.php')
-rw-r--r-- | src/index.php | 12 |
1 files changed, 10 insertions, 2 deletions
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" => ["<del>", "</del>" ], "^" => ["<sup>", "</sup>" ], "_" => ["<sub>", "</sub>" ], - "spoiler" => [ "<div class=\"panel panel-default\"><div class=\"panel-heading\"><div class=\"panel-title\"><a role=\"button\" data-toggle=\"collapse\" href=\"#$randomId\"><i class=\"fa fa-eye\"></i> Spoiler</a></div></div><div id=\"$randomId\" class=\"panel-collapse collapse\"><div class=\"panel-body\">", "</div></div></div>" ], + "spoiler" => [ "<!--##SPOILER_START##--><div class=\"panel panel-default\"><div class=\"panel-heading\"><div class=\"panel-title\"><a role=\"button\" data-toggle=\"collapse\" href=\"#$randomId\"><i class=\"fa fa-eye\"></i> Spoiler</a></div></div><div id=\"$randomId\" class=\"panel-collapse collapse\"><div class=\"panel-body\">", "</div></div></div><!--##SPOILER_END##-->" ], ][$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('/<!--##SPOILER_START##-->(.*?)<!--##SPOILER_END##-->/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); |