private HashMap<String,Server> serversByNumeric = new HashMap<String,Server>();\r
private HashMap<String,ArrayList<Server>> serversByHub = new HashMap<String,ArrayList<Server>>();\r
private HashMap<String,Server> serversByHost = new HashMap<String,Server>();\r
+ \r
+ private HashMap<String,Channel> channels = new HashMap<String,Channel>();\r
\r
/**\r
* Constructs a Database connection.\r
C.debug(e);\r
C.die("SQL error, trying to die gracefully.");\r
}\r
+ \r
+ \r
+ Channel c = channels.get(chan.toLowerCase());\r
+ if(c instanceof Channel)\r
+ {\r
+ c.setUserChanMode(user,mode);\r
+ }\r
}\r
\r
/**\r
* Remove all ops from a channel\r
* @param chan channel to change\r
*/\r
- public void setClearOps(String chan)\r
+ public void setClearMode(String chan, String modes)\r
{\r
try\r
{\r
C.debug(e);\r
C.die("SQL error, trying to die gracefully.");\r
}\r
+ \r
+ \r
+ \r
+ Channel c = channels.get(chan.toLowerCase());\r
+ if(c instanceof Channel)\r
+ {\r
+ c.setClearMode(modes);\r
+ }\r
}\r
\r
/**\r
pstmt = con.prepareStatement("DELETE FROM userchans WHERE BINARY user = ?");\r
pstmt.setString(1,numer);\r
pstmt.executeUpdate();\r
+ \r
+ ArrayList<String> userchannels = u.getChannels();\r
+ for(String channel: userchannels)\r
+ {\r
+ delUser(numer);\r
+ }\r
}\r
catch ( Exception e )\r
{\r
C.debug(e);\r
C.die("SQL error, trying to die gracefully.");\r
}\r
+ \r
+ Channel c = channels.get(chan.toLowerCase());\r
+ if(c instanceof Channel)\r
+ {\r
+ c.delUser(user);\r
+ }\r
+ User u = usersByNumeric.get(user);\r
+ if(u instanceof User)\r
+ {\r
+ u.partChannel(chan);\r
+ }\r
}\r
\r
public void addUser(String nume,String nick, String host, String mode, String auth, boolean isop, String server, String ip, String fake)\r
}\r
}\r
\r
- public void addUserChan(String channel,String user,String modes)\r
+ public void addUserChan(String channel,String user,String modes, String timestamp)\r
{\r
try\r
{\r
C.debug(e);\r
C.die("SQL error, trying to die gracefully.");\r
}\r
+ \r
+ \r
+ Channel c = channels.get(channel.toLowerCase());\r
+ if(c instanceof Channel)\r
+ {\r
+ c.addUser(user);\r
+ }\r
+ else\r
+ {\r
+ if(modes.equals("o"))\r
+ {\r
+ c = new Channel(channel,timestamp,user,true);\r
+ }\r
+ else\r
+ {\r
+ c = new Channel(channel,timestamp,user,false);\r
+ }\r
+ channels.put(channel.toLowerCase(),c);\r
+ }\r
+ User u = usersByNumeric.get(user);\r
+ if(u instanceof User)\r
+ {\r
+ u.joinChannel(channel);\r
+ }\r
}\r
\r
public void save()\r
C.die("SQL error, trying to die gracefully.");\r
}\r
}\r
+ \r
+ public ArrayList<String> checkUserChans()\r
+ {\r
+ ArrayList<String> info = new ArrayList<String>();\r
+ /*\r
+ chanExists\r
+ -isOpChan\r
+ -isOnChan\r
+ -chanHasOps\r
+ getChanUsers\r
+ -getUserChans\r
+ getChannelUsers\r
+ -getUserChanTable\r
+ */\r
+ info.add("MYSQL vs Memory");\r
+ Channel c = channels.get("#azefezfzefzefzfzefzefzf");\r
+ info.add(chanExists("#azefezfzefzefzfzefzefzf")+" "+(c instanceof Channel));\r
+ c = channels.get("#borknet");\r
+ if(c instanceof Channel)\r
+ {\r
+ info.add(chanExists("#BorkNet")+" true");\r
+ info.add(getChanUsers("#BorkNet")+" "+c.getUsercount());\r
+ info.add(Arrays.toString(getChannelUsers("#BorkNet"))+" "+Arrays.toString(c.getUserlist()));\r
+ }\r
+ else\r
+ {\r
+ info.add("#BorkNet not in memory");\r
+ }\r
+ return info;\r
+ }\r
}
\ No newline at end of file