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", 404 ); exit(); } if (!isset($file['password'])) { generate_alert( "/$file_id.$file_ext", "File $file_id does not have a password. File cannot be deleted!", 400 ); exit(); } if (!isset($_SESSION['is_moderator']) && !isset($password)) { generate_alert( "/$file_id.$file_ext", "Field 'key' must be set!", 400 ); exit(); } if (!isset($_SESSION['is_moderator']) && !password_verify($password, $file['password'])) { generate_alert( "/$file_id.$file_ext", 'Unauthorized', 401 ); exit(); } if (!delete_file($file_id, $file_ext, $db)) { generate_alert( "/$file_id.$file_ext", 'Failed to remove files. Try again later', 500 ); exit(); } generate_alert( $_GET['r'] ?? '/', 'Successfully deleted the file', 200, [ 'id' => $file_id, 'extension' => $file_ext ] );