summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Walker <mike@barrucadu.co.uk>2016-02-11 15:21:54 +0000
committerMichael Walker <mike@barrucadu.co.uk>2016-02-11 15:21:54 +0000
commit9f00630b408d4ce032637c5488aeedde90f5e693 (patch)
tree74a9deddd85df67a10ad449efe2c18bf093f9165
parentcc62a579bc59ed3366948a622e81f5f9c6cafdc3 (diff)
Display banned post contents if reason does not contain cp
-rw-r--r--inc/bans.php10
-rw-r--r--templates/themes/public_banlist/theme.php2
2 files changed, 10 insertions, 2 deletions
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;