From c7f26b31c1c754f154fb4a8a83891742c236bcd8 Mon Sep 17 00:00:00 2001 From: 8chan Date: Mon, 16 Feb 2015 16:28:22 -0800 Subject: [PATCH] board_log function, ?/log:b:test --- inc/mod/pages.php | 27 +++++++++++++++++++++++++++ mod.php | 6 ++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/inc/mod/pages.php b/inc/mod/pages.php index 93e076f9..2bb0e52c 100644 --- a/inc/mod/pages.php +++ b/inc/mod/pages.php @@ -669,6 +669,33 @@ function mod_user_log($username, $page_no = 1) { mod_page(_('Moderation log'), 'mod/log.html', array('logs' => $logs, 'count' => $count, 'username' => $username)); } +function mod_board_log($board, $page_no = 1) { + global $config; + + if ($page_no < 1) + error($config['error']['404']); + + if (!hasPermission($config['mod']['modlog'])) + error($config['error']['noaccess']); + + $query = prepare("SELECT `username`, `mod`, `ip`, `board`, `time`, `text` FROM ``modlogs`` LEFT JOIN ``mods`` ON `mod` = ``mods``.`id` WHERE `board` = :board ORDER BY `time` DESC LIMIT :offset, :limit"); + $query->bindValue(':board', $board); + $query->bindValue(':limit', $config['mod']['modlog_page'], PDO::PARAM_INT); + $query->bindValue(':offset', ($page_no - 1) * $config['mod']['modlog_page'], PDO::PARAM_INT); + $query->execute() or error(db_error($query)); + $logs = $query->fetchAll(PDO::FETCH_ASSOC); + + if (empty($logs) && $page_no > 1) + error($config['error']['404']); + + $query = prepare("SELECT COUNT(*) FROM ``modlogs`` LEFT JOIN ``mods`` ON `mod` = ``mods``.`id` WHERE `board` = :board"); + $query->bindValue(':board', $board); + $query->execute() or error(db_error($query)); + $count = $query->fetchColumn(); + + mod_page(_('Moderation log'), 'mod/log.html', array('logs' => $logs, 'count' => $count, 'board' => $board)); +} + function mod_view_board($boardName, $page_no = 1) { global $config, $mod; diff --git a/mod.php b/mod.php index a8bd9b77..53694fcc 100644 --- a/mod.php +++ b/mod.php @@ -29,8 +29,10 @@ $pages = array( '/log' => 'log', // modlog '/log/(\d+)' => 'log', // modlog - '/log:([^/]+)' => 'user_log', // modlog - '/log:([^/]+)/(\d+)' => 'user_log', // modlog + '/log:([^/:]+)' => 'user_log', // modlog + '/log:([^/:]+)/(\d+)' => 'user_log', // modlog + '/log:b:([^/]+)' => 'board_log', // modlog + '/log:b:([^/]+)/(\d+)' => 'board_log', // modlog '/edit_news' => 'secure_POST news', // view news '/edit_news/(\d+)' => 'secure_POST news', // view news '/edit_news/delete/(\d+)' => 'secure news_delete', // delete from news