Beispiel #1
0
  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);
    }
  }
Beispiel #2
0
  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);
  }