From cb38bcd270ae4735b164fdf95a051031dc57fea3 Mon Sep 17 00:00:00 2001 From: P0nk Date: Tue, 27 Dec 2022 13:35:56 +0100 Subject: [PATCH 1/2] Fix wrong timestamp format when saving report --- .../java/net/server/channel/handlers/ReportHandler.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/server/channel/handlers/ReportHandler.java b/src/main/java/net/server/channel/handlers/ReportHandler.java index feb34d1849..e822c99f17 100644 --- a/src/main/java/net/server/channel/handlers/ReportHandler.java +++ b/src/main/java/net/server/channel/handlers/ReportHandler.java @@ -32,7 +32,8 @@ import tools.PacketCreator; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; -import java.time.OffsetDateTime; +import java.sql.Timestamp; +import java.time.Instant; /* * @@ -40,7 +41,7 @@ import java.time.OffsetDateTime; */ public final class ReportHandler extends AbstractPacketHandler { public final void handlePacket(InPacket p, Client c) { - int type = p.readByte(); //01 = Conversation claim 00 = illegal program + int type = p.readByte(); //00 = Illegal program claim, 01 = Conversation claim String victim = p.readString(); int reason = p.readByte(); String description = p.readString(); @@ -83,7 +84,7 @@ public final class ReportHandler extends AbstractPacketHandler { public void addReport(int reporterid, int victimid, int reason, String description, String chatlog) { try (Connection con = DatabaseConnection.getConnection(); PreparedStatement ps = con.prepareStatement("INSERT INTO reports (`reporttime`, `reporterid`, `victimid`, `reason`, `chatlog`, `description`) VALUES (?, ?, ?, ?, ?, ?)")) { - ps.setString(1, OffsetDateTime.now().toString()); + ps.setTimestamp(1, Timestamp.from(Instant.now())); ps.setInt(2, reporterid); ps.setInt(3, victimid); ps.setInt(4, reason); From 14d80dc2f3df94c949d93751acc74682b2ebf716 Mon Sep 17 00:00:00 2001 From: P0nk Date: Tue, 27 Dec 2022 13:44:46 +0100 Subject: [PATCH 2/2] Fix saving "Illegal program claim" report No chatlog is provided in the packet for this type --- .../java/net/server/channel/handlers/ReportHandler.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/server/channel/handlers/ReportHandler.java b/src/main/java/net/server/channel/handlers/ReportHandler.java index e822c99f17..b92e08c7c9 100644 --- a/src/main/java/net/server/channel/handlers/ReportHandler.java +++ b/src/main/java/net/server/channel/handlers/ReportHandler.java @@ -59,7 +59,7 @@ public final class ReportHandler extends AbstractPacketHandler { return; } Server.getInstance().broadcastGMMessage(c.getWorld(), PacketCreator.serverNotice(6, victim + " was reported for: " + description)); - addReport(c.getPlayer().getId(), Character.getIdByName(victim), 0, description, null); + addReport(c.getPlayer().getId(), Character.getIdByName(victim), 0, description, ""); } else if (type == 1) { String chatlog = p.readString(); if (chatlog == null) { @@ -81,7 +81,7 @@ public final class ReportHandler extends AbstractPacketHandler { } } - public void addReport(int reporterid, int victimid, int reason, String description, String chatlog) { + private void addReport(int reporterid, int victimid, int reason, String description, String chatlog) { try (Connection con = DatabaseConnection.getConnection(); PreparedStatement ps = con.prepareStatement("INSERT INTO reports (`reporttime`, `reporterid`, `victimid`, `reason`, `chatlog`, `description`) VALUES (?, ?, ?, ?, ?, ?)")) { ps.setTimestamp(1, Timestamp.from(Instant.now())); @@ -90,8 +90,7 @@ public final class ReportHandler extends AbstractPacketHandler { ps.setInt(4, reason); ps.setString(5, chatlog); ps.setString(6, description); - ps.addBatch(); - ps.executeBatch(); + ps.executeUpdate(); } catch (SQLException ex) { ex.printStackTrace(); }