2018-07-06 15:30:00 +02:00
|
|
|
package com.eu.habbo.messages.outgoing.modtool;
|
|
|
|
|
|
|
|
import com.eu.habbo.Emulator;
|
2020-01-22 16:15:44 +01:00
|
|
|
import com.eu.habbo.habbohotel.modtool.ModToolSanctionItem;
|
|
|
|
import com.eu.habbo.habbohotel.modtool.ModToolSanctionLevelItem;
|
|
|
|
import com.eu.habbo.habbohotel.modtool.ModToolSanctions;
|
2018-07-06 15:30:00 +02:00
|
|
|
import com.eu.habbo.messages.ServerMessage;
|
|
|
|
import com.eu.habbo.messages.outgoing.MessageComposer;
|
|
|
|
import com.eu.habbo.messages.outgoing.Outgoing;
|
2020-01-22 16:15:44 +01:00
|
|
|
import gnu.trove.map.hash.THashMap;
|
2018-07-06 15:30:00 +02:00
|
|
|
|
|
|
|
import java.sql.ResultSet;
|
|
|
|
import java.sql.SQLException;
|
2020-01-22 16:15:44 +01:00
|
|
|
import java.util.ArrayList;
|
2018-07-06 15:30:00 +02:00
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
public class ModToolUserInfoComposer extends MessageComposer {
|
2019-03-18 02:22:00 +01:00
|
|
|
private final ResultSet set;
|
2018-07-06 15:30:00 +02:00
|
|
|
|
2019-05-26 20:14:53 +02:00
|
|
|
public ModToolUserInfoComposer(ResultSet set) {
|
2018-07-06 15:30:00 +02:00
|
|
|
this.set = set;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2019-05-26 20:14:53 +02:00
|
|
|
public ServerMessage compose() {
|
2018-07-06 15:30:00 +02:00
|
|
|
this.response.init(Outgoing.ModToolUserInfoComposer);
|
2019-05-26 20:14:53 +02:00
|
|
|
try {
|
2018-12-22 11:39:00 +01:00
|
|
|
this.response.appendInt(this.set.getInt("user_id"));
|
|
|
|
this.response.appendString(this.set.getString("username"));
|
|
|
|
this.response.appendString(this.set.getString("look"));
|
|
|
|
this.response.appendInt((Emulator.getIntUnixTimestamp() - this.set.getInt("account_created")) / 60);
|
|
|
|
this.response.appendInt((this.set.getInt("online") == 1 ? 0 : Emulator.getIntUnixTimestamp() - this.set.getInt("last_online")) / 60);
|
|
|
|
this.response.appendBoolean(this.set.getInt("online") == 1);
|
|
|
|
this.response.appendInt(this.set.getInt("cfh_send"));
|
|
|
|
this.response.appendInt(this.set.getInt("cfh_abusive"));
|
|
|
|
this.response.appendInt(this.set.getInt("cfh_warnings"));
|
|
|
|
this.response.appendInt(this.set.getInt("cfh_bans"));
|
|
|
|
this.response.appendInt(0); //Trading lock count
|
|
|
|
this.response.appendString(""); //Trading lock expiry timestamp
|
|
|
|
this.response.appendString(""); //Last Purchase Timestamp
|
|
|
|
this.response.appendInt(this.set.getInt("user_id")); //Personal Identification #
|
|
|
|
this.response.appendInt(0); //Number of bans
|
|
|
|
this.response.appendString(this.set.getString("mail"));
|
|
|
|
this.response.appendString("Rank (" + this.set.getInt("rank_id") + "): " + this.set.getString("rank_name")); //user_class_txt
|
|
|
|
|
2020-01-22 16:15:44 +01:00
|
|
|
ModToolSanctions modToolSanctions = Emulator.getGameEnvironment().getModToolSanctions();
|
|
|
|
|
|
|
|
if (Emulator.getConfig().getBoolean("hotel.sanctions.enabled")) {
|
|
|
|
THashMap<Integer, ArrayList<ModToolSanctionItem>> modToolSanctionItemsHashMap = Emulator.getGameEnvironment().getModToolSanctions().getSanctions(this.set.getInt("user_id"));
|
|
|
|
ArrayList<ModToolSanctionItem> modToolSanctionItems = modToolSanctionItemsHashMap.get(this.set.getInt("user_id"));
|
|
|
|
|
|
|
|
if (modToolSanctionItems != null && modToolSanctionItems.size() > 0) //has sanction
|
|
|
|
{
|
|
|
|
ModToolSanctionItem item = modToolSanctionItems.get(modToolSanctionItems.size() - 1);
|
|
|
|
ModToolSanctionLevelItem modToolSanctionLevelItem = modToolSanctions.getSanctionLevelItem(item.sanctionLevel);
|
|
|
|
|
|
|
|
this.response.appendString(modToolSanctions.getSanctionType(modToolSanctionLevelItem));
|
|
|
|
this.response.appendInt(31);
|
|
|
|
}
|
|
|
|
|
2018-12-22 11:39:00 +01:00
|
|
|
}
|
2020-01-22 16:15:44 +01:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
return this.response;
|
2019-05-26 20:14:53 +02:00
|
|
|
} catch (SQLException e) {
|
|
|
|
Emulator.getLogging().logSQLException(e);
|
2018-07-06 15:30:00 +02:00
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|