Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 KB | None | 0 0
  1. package net.sf.l2j.gameserver.eola.cb.extra;
  2.  
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileWriter;
  6. import java.util.StringTokenizer;
  7.  
  8. import net.sf.l2j.gameserver.cache.HtmCache;
  9. import net.sf.l2j.gameserver.data.xml.AdminData;
  10. import net.sf.l2j.gameserver.eola.cb.BaseBBSManager;
  11. import net.sf.l2j.gameserver.eola.eventengine.PlayerData;
  12. import net.sf.l2j.gameserver.model.actor.instance.Player;
  13.  
  14.  
  15. public class ReportBBSManager extends BaseBBSManager
  16. {
  17. protected ReportBBSManager()
  18. {
  19. }
  20.  
  21. @Override
  22. public void parseCmd(String command, Player player)
  23. {
  24. if (command.equals("_bbsreport"))
  25. showContent(player);
  26. else if (command.startsWith("_bbsreport"))
  27. {
  28. StringTokenizer st = new StringTokenizer(command);
  29. st.nextToken();
  30.  
  31. String type = null;
  32. String description = "";
  33.  
  34. try
  35. {
  36. type = st.nextToken();
  37.  
  38. while (st.hasMoreTokens())
  39. {
  40. description += st.nextToken() + " ";
  41. }
  42. if (description.equals(""))
  43. {
  44. player.sendMessage("Insert the description of your report first.");
  45. return;
  46. }
  47. else if (description.length() >= 150)
  48. {
  49. player.sendMessage("The current description length is " + description.length() + ". Maximum length is 150!");
  50. }
  51.  
  52. String name = "data/CommunityBoard/report/" + player.getName() + ".txt";
  53. File file = new File(name);
  54.  
  55. final boolean exist = file.createNewFile();
  56. if (!exist)
  57. {
  58. player.sendMessage("You have already submit a report, staff member must confirm it first.");
  59. return;
  60. }
  61.  
  62. try (BufferedWriter bw = new BufferedWriter(new FileWriter(name)))
  63. {
  64. bw.write("Report:");
  65. bw.newLine();
  66. bw.write("- - - - - - - - - - - - - - - - - - - -");
  67. bw.newLine();
  68. bw.write("Account Name: " + player.getAccountName());
  69. bw.newLine();
  70. bw.write("Account IP: " + player.getClient().getConnection().getInetAddress().getHostAddress());
  71. bw.newLine();
  72. bw.write("- - - - - - - - - - - - - - - - - - - -");
  73. bw.newLine();
  74. bw.write("Name: " + player.getName());
  75. bw.newLine();
  76. bw.write("Level: " + player.getLevel());
  77. bw.newLine();
  78. bw.write("Class: " + player.getTemplate().getClassName());
  79. bw.newLine();
  80. bw.write("BaseClass: " + PlayerData.getInstance().getPlayerId());
  81. bw.newLine();
  82. bw.write("- - - - - - - - - - - - - - - - - - - -");
  83. bw.newLine();
  84. bw.write("Type: " + type);
  85. bw.newLine();
  86. bw.write("Description: " + description);
  87. bw.close();
  88. }
  89.  
  90. separateAndSend(HtmCache.getInstance().getHtm(CB_PATH + "report/successfully.htm", player), player);
  91.  
  92. for (Player gm : AdminData.getInstance().getAllGms(true))
  93. gm.sendMessage("ATTENTION: " + player.getName() + " just submitted a report!");
  94. }
  95. catch (Exception e)
  96. {
  97. e.printStackTrace();
  98. }
  99. }
  100. else
  101. super.parseCmd(command, player);
  102. }
  103.  
  104. @Override
  105. protected String getFolder()
  106. {
  107. return "report/";
  108. }
  109.  
  110. private static void showContent(Player player)
  111. {
  112. String content = HtmCache.getInstance().getHtm(CB_PATH + "report/report.htm", player);
  113. separateAndSend(content, player);
  114. }
  115.  
  116. public static ReportBBSManager getInstance()
  117. {
  118. return SingletonHolder.INSTANCE;
  119. }
  120.  
  121. private static class SingletonHolder
  122. {
  123. protected static final ReportBBSManager INSTANCE = new ReportBBSManager();
  124. }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement