Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.sf.l2j.gameserver.eola.cb.extra;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileWriter;
- import java.util.StringTokenizer;
- import net.sf.l2j.gameserver.cache.HtmCache;
- import net.sf.l2j.gameserver.data.xml.AdminData;
- import net.sf.l2j.gameserver.eola.cb.BaseBBSManager;
- import net.sf.l2j.gameserver.model.actor.instance.Player;
- public class ReportBBSManager extends BaseBBSManager
- {
- protected ReportBBSManager()
- {
- }
- @Override
- public void parseCmd(String command, Player player)
- {
- if (command.equals("_bbsreport"))
- showContent(player);
- else if (command.startsWith("_bbsreport"))
- {
- StringTokenizer st = new StringTokenizer(command);
- st.nextToken();
- String type = null;
- String description = "";
- try
- {
- type = st.nextToken();
- while (st.hasMoreTokens())
- {
- description += st.nextToken() + " ";
- }
- if (description.equals(""))
- {
- player.sendMessage("Insert the description of your report first.");
- return;
- }
- else if (description.length() >= 150)
- {
- player.sendMessage("The current description length is " + description.length() + ". Maximum length is 150!");
- }
- String name = "data/html/CommunityBoard/report/reports" + player.getName() + ".txt";
- File file = new File(name);
- final boolean exist = file.createNewFile();
- if (!exist)
- {
- player.sendMessage("You have already submit a report, staff member must confirm it first.");
- return;
- }
- try (BufferedWriter bw = new BufferedWriter(new FileWriter(name)))
- {
- bw.write("Report:");
- bw.newLine();
- bw.write("- - - - - - - - - - - - - - - - - - - -");
- bw.newLine();
- bw.write("Account Name: " + player.getAccountName());
- bw.newLine();
- bw.write("Account IP: " + player.getClient().getConnection().getInetAddress().getHostAddress());
- bw.newLine();
- bw.write("- - - - - - - - - - - - - - - - - - - -");
- bw.newLine();
- bw.write("Name: " + player.getName());
- bw.newLine();
- bw.write("Level: " + player.getLevel());
- bw.newLine();
- bw.write("Class: " + player.getTemplate().getClassName());
- bw.newLine();
- bw.write("- - - - - - - - - - - - - - - - - - - -");
- bw.newLine();
- bw.write("Type: " + type);
- bw.newLine();
- bw.write("Description: " + description);
- bw.close();
- }
- separateAndSend(HtmCache.getInstance().getHtm(CB_PATH + "report/successfully.htm", player), player);
- for (Player gm : AdminData.getInstance().getAllGms(true))
- gm.sendMessage("ATTENTION: " + player.getName() + " just submitted a report!");
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- else
- super.parseCmd(command, player);
- }
- @Override
- protected String getFolder()
- {
- return "report/";
- }
- private static void showContent(Player player)
- {
- String content = HtmCache.getInstance().getHtm(CB_PATH + "report/report.htm", player);
- separateAndSend(content, player);
- }
- public static ReportBBSManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
- private static class SingletonHolder
- {
- protected static final ReportBBSManager INSTANCE = new ReportBBSManager();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement