From 2487a6fb7ff5603c6948c14d2d0f0602e45b7d8e Mon Sep 17 00:00:00 2001 From: Savetheinternet Date: Tue, 5 Apr 2011 15:57:01 +1000 Subject: [PATCH] Time limit before you are able to delete your post --- inc/config.php | 6 +++++- post.php | 8 ++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/inc/config.php b/inc/config.php index d4a62d40..9e26094a 100644 --- a/inc/config.php +++ b/inc/config.php @@ -113,6 +113,7 @@ $config['error']['maxsize'] = 'The file was too big.'; $config['error']['invalidzip'] = 'Invalid archive!'; $config['error']['fileexists'] = 'That file already exists!'; + $config['error']['delete_too_soon'] = 'You\'ll have to wait another %s before deleting that.'; // Moderator errors $config['error']['invalid'] = 'Invalid username and/or password.'; @@ -131,7 +132,10 @@ // How many reports you can create in the same request. $config['report_limit'] = 2; - // Reply limit (deletes thread when this is reached) + // How long before you can delete a post after posting, in seconds. + $config['delete_time'] = 60; + + // Reply limit (stops bumping thread when this is reached) $config['reply_limit'] = 250; // Strip superfluous new lines at the end of a post diff --git a/post.php b/post.php index 7c62b8da..faa4cecc 100644 --- a/post.php +++ b/post.php @@ -52,14 +52,18 @@ error($config['error']['nodelete']); foreach($delete as &$id) { - $query = prepare(sprintf("SELECT `password` FROM `posts_%s` WHERE `id` = :id", $board['uri'])); + $query = prepare(sprintf("SELECT `time`,`password` FROM `posts_%s` WHERE `id` = :id", $board['uri'])); $query->bindValue(':id', $id, PDO::PARAM_INT); $query->execute() or error(db_error($query)); if($post = $query->fetch()) { if(!empty($password) && $post['password'] != $password) error($config['error']['invalidpassword']); - + + if($post['time'] >= time() - $config['delete_time']) { + error(sprintf($config['error']['delete_too_soon'], until($post['time'] + $config['delete_time']))); + } + if(isset($_POST['file'])) { // Delete just the file deleteFile($id);