diff options
| author | ilotterytea <iltsu@alright.party> | 2025-06-17 22:30:05 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-06-17 22:30:05 +0500 |
| commit | 32471030d432eb8d3cef4af8bb00790f3b9f089c (patch) | |
| tree | 21ff3b736e55bbf196f4579f071a5e460c8edb35 /public/delete.php | |
| parent | 0a6f00749bb0720664409e9c4eca82928e6773c7 (diff) | |
feat: we are using SQL databases now
Diffstat (limited to 'public/delete.php')
| -rw-r--r-- | public/delete.php | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/public/delete.php b/public/delete.php index 2ca1d73..bb91640 100644 --- a/public/delete.php +++ b/public/delete.php @@ -40,7 +40,13 @@ if (!preg_match('/^[a-zA-Z0-9_-]+$/', $file_id) || !preg_match('/^[a-zA-Z0-9]+$/ exit(); } -if (!is_file(FILE_UPLOAD_DIRECTORY . "/{$file_id}.{$file_ext}")) { +$db = new PDO(DB_URL, DB_USER, DB_PASS); +$stmt = $db->prepare('SELECT password FROM files WHERE id = ? AND extension = ?'); +$stmt->execute([$file_id, $file_ext]); + +$file = $stmt->fetch(PDO::FETCH_ASSOC) ?: null; + +if (!$file) { generate_alert( "/", "File $file_id not found", @@ -49,18 +55,7 @@ if (!is_file(FILE_UPLOAD_DIRECTORY . "/{$file_id}.{$file_ext}")) { exit(); } -if (!is_file(FILE_METADATA_DIRECTORY . "/{$file_id}.metadata.json")) { - generate_alert( - "/$file_id.$file_ext", - "File metadata $file_id not found", - 404 - ); - exit(); -} - -$metadata = json_decode(file_get_contents(FILE_METADATA_DIRECTORY . "/{$file_id}.metadata.json"), true); - -if (!array_key_exists('password', $metadata)) { +if (!isset($file['password'])) { generate_alert( "/$file_id.$file_ext", "File $file_id does not have a password. File cannot be deleted!", @@ -78,7 +73,7 @@ if (!isset($_SESSION['is_moderator']) && !isset($password)) { exit(); } -if (!isset($_SESSION['is_moderator']) && !password_verify($password, $metadata['password'])) { +if (!isset($_SESSION['is_moderator']) && !password_verify($password, $file['password'])) { generate_alert( "/$file_id.$file_ext", 'Unauthorized', @@ -87,7 +82,7 @@ if (!isset($_SESSION['is_moderator']) && !password_verify($password, $metadata[' exit(); } -if (!delete_file($file_id, $file_ext)) { +if (!delete_file($file_id, $file_ext, $db)) { generate_alert( "/$file_id.$file_ext", 'Failed to remove files. Try again later', |
