summaryrefslogtreecommitdiff
path: root/inc/mod.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/mod.php')
-rw-r--r--inc/mod.php22
1 files changed, 15 insertions, 7 deletions
diff --git a/inc/mod.php b/inc/mod.php
index c73b72f0..1058cca8 100644
--- a/inc/mod.php
+++ b/inc/mod.php
@@ -153,14 +153,22 @@
$post = $query->fetch();
- // Delete thumbnail
- @unlink($board['dir'] . DIR_THUMB . $post['thumb']);
-
- // Delete file
- @unlink($board['dir'] . DIR_IMG . $post['file']);
-
+ $query = prepare(sprintf("UPDATE `posts_%s` SET `thumb` = NULL, `thumbwidth` = NULL, `thumbheight` = NULL, `filewidth` = NULL, `fileheight` = NULL, `filesize` = NULL, `filename` = NULL, `filehash` = NULL, `file` = :file WHERE `id` = :id OR `thread` = :id", $board['uri']));
+ if($post['file'] == 'deleted') {
+ // Already deleted; remove file fully
+ $query->bindValue(':file', null, PDO::PARAM_NULL);
+ } else {
+ // Delete thumbnail
+ @unlink($board['dir'] . DIR_THUMB . $post['thumb']);
+
+ // Delete file
+ @unlink($board['dir'] . DIR_IMG . $post['file']);
+
+ // Set file to 'deleted'
+ $query->bindValue(':file', 'deleted', PDO::PARAM_INT);
+ }
// Update database
- $query = prepare(sprintf("UPDATE `posts_%s` SET `thumb` = NULL, `thumbwidth` = NULL, `thumbheight` = NULL, `filewidth` = NULL, `fileheight` = NULL, `filesize` = NULL, `filename` = NULL, `filehash` = NULL, `file` = 'deleted' WHERE `id` = :id OR `thread` = :id", $board['uri']));
+
$query->bindValue(':id', $id, PDO::PARAM_INT);
$query->execute() or error(db_error($query));