From 890b541191286a7ce0d62df86fef37cf86abb1a8 Mon Sep 17 00:00:00 2001 From: Michael Save Date: Mon, 7 May 2012 18:22:20 +1000 Subject: custom capcode permissions --- post.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'post.php') diff --git a/post.php b/post.php index b4a256a5..11465a6e 100644 --- a/post.php +++ b/post.php @@ -310,13 +310,23 @@ if (isset($_POST['delete'])) { ))); } - if ($mod && $mod['type'] >= MOD && preg_match('/^((.+) )?## (.+)$/', $post['name'], $match)) { - if (($mod['type'] == MOD && $match[3] == 'Mod') || $mod['type'] >= ADMIN) { - $post['capcode'] = utf8tohtml($match[3]); - $post['name'] = $match[2] != '' ? $match[2] : $config['anonymous']; + + $post['capcode'] = false; + + if ($mod && preg_match('/^((.+) )?## (.+)$/', $post['name'], $matches)) { + $name = $matches[2] != '' ? $matches[2] : $config['anonymous']; + $cap = $matches[3]; + + if (isset($config['mod']['capcode'][$mod['type']])) { + if ( $config['mod']['capcode'][$mod['type']] === true || + (is_array($config['mod']['capcode'][$mod['type']]) && + in_array($cap, $config['mod']['capcode'][$mod['type']]) + )) { + + $post['capcode'] = utf8tohtml($cap); + $post['name'] = $name; + } } - } else { - $post['capcode'] = false; } $trip = generate_tripcode($post['name']); -- cgit v1.3