summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSavetheinternet <savetheinternet@n0v4.com>2011-04-05 15:57:01 +1000
committerSavetheinternet <savetheinternet@n0v4.com>2011-04-05 15:57:01 +1000
commit2487a6fb7ff5603c6948c14d2d0f0602e45b7d8e (patch)
tree0bf76f127cf7fd7148fde45c4090af6a009817ff
parent2b68dd74fbde344d466d9235247996d8312fb3bc (diff)
Time limit before you are able to delete your post
-rw-r--r--inc/config.php6
-rw-r--r--post.php8
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 <a href="%s">already exists</a>!';
+ $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);