diff options
| author | Savetheinternet <savetheinternet@n0v4.com> | 2011-01-15 15:37:39 +1100 |
|---|---|---|
| committer | Savetheinternet <savetheinternet@n0v4.com> | 2011-01-15 15:37:39 +1100 |
| commit | f47cccab019f3e7882a188c7d09e3070eb8f82ce (patch) | |
| tree | b197c10403fb290aa688fa5d0c3fa190c0049fba /mod.php | |
| parent | c2727787aba5cf837af747cfb8b5c61c750c1581 (diff) | |
fixed ban addition page
Diffstat (limited to 'mod.php')
| -rw-r--r-- | mod.php | 50 |
1 files changed, 27 insertions, 23 deletions
@@ -348,26 +348,8 @@ header('Location: ' . $_SERVER['HTTP_REFERER'], true, REDIRECT_HTTP); else header('Location: ?/' . sprintf(BOARD_PATH, $boardName) . FILE_INDEX, true, REDIRECT_HTTP); - } elseif(preg_match('/^\/' . $regex['board'] . 'ban(&delete)\/(\d+)$/', $query, $matches)) { - if($mod['type'] < MOD_DELETE) error(ERROR_NOACCESS); - // Ban by post - - $boardName = $matches[1]; - $delete = isset($matches[2]) && $matches[2] == '&delete'; - $post = $matches[3]; - // Open board - if(!openBoard($boardName)) - error(ERROR_NOBOARD); - - $query = prepare(sprintf("SELECT `ip`,`id` FROM `posts_%s` WHERE `id` = :id LIMIT 1", $board['uri'])); - $query->bindValue(':id', $post, PDO::PARAM_INT); - $query->execute() or error(db_error($query)); - - if($query->rowCount() < 1) { - error(ERROR_INVALIDPOST); - } - - $post = $query->fetch(); + } elseif(preg_match('/^\/ban$/', $query)) { + // Ban page if(isset($_POST['new_ban'])) { if( !isset($_POST['ip']) || @@ -429,8 +411,10 @@ $query->execute() or error(db_error($query)); // Delete too - if($delete) - deletePost($post['id']); + if($mod['type'] >= MOD_DELETE && isset($_POST['delete']) && isset($_POST['board'])) { + openBoard($_POST['board']); + deletePost(round($_POST['delete'])); + } // Redirect if(isset($_POST['continue'])) @@ -438,8 +422,28 @@ else header('Location: ?/' . sprintf(BOARD_PATH, $boardName) . FILE_INDEX, true, REDIRECT_HTTP); } + } elseif(preg_match('/^\/' . $regex['board'] . 'ban(&delete)?\/(\d+)$/', $query, $matches)) { + if($mod['type'] < MOD_DELETE) error(ERROR_NOACCESS); + // Ban by post + + $boardName = $matches[1]; + $delete = isset($matches[2]) && $matches[2] == '&delete'; + $post = $matches[3]; + // Open board + if(!openBoard($boardName)) + error(ERROR_NOBOARD); + + $query = prepare(sprintf("SELECT `ip`,`id` FROM `posts_%s` WHERE `id` = :id LIMIT 1", $board['uri'])); + $query->bindValue(':id', $post, PDO::PARAM_INT); + $query->execute() or error(db_error($query)); + + if($query->rowCount() < 1) { + error(ERROR_INVALIDPOST); + } + + $post = $query->fetch(); - $body = form_newBan($post['ip'], null, isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : false); + $body = form_newBan($post['ip'], null, isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : false, $delete ? $post['id'] : false, $delete ? $boardName : false); echo Element('page.html', Array( 'index'=>ROOT, |
