评论区硬切换实现

This commit is contained in:
2026-08-30 17:34:29 +08:00
parent ed914d2eec
commit b8ef4d81a4
32 changed files with 946 additions and 1008 deletions
+2 -20
View File
@@ -385,6 +385,7 @@ class PostDisplay {
'toolbar' => [
'code' => !isset($settings['comment_code']) || !empty($settings['comment_code']),
'image' => !isset($settings['comment_img']) || !empty($settings['comment_img']),
'link' => !empty($settings['comment_link']),
'upload_img' => function_exists('aksrt_user_can') && aksrt_user_can('upload_comment_image', get_current_user_id()),
],
'like_enabled' => !isset($settings['comment_like_s']) || !empty($settings['comment_like_s']),
@@ -397,31 +398,12 @@ class PostDisplay {
// Extended legacy-parity settings.
'close_comments' => !empty($settings['comment_close_comments']),
'hot_threshold' => max(1, min(999, (int) ($settings['comment_hot_threshold'] ?? 10))),
'quick_s' => !isset($settings['comment_quick_s']) || !empty($settings['comment_quick_s']),
'quick_phrases' => self::parse_comment_quick_phrases((string) ($settings['comment_quick_often'] ?? '')),
'user_url' => !empty($settings['comment_user_url_s']),
'city_s' => !isset($settings['comment_city_s']) || !empty($settings['comment_city_s']),
'city_type' => self::normalize_comment_city_type((string) ($settings['comment_city_type'] ?? 'province_city')),
];
}
/**
* @return array<int,string>
*/
private static function parse_comment_quick_phrases(string $raw): array {
if (trim($raw) === '') {
$raw = "不错,学习了\n感谢分享\n期待更新";
}
$lines = preg_split('/\r\n|\r|\n/', $raw) ?: [];
$out = [];
foreach ($lines as $line) {
$line = trim((string) $line);
if ($line !== '') {
$out[] = $line;
}
}
return array_values(array_unique($out));
}
private static function normalize_comment_city_type(string $type): string {
$type = sanitize_key($type);
// Map legacy legacy pro/city labels.