public void commandReload(final Message mes) { final List<String> params = mods.util.getParams(mes); if (params.size() == 1) { irc.sendContextReply(mes, "Syntax: 'Plugin.Reload " + helpCommandReload[1] + "'."); return; } for (int i = 1; i < params.size(); ++i) { final String pluginName = params.get(i); mods.security.checkNickPerm( new ChoobPermission("plugin.load." + pluginName.toLowerCase()), mes); loadOrReloadPlugin(mes, pluginName, null, true); } }
public void commandLoad(final Message mes) { // First, do auth! final List<String> params = mods.util.getParams(mes); String url = ""; String classname = ""; if (params.size() == 2) { Pattern pa; Matcher ma; url = params.get(1); pa = Pattern.compile("^.*\\/([^\\/]+)\\.(java|js)$"); ma = pa.matcher(url); if (ma.matches()) classname = ma.group(1); else { irc.sendContextReply( mes, "Unable to parse url (" + url + ") -> classname, please specify."); return; } } else { if (params.size() != 3) { irc.sendContextReply(mes, "Syntax: [classname] url"); return; } url = params.get(2); classname = params.get(1); if (classname.indexOf("/") != -1) { irc.sendContextReply(mes, "Arguments the other way around, you spoon."); return; } } mods.security.checkNickPerm(new ChoobPermission("plugin.load." + classname.toLowerCase()), mes); try { mods.security.addGroup("plugin." + classname.toLowerCase()); } catch (final ChoobException e) { // TODO: Make a groupExists() or something so we don't need to squelch this } loadOrReloadPlugin(mes, classname, url, false); }