Advertisement
Guest User

Untitled

a guest
Aug 6th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.00 KB | None | 0 0
  1. package flashcoms.v60.videochat;
  2.  
  3. import flashcoms.v60.common.FCBaseModule;
  4. import flashcoms.v60.common.utils.*;
  5. import flashcoms.v60.plugins.videochat.bot.FCVideochatBot;
  6. import flashcoms.v60.plugins.videochat.historyToDb.FCVideochatHistoryToDb;
  7. import flashcoms.v60.plugins.videochat.premoderation.FCVideochatPremoderation;
  8. import flashcoms.v60.plugins.videochat.roomsListUpdater.FCVideochatRoomsListUpdater;
  9. import flashcoms.v60.plugins.videochat.usersToDb.FCVideochatUsersToDb;
  10. import flashcoms.v60.plugins.videochat.voteToKick.FCVideochatVoteToKick;
  11. import flashcoms.v60.videochat.admin.FCAdmin;
  12. import flashcoms.v60.videochat.admin.FCAdminList;
  13. import flashcoms.v60.videochat.ban.FCBanIpRange;
  14. import flashcoms.v60.videochat.ban.FCBanList;
  15. import flashcoms.v60.videochat.ban.FCBanUser;
  16. import flashcoms.v60.videochat.room.FCRoom;
  17. import flashcoms.v60.videochat.room.FCRoomList;
  18. import flashcoms.v60.videochat.settings.FCFilter;
  19. import flashcoms.v60.videochat.settings.FCFilters;
  20. import flashcoms.v60.videochat.settings.FCProperties;
  21. import flashcoms.v60.videochat.settings.FCVideoPreset;
  22. import flashcoms.v60.videochat.settings.FCVideoPresets;
  23. import flashcoms.v60.videochat.user.FCUserBlock;
  24. import flashcoms.v60.videochat.user.FCUserFriend;
  25. import flashcoms.v60.videochat.user.FCVideochatUser;
  26. import flashcoms.v60.videochat.user.FCVideochatUserList;
  27. import java.util.*;
  28. import java.util.concurrent.CopyOnWriteArrayList;
  29.  
  30. // Referenced classes of package flashcoms.v60.videochat:
  31. // FCVideochatConfig, FCVideochatConfigReader, FCSendType
  32.  
  33. public class FCVideochatModule extends FCBaseModule
  34. {
  35.  
  36. public FCVideochatModule(FCVideochatConfig config)
  37. {
  38. pluginPremoderation = null;
  39. pluginVoteToKick = null;
  40. pluginHistoryToDb = null;
  41. pluginUsersToDb = null;
  42. pluginRoomsListUpdater = null;
  43. pluginRobot = null;
  44. setVersion("v.6.0.2");
  45. this.config = config;
  46. }
  47.  
  48. public void init()
  49. {
  50. userList = new FCVideochatUserList();
  51. roomList = new FCRoomList(this);
  52. adminList = new FCAdminList();
  53. banList = new FCBanList(this);
  54. properties = new FCProperties(config.getFileProperties());
  55. properties.init();
  56. videoPresets = new FCVideoPresets(properties, config.getFileVideoPresets());
  57. videoPresets.init();
  58. filters = new FCFilters(config.getFileFilters());
  59. filters.init();
  60. FCLog.write((new StringBuilder("write log : ")).append(config.isLogEnabled()).toString());
  61. FCLog.write((new StringBuilder("settings directory : ")).append(config.getDirectorySettings()).toString());
  62. FCLog.write((new StringBuilder("users lists directory : ")).append(config.getDirectoryUsersLists()).toString());
  63. FCLog.write((new StringBuilder("rooms file : ")).append(config.getFileRooms()).toString());
  64. FCLog.write((new StringBuilder("admins file : ")).append(config.getFileAdmins()).toString());
  65. FCLog.write((new StringBuilder("bans ip ranges file : ")).append(config.getFileBansIpRanges()).toString());
  66. FCLog.write((new StringBuilder("bans users file : ")).append(config.getFileBansUsers()).toString());
  67. FCLog.write((new StringBuilder("properties file : ")).append(config.getFileProperties()).toString());
  68. FCLog.write((new StringBuilder("video presets file : ")).append(config.getFileVideoPresets()).toString());
  69. FCLog.write((new StringBuilder("filters file : ")).append(config.getFileFilters()).toString());
  70. FCLog.write((new StringBuilder("plugin premoderation : ")).append(config.getPluginPremoderation()).toString());
  71. FCLog.write((new StringBuilder("plugin vote to kick : ")).append(config.getPluginVoteToKick()).toString());
  72. FCLog.write((new StringBuilder("plugin history to db : ")).append(config.getPluginHistoryToDb()).toString());
  73. FCLog.write((new StringBuilder("plugin users to db : ")).append(config.getPluginUsersToDb()).toString());
  74. FCLog.write((new StringBuilder("plugin rooms list updater : ")).append(config.getPluginRoomsListUpdater()).toString());
  75. FCLog.write((new StringBuilder("plugin robot : ")).append(config.getPluginBot()).toString());
  76. LinkedHashMap configRooms = null;
  77. LinkedHashMap configAdmins = null;
  78. LinkedHashMap configBanUsers = null;
  79. LinkedHashMap configBanIpRanges = null;
  80. configRooms = FCVideochatConfigReader.getConfigRooms(FCFile.loadFile(config.getFileRooms()));
  81. configAdmins = FCVideochatConfigReader.getConfigAdmins(FCFile.loadFile(config.getFileAdmins()));
  82. configBanUsers = FCVideochatConfigReader.getConfigBanUsers(FCFile.loadFile(config.getFileBansUsers()));
  83. configBanIpRanges = FCVideochatConfigReader.getConfigBanIpRanges(FCFile.loadFile(config.getFileBansIpRanges()));
  84. if(configRooms.isEmpty())
  85. {
  86. FCFile.saveFile(config.getFileRooms(), FCVideochatConfigReader.getXmlDefaultRooms());
  87. configRooms = FCVideochatConfigReader.getConfigRooms(FCFile.loadFile(config.getFileRooms()));
  88. }
  89. FCRoom one;
  90. for(Iterator iterator = configRooms.values().iterator(); iterator.hasNext(); roomList.addRoom(one))
  91. one = (FCRoom)iterator.next();
  92.  
  93. if(configAdmins.isEmpty())
  94. {
  95. FCFile.saveFile(config.getFileAdmins(), FCVideochatConfigReader.getXmlDefaultAdmins());
  96. FCVideochatConfigReader.getConfigAdmins(FCFile.loadFile(config.getFileAdmins()));
  97. }
  98. FCAdmin one;
  99. for(Iterator iterator1 = configAdmins.values().iterator(); iterator1.hasNext(); adminList.addAdmin(one))
  100. one = (FCAdmin)iterator1.next();
  101.  
  102. FCBanUser one;
  103. for(Iterator iterator2 = configBanUsers.values().iterator(); iterator2.hasNext(); banList.add(one))
  104. one = (FCBanUser)iterator2.next();
  105.  
  106. FCBanIpRange one;
  107. for(Iterator iterator3 = configBanIpRanges.values().iterator(); iterator3.hasNext(); banList.addIrb(one))
  108. one = (FCBanIpRange)iterator3.next();
  109.  
  110. if(config.getPluginPremoderation())
  111. pluginPremoderation = new FCVideochatPremoderation(this);
  112. if(config.getPluginVoteToKick())
  113. pluginVoteToKick = new FCVideochatVoteToKick(this);
  114. if(config.getPluginHistoryToDb())
  115. {
  116. pluginHistoryToDb = new FCVideochatHistoryToDb(this);
  117. pluginHistoryToDb.setHandler(config.getHistoryToDbHttpHandler());
  118. }
  119. if(config.getPluginUsersToDb())
  120. {
  121. pluginUsersToDb = new FCVideochatUsersToDb(this);
  122. pluginUsersToDb.setHandler(config.getUsersToDbHttpHandler());
  123. }
  124. if(config.getPluginRoomsListUpdater())
  125. {
  126. pluginRoomsListUpdater = new FCVideochatRoomsListUpdater(this);
  127. pluginRoomsListUpdater.setHandler(config.getRoomsListUpdaterHttpHandler());
  128. pluginRoomsListUpdater.Update();
  129. }
  130. if(config.getPluginBot())
  131. {
  132. pluginRobot = new FCVideochatBot(this);
  133. pluginRobot.initialize();
  134. pluginRobot.start();
  135. }
  136. if(pluginHistoryToDb instanceof FCVideochatHistoryToDb)
  137. {
  138. int historyDelay = 10000;
  139. int historyPeriod = 60000;
  140. Timer timer1 = new Timer();
  141. timer1.scheduleAtFixedRate(pluginHistoryToDb, historyDelay, historyPeriod);
  142. }
  143. }
  144.  
  145. public FCVideochatUser getUserByServerId(String id)
  146. {
  147. return (FCVideochatUser)userList.getByServerId(id);
  148. }
  149.  
  150. public FCRoomList getRoomList()
  151. {
  152. return roomList;
  153. }
  154.  
  155. public FCVideochatUserList getUserList()
  156. {
  157. return userList;
  158. }
  159.  
  160. public FCVideochatConfig getConfig()
  161. {
  162. return config;
  163. }
  164.  
  165. public FCVideochatPremoderation getPluginPremoderation()
  166. {
  167. return pluginPremoderation;
  168. }
  169.  
  170. public void saveRoomList()
  171. {
  172. FCFile.saveFile(config.getFileRooms(), roomList.getAll());
  173. }
  174.  
  175. public void saveAdminList()
  176. {
  177. FCFile.saveFile(config.getFileAdmins(), adminList.getAll());
  178. }
  179.  
  180. public void saveBansUsers()
  181. {
  182. FCFile.saveFile(config.getFileBansUsers(), banList.getInfoBansUsers());
  183. }
  184.  
  185. public void saveBansIpRanges()
  186. {
  187. FCFile.saveFile(config.getFileBansIpRanges(), banList.getInfoBansIpRanges());
  188. }
  189.  
  190. public void appConnect(FCVideochatUser user, LinkedHashMap params, String swfUrl)
  191. {
  192. userList.add(user);
  193. if(!user.watcher)
  194. user.onConnect();
  195. if(swfUrl.indexOf("minichat.swf") != -1)
  196. {
  197. String name = (new StringBuilder("minichat_")).append(FCDate.getTimestamp()).toString();
  198. user.isLoggedIn = true;
  199. user.lastQuery = FCDate.getTimestamp();
  200. user.gender = "male";
  201. user.name = name;
  202. user.isVisible = false;
  203. getRoomsListDetails(user);
  204. LinkedHashMap map;
  205. for(ListIterator i = roomList.getListIterator(); i.hasNext(); joinToRoom(user, map))
  206. {
  207. FCRoom one = (FCRoom)i.next();
  208. map = new LinkedHashMap();
  209. map.put("roomId", one.getId());
  210. map.put("isVisible", Boolean.valueOf(false));
  211. }
  212.  
  213. }
  214. }
  215.  
  216. public void appLeave(FCVideochatUser user)
  217. {
  218. String id = user.getId();
  219. String line = (new StringBuilder("videochat appLeave ")).append(id).toString();
  220. userList.remove(id);
  221. FCVideochatUser u2 = (FCVideochatUser)userList.get(id);
  222. if(u2 == null)
  223. line = (new StringBuilder(String.valueOf(line))).append(" removed").toString();
  224. }
  225.  
  226. public void login(FCVideochatUser user, LinkedHashMap params)
  227. {
  228. String crypt = FCMap.getStringFromHashMap("crypt", params);
  229. if(crypt.length() > 0)
  230. FCXorCrypter.decryptParams(crypt, params);
  231. String name = FCMap.getStringFromHashMap("name", params);
  232. String password = FCMap.getStringFromHashMap("password", params);
  233. String level = FCMap.getStringFromHashMap("level", params);
  234. String gender = FCMap.getStringFromHashMap("gender", params);
  235. String ip = user.ip;
  236. String photo = FCMap.getStringFromHashMap("photo", params);
  237. String photoModeImage = FCMap.getStringFromHashMap("photoModeImage", params);
  238. String avatar = FCMap.getStringFromHashMap("avatar", params);
  239. String color = FCMap.getStringFromHashMap("color", params);
  240. FCLog.write("Login: starting auth");
  241. FCLog.write((new StringBuilder(String.valueOf(name))).append("/").append(password).append("/").append(level).append("/").append(gender).append("/").append(ip).toString());
  242. int adminLevel = -1;
  243. String error = "";
  244. FCVideochatUser foundUser = (FCVideochatUser)userList.findUser(name);
  245. if(name.length() == 0)
  246. error = "LOGIN_INVALID";
  247. if(banList.check(name, ip))
  248. error = "LOGIN_BAN";
  249. else
  250. if(foundUser != null && !foundUser.getId().equals(user.getId()) && foundUser.name != null && !foundUser.name.equals(""))
  251. error = "LOGIN_EXISTS";
  252. adminLevel = adminList.checkIsAdmin(name);
  253. if(adminLevel != -1 && !password.equals("autologin") && !adminList.checkPassword(name, password))
  254. error = "LOGIN_INVALID";
  255. if(error.length() == 0)
  256. {
  257. user.isLoggedIn = true;
  258. user.level = level;
  259. if(adminLevel != -1)
  260. user.isAdmin = true;
  261. else
  262. user.isAdmin = false;
  263. user.adminLevel = adminLevel;
  264. user.name = name;
  265. user.password = password;
  266. user.gender = gender;
  267. user.loginTime = FCDate.getTimestamp();
  268. user.color = color;
  269. user.lastQuery = FCDate.getTimestamp();
  270. if(photo.length() > 0)
  271. user.photo = photo;
  272. if(photoModeImage.length() > 0)
  273. user.photoModeImage = photoModeImage;
  274. if(user.adminLevel == 0)
  275. user.avatar = (new StringBuilder("icon_admin_")).append(user.gender).toString();
  276. else
  277. if(user.adminLevel == 1)
  278. user.avatar = (new StringBuilder("icon_mod_")).append(user.gender).toString();
  279. else
  280. user.avatar = avatar;
  281. if(!level.equalsIgnoreCase("guest"))
  282. {
  283. String xmlFriends = FCFile.loadFile(config.getFriendListFile(user.name));
  284. LinkedHashMap friends = FCVideochatConfigReader.getFriendList(xmlFriends);
  285. FCUserFriend friend;
  286. for(Iterator iterator = friends.values().iterator(); iterator.hasNext(); user.addFriend(friend))
  287. friend = (FCUserFriend)iterator.next();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement