Merge pull request #156 from P0nk/fix/saving-gm-report #patch

Fix saving in-game report
This commit is contained in:
Ponk
2022-12-27 14:12:47 +01:00
committed by GitHub

View File

@@ -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();
@@ -58,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) {
@@ -80,17 +81,16 @@ 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.setString(1, OffsetDateTime.now().toString());
ps.setTimestamp(1, Timestamp.from(Instant.now()));
ps.setInt(2, reporterid);
ps.setInt(3, victimid);
ps.setInt(4, reason);
ps.setString(5, chatlog);
ps.setString(6, description);
ps.addBatch();
ps.executeBatch();
ps.executeUpdate();
} catch (SQLException ex) {
ex.printStackTrace();
}