diff --git a/Emulator/src/main/java/com/eu/habbo/messages/incoming/furnieditor/FurnidataAuditLog.java b/Emulator/src/main/java/com/eu/habbo/messages/incoming/furnieditor/FurnidataAuditLog.java new file mode 100644 index 00000000..105d6eb4 --- /dev/null +++ b/Emulator/src/main/java/com/eu/habbo/messages/incoming/furnieditor/FurnidataAuditLog.java @@ -0,0 +1,32 @@ +package com.eu.habbo.messages.incoming.furnieditor; + +import com.eu.habbo.Emulator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import java.sql.Connection; +import java.sql.PreparedStatement; + +public final class FurnidataAuditLog { + private static final Logger LOGGER = LoggerFactory.getLogger(FurnidataAuditLog.class); + private FurnidataAuditLog() {} + + public static void record(int userId, String classname, String action, + String oldName, String newName, String oldDesc, String newDesc) { + try (Connection c = Emulator.getDatabase().getDataSource().getConnection(); + PreparedStatement st = c.prepareStatement( + "INSERT INTO furnidata_edit_log (user_id, classname, action, old_name, new_name, old_description, new_description, timestamp) " + + "VALUES (?,?,?,?,?,?,?,?)")) { + st.setInt(1, userId); + st.setString(2, classname); + st.setString(3, action); + st.setString(4, oldName == null ? "" : oldName); + st.setString(5, newName == null ? "" : newName); + st.setString(6, oldDesc == null ? "" : oldDesc); + st.setString(7, newDesc == null ? "" : newDesc); + st.setInt(8, Emulator.getIntUnixTimestamp()); + st.executeUpdate(); + } catch (Exception e) { + LOGGER.error("Failed to write furnidata_edit_log", e); + } + } +}