- private class AddStaff {
- public AddStaff(MsnSwitchboard switchboard, MsnMessenger messenger,
- int level, String email) throws IOException {
- RightsHandler.ranks.put(email.toLowerCase(), level);
- if (RightsHandler.administrators.contains(email.toLowerCase()))
- RightsHandler.administrators.remove(email.toLowerCase());
- if (RightsHandler.owners.contains(email.toLowerCase()))
- RightsHandler.owners.remove(email.toLowerCase());
- if (RightsHandler.creators.contains(email.toLowerCase()))
- RightsHandler.creators.remove(email.toLowerCase());
- String rights = "";
- BufferedWriter out = null;
- switch (new RightsHandler().getRights(email.toLowerCase())) {
- case Constants.RANK_CONTACT:
- rights = " contact.";
- break;
- case Constants.RANK_ADMINISTRATOR:
- RightsHandler.administrators.add(email.toLowerCase());
- out = new BufferedWriter(
- new FileWriter("./data/administrators"));
- rights = "n administator.";
- SlotHandler.slotHolder.put(email.toLowerCase(), new SlotHandler());
- SlotHandler.slotHolder.get(email.toLowerCase()).setSlots(5);
- break;
- case Constants.RANK_OWNER:
- RightsHandler.owners.add(email.toLowerCase());
- out = new BufferedWriter(new FileWriter("./data/owners"));
- rights = "n owner.";
- if (SlotHandler.slotHolder.get(email.toLowerCase()) == null) {
- SlotHandler.slotHolder.put(email.toLowerCase(), new SlotHandler());
- SlotHandler.slotHolder.get(email.toLowerCase()).setSlots(5);
- } else {
- SlotHandler.slotHolder.get(email.toLowerCase())
- .setSlots(
- (SlotHandler.slotHolder.get(email.toLowerCase())
- .getMaxSlots(email)
- - SlotHandler.slotHolder.get(email.toLowerCase())
- .getSlots()) + 5);
- }
- break;
- case Constants.RANK_CREATOR:
- RightsHandler.creators.add(email.toLowerCase());
- out = new BufferedWriter(new FileWriter("./data/creators"));
- rights = " creator.";
- if (SlotHandler.slotHolder.get(email.toLowerCase()) == null) {
- SlotHandler.slotHolder.put(email.toLowerCase(), new SlotHandler());
- SlotHandler.slotHolder.get(email.toLowerCase()).setSlots(400);
- } else {
- if (SlotHandler.slotHolder.get(email.toLowerCase()).getMaxSlots(email.toLowerCase()) == 5) {
- SlotHandler.slotHolder.get(email.toLowerCase())
- .setSlots(
- (SlotHandler.slotHolder.get(email.toLowerCase())
- .getMaxSlots(email)
- - SlotHandler.slotHolder.get(email.toLowerCase())
- .getSlots()) + 395);
- } else {
- SlotHandler.slotHolder.get(email.toLowerCase())
- .setSlots(
- (SlotHandler.slotHolder.get(email.toLowerCase())
- .getMaxSlots(email)
- - SlotHandler.slotHolder.get(email.toLowerCase())
- .getSlots()) + 390);
- }
- }
- break;
- default:
- rights = " contact.";
- }
- RightsHandler.saveFile(out, level);
- messenger.getOwner()
- .setDisplayName(
- new StringBuffer(5).append(
- "Beelzebub Msn Bot, Staff: [").append(
- RightsHandler.ranks.size()).append(
- "], Contacts: [")
- .append(
- messenger.getContactList()
- .getContacts().length)
- .append("]").toString());
- switchboard.sendText(email + " has been promoted to a" + rights);
- }
- }
