Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package flashcoms.v60.videochat;
- import flashcoms.v60.common.FCBaseModule;
- import flashcoms.v60.common.utils.*;
- import flashcoms.v60.plugins.videochat.bot.FCVideochatBot;
- import flashcoms.v60.plugins.videochat.historyToDb.FCVideochatHistoryToDb;
- import flashcoms.v60.plugins.videochat.premoderation.FCVideochatPremoderation;
- import flashcoms.v60.plugins.videochat.roomsListUpdater.FCVideochatRoomsListUpdater;
- import flashcoms.v60.plugins.videochat.usersToDb.FCVideochatUsersToDb;
- import flashcoms.v60.plugins.videochat.voteToKick.FCVideochatVoteToKick;
- import flashcoms.v60.videochat.admin.FCAdmin;
- import flashcoms.v60.videochat.admin.FCAdminList;
- import flashcoms.v60.videochat.ban.FCBanIpRange;
- import flashcoms.v60.videochat.ban.FCBanList;
- import flashcoms.v60.videochat.ban.FCBanUser;
- import flashcoms.v60.videochat.room.FCRoom;
- import flashcoms.v60.videochat.room.FCRoomList;
- import flashcoms.v60.videochat.settings.FCFilter;
- import flashcoms.v60.videochat.settings.FCFilters;
- import flashcoms.v60.videochat.settings.FCProperties;
- import flashcoms.v60.videochat.settings.FCVideoPreset;
- import flashcoms.v60.videochat.settings.FCVideoPresets;
- import flashcoms.v60.videochat.user.FCUserBlock;
- import flashcoms.v60.videochat.user.FCUserFriend;
- import flashcoms.v60.videochat.user.FCVideochatUser;
- import flashcoms.v60.videochat.user.FCVideochatUserList;
- import java.util.*;
- import java.util.concurrent.CopyOnWriteArrayList;
- // Referenced classes of package flashcoms.v60.videochat:
- // FCVideochatConfig, FCVideochatConfigReader, FCSendType
- public class FCVideochatModule extends FCBaseModule
- {
- public FCVideochatModule(FCVideochatConfig config)
- {
- pluginPremoderation = null;
- pluginVoteToKick = null;
- pluginHistoryToDb = null;
- pluginUsersToDb = null;
- pluginRoomsListUpdater = null;
- pluginRobot = null;
- setVersion("v.6.0.2");
- this.config = config;
- }
- public void init()
- {
- userList = new FCVideochatUserList();
- roomList = new FCRoomList(this);
- adminList = new FCAdminList();
- banList = new FCBanList(this);
- properties = new FCProperties(config.getFileProperties());
- properties.init();
- videoPresets = new FCVideoPresets(properties, config.getFileVideoPresets());
- videoPresets.init();
- filters = new FCFilters(config.getFileFilters());
- filters.init();
- FCLog.write((new StringBuilder("write log : ")).append(config.isLogEnabled()).toString());
- FCLog.write((new StringBuilder("settings directory : ")).append(config.getDirectorySettings()).toString());
- FCLog.write((new StringBuilder("users lists directory : ")).append(config.getDirectoryUsersLists()).toString());
- FCLog.write((new StringBuilder("rooms file : ")).append(config.getFileRooms()).toString());
- FCLog.write((new StringBuilder("admins file : ")).append(config.getFileAdmins()).toString());
- FCLog.write((new StringBuilder("bans ip ranges file : ")).append(config.getFileBansIpRanges()).toString());
- FCLog.write((new StringBuilder("bans users file : ")).append(config.getFileBansUsers()).toString());
- FCLog.write((new StringBuilder("properties file : ")).append(config.getFileProperties()).toString());
- FCLog.write((new StringBuilder("video presets file : ")).append(config.getFileVideoPresets()).toString());
- FCLog.write((new StringBuilder("filters file : ")).append(config.getFileFilters()).toString());
- FCLog.write((new StringBuilder("plugin premoderation : ")).append(config.getPluginPremoderation()).toString());
- FCLog.write((new StringBuilder("plugin vote to kick : ")).append(config.getPluginVoteToKick()).toString());
- FCLog.write((new StringBuilder("plugin history to db : ")).append(config.getPluginHistoryToDb()).toString());
- FCLog.write((new StringBuilder("plugin users to db : ")).append(config.getPluginUsersToDb()).toString());
- FCLog.write((new StringBuilder("plugin rooms list updater : ")).append(config.getPluginRoomsListUpdater()).toString());
- FCLog.write((new StringBuilder("plugin robot : ")).append(config.getPluginBot()).toString());
- LinkedHashMap configRooms = null;
- LinkedHashMap configAdmins = null;
- LinkedHashMap configBanUsers = null;
- LinkedHashMap configBanIpRanges = null;
- configRooms = FCVideochatConfigReader.getConfigRooms(FCFile.loadFile(config.getFileRooms()));
- configAdmins = FCVideochatConfigReader.getConfigAdmins(FCFile.loadFile(config.getFileAdmins()));
- configBanUsers = FCVideochatConfigReader.getConfigBanUsers(FCFile.loadFile(config.getFileBansUsers()));
- configBanIpRanges = FCVideochatConfigReader.getConfigBanIpRanges(FCFile.loadFile(config.getFileBansIpRanges()));
- if(configRooms.isEmpty())
- {
- FCFile.saveFile(config.getFileRooms(), FCVideochatConfigReader.getXmlDefaultRooms());
- configRooms = FCVideochatConfigReader.getConfigRooms(FCFile.loadFile(config.getFileRooms()));
- }
- FCRoom one;
- for(Iterator iterator = configRooms.values().iterator(); iterator.hasNext(); roomList.addRoom(one))
- one = (FCRoom)iterator.next();
- if(configAdmins.isEmpty())
- {
- FCFile.saveFile(config.getFileAdmins(), FCVideochatConfigReader.getXmlDefaultAdmins());
- FCVideochatConfigReader.getConfigAdmins(FCFile.loadFile(config.getFileAdmins()));
- }
- FCAdmin one;
- for(Iterator iterator1 = configAdmins.values().iterator(); iterator1.hasNext(); adminList.addAdmin(one))
- one = (FCAdmin)iterator1.next();
- FCBanUser one;
- for(Iterator iterator2 = configBanUsers.values().iterator(); iterator2.hasNext(); banList.add(one))
- one = (FCBanUser)iterator2.next();
- FCBanIpRange one;
- for(Iterator iterator3 = configBanIpRanges.values().iterator(); iterator3.hasNext(); banList.addIrb(one))
- one = (FCBanIpRange)iterator3.next();
- if(config.getPluginPremoderation())
- pluginPremoderation = new FCVideochatPremoderation(this);
- if(config.getPluginVoteToKick())
- pluginVoteToKick = new FCVideochatVoteToKick(this);
- if(config.getPluginHistoryToDb())
- {
- pluginHistoryToDb = new FCVideochatHistoryToDb(this);
- pluginHistoryToDb.setHandler(config.getHistoryToDbHttpHandler());
- }
- if(config.getPluginUsersToDb())
- {
- pluginUsersToDb = new FCVideochatUsersToDb(this);
- pluginUsersToDb.setHandler(config.getUsersToDbHttpHandler());
- }
- if(config.getPluginRoomsListUpdater())
- {
- pluginRoomsListUpdater = new FCVideochatRoomsListUpdater(this);
- pluginRoomsListUpdater.setHandler(config.getRoomsListUpdaterHttpHandler());
- pluginRoomsListUpdater.Update();
- }
- if(config.getPluginBot())
- {
- pluginRobot = new FCVideochatBot(this);
- pluginRobot.initialize();
- pluginRobot.start();
- }
- if(pluginHistoryToDb instanceof FCVideochatHistoryToDb)
- {
- int historyDelay = 10000;
- int historyPeriod = 60000;
- Timer timer1 = new Timer();
- timer1.scheduleAtFixedRate(pluginHistoryToDb, historyDelay, historyPeriod);
- }
- }
- public FCVideochatUser getUserByServerId(String id)
- {
- return (FCVideochatUser)userList.getByServerId(id);
- }
- public FCRoomList getRoomList()
- {
- return roomList;
- }
- public FCVideochatUserList getUserList()
- {
- return userList;
- }
- public FCVideochatConfig getConfig()
- {
- return config;
- }
- public FCVideochatPremoderation getPluginPremoderation()
- {
- return pluginPremoderation;
- }
- public void saveRoomList()
- {
- FCFile.saveFile(config.getFileRooms(), roomList.getAll());
- }
- public void saveAdminList()
- {
- FCFile.saveFile(config.getFileAdmins(), adminList.getAll());
- }
- public void saveBansUsers()
- {
- FCFile.saveFile(config.getFileBansUsers(), banList.getInfoBansUsers());
- }
- public void saveBansIpRanges()
- {
- FCFile.saveFile(config.getFileBansIpRanges(), banList.getInfoBansIpRanges());
- }
- public void appConnect(FCVideochatUser user, LinkedHashMap params, String swfUrl)
- {
- userList.add(user);
- if(!user.watcher)
- user.onConnect();
- if(swfUrl.indexOf("minichat.swf") != -1)
- {
- String name = (new StringBuilder("minichat_")).append(FCDate.getTimestamp()).toString();
- user.isLoggedIn = true;
- user.lastQuery = FCDate.getTimestamp();
- user.gender = "male";
- user.name = name;
- user.isVisible = false;
- getRoomsListDetails(user);
- LinkedHashMap map;
- for(ListIterator i = roomList.getListIterator(); i.hasNext(); joinToRoom(user, map))
- {
- FCRoom one = (FCRoom)i.next();
- map = new LinkedHashMap();
- map.put("roomId", one.getId());
- map.put("isVisible", Boolean.valueOf(false));
- }
- }
- }
- public void appLeave(FCVideochatUser user)
- {
- String id = user.getId();
- String line = (new StringBuilder("videochat appLeave ")).append(id).toString();
- userList.remove(id);
- FCVideochatUser u2 = (FCVideochatUser)userList.get(id);
- if(u2 == null)
- line = (new StringBuilder(String.valueOf(line))).append(" removed").toString();
- }
- public void login(FCVideochatUser user, LinkedHashMap params)
- {
- String crypt = FCMap.getStringFromHashMap("crypt", params);
- if(crypt.length() > 0)
- FCXorCrypter.decryptParams(crypt, params);
- String name = FCMap.getStringFromHashMap("name", params);
- String password = FCMap.getStringFromHashMap("password", params);
- String level = FCMap.getStringFromHashMap("level", params);
- String gender = FCMap.getStringFromHashMap("gender", params);
- String ip = user.ip;
- String photo = FCMap.getStringFromHashMap("photo", params);
- String photoModeImage = FCMap.getStringFromHashMap("photoModeImage", params);
- String avatar = FCMap.getStringFromHashMap("avatar", params);
- String color = FCMap.getStringFromHashMap("color", params);
- FCLog.write("Login: starting auth");
- FCLog.write((new StringBuilder(String.valueOf(name))).append("/").append(password).append("/").append(level).append("/").append(gender).append("/").append(ip).toString());
- int adminLevel = -1;
- String error = "";
- FCVideochatUser foundUser = (FCVideochatUser)userList.findUser(name);
- if(name.length() == 0)
- error = "LOGIN_INVALID";
- if(banList.check(name, ip))
- error = "LOGIN_BAN";
- else
- if(foundUser != null && !foundUser.getId().equals(user.getId()) && foundUser.name != null && !foundUser.name.equals(""))
- error = "LOGIN_EXISTS";
- adminLevel = adminList.checkIsAdmin(name);
- if(adminLevel != -1 && !password.equals("autologin") && !adminList.checkPassword(name, password))
- error = "LOGIN_INVALID";
- if(error.length() == 0)
- {
- user.isLoggedIn = true;
- user.level = level;
- if(adminLevel != -1)
- user.isAdmin = true;
- else
- user.isAdmin = false;
- user.adminLevel = adminLevel;
- user.name = name;
- user.password = password;
- user.gender = gender;
- user.loginTime = FCDate.getTimestamp();
- user.color = color;
- user.lastQuery = FCDate.getTimestamp();
- if(photo.length() > 0)
- user.photo = photo;
- if(photoModeImage.length() > 0)
- user.photoModeImage = photoModeImage;
- if(user.adminLevel == 0)
- user.avatar = (new StringBuilder("icon_admin_")).append(user.gender).toString();
- else
- if(user.adminLevel == 1)
- user.avatar = (new StringBuilder("icon_mod_")).append(user.gender).toString();
- else
- user.avatar = avatar;
- if(!level.equalsIgnoreCase("guest"))
- {
- String xmlFriends = FCFile.loadFile(config.getFriendListFile(user.name));
- LinkedHashMap friends = FCVideochatConfigReader.getFriendList(xmlFriends);
- FCUserFriend friend;
- for(Iterator iterator = friends.values().iterator(); iterator.hasNext(); user.addFriend(friend))
- friend = (FCUserFriend)iterator.next();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement