1 20 21 package freecs.commands; 22 import freecs.interfaces.ICommand; 23 import freecs.interfaces.IGroupState; 24 import freecs.content.MessageState; 25 26 31 public class CmdUnlock extends AbstractCommand { 32 public final String cmd= "/ul"; 33 private static final ICommand selve=new CmdUnlock(); 34 35 private CmdUnlock () { } 36 37 public static ICommand getInstance () { 38 return selve; 39 } 40 41 public boolean execute (MessageState msgState, String param) { 42 if (isPunished (msgState)) 43 return false; 44 msgState.targetGroup = msgState.sender.getGroup (); 45 if (msgState.targetGroup.hasState (IGroupState.OPEN)) 46 return false; 47 if (msgState.targetGroup.usrMayLock(msgState.sender)) { 48 msgState.targetGroup.setState (IGroupState.OPEN); 49 msgState.msgTemplate = "message.ul"; 50 msgState.targetGroup.sendModeratedMessage (msgState.mp); 51 return true; 52 } else if (msgState.targetGroup.hasState (IGroupState.ENTRANCE)) { 53 msgState.msgTemplate = "error.noRight.noAdmin"; 54 msgState.sender.sendMessage (msgState.mp); 55 } else if (msgState.targetGroup.hasState (IGroupState.LOCKPROTECTED)) { 56 msgState.msgTemplate = "error.ul.noRight"; 57 msgState.sender.sendMessage (msgState.mp); 58 } else if (msgState.targetGroup.hasState (IGroupState.MODERATED)) { 59 msgState.msgTemplate = "error.noRight.noVipAdmin"; 60 msgState.sender.sendMessage (msgState.mp); 61 } else { 62 msgState.msgTemplate = "error.noRight.noSuVipAdmin"; 63 msgState.sender.sendMessage (msgState.mp); 64 } 65 return false; 66 } 67 } | Popular Tags |