diff --git a/inc/bans.php b/inc/bans.php index dcca1366..e28aec0a 100644 --- a/inc/bans.php +++ b/inc/bans.php @@ -149,7 +149,7 @@ class Bans { return $ban_list; } - static public function stream_json($out = false, $filter_ips = false, $filter_staff = false, $board_access = false, $hide_message = false) { + static public function stream_json($out = false, $filter_ips = false, $filter_staff = false, $board_access = false, $hide_regexes = []) { $query = query("SELECT ``bans``.*, `username` FROM ``bans`` LEFT JOIN ``mods`` ON ``mods``.`id` = `creator` ORDER BY `created` DESC") or error(db_error()); @@ -164,6 +164,14 @@ class Bans { foreach ($bans as &$ban) { $ban['mask'] = self::range_to_string(array($ban['ipstart'], $ban['ipend'])); + $hide_message = false; + foreach ($hide_regexes as $regex) { + if(preg_match($regex, $ban['reason'])) { + $hide_message = true; + break; + } + } + if ($ban['post'] && !$hide_message) { $post = json_decode($ban['post']); $ban['message'] = $post->body; diff --git a/templates/themes/public_banlist/theme.php b/templates/themes/public_banlist/theme.php index 93b78677..c9f7e6f0 100644 --- a/templates/themes/public_banlist/theme.php +++ b/templates/themes/public_banlist/theme.php @@ -25,7 +25,7 @@ public static function gen_json($settings) { ob_start(); - Bans::stream_json(false, true, true, array(), true); + Bans::stream_json(false, true, true, array(), array("/\bcp\b/i")); $out = ob_get_contents(); ob_end_clean(); return $out;