예제 #1
0
 /**
  * Update a ban.
  *
  * @param ban
  */
 public void updateBan(Ban ban) {
   Canary.db().prepare();
   DatabaseRow[] rows = getTable().getFilteredRows("name", ban.getSubject());
   // It's only this one
   if (rows != null && rows.length > 0) {
     DatabaseRow row = rows[0];
     row.setStringCell("reason", ban.getReason());
     row.setStringCell("ip", ban.getIp());
     row.setLongCell("timestamp", ban.getTimestamp());
   }
   Canary.db().execute();
 }
예제 #2
0
 /**
  * Add a new Ban to the list of bans.
  *
  * @param ban
  */
 public void addBan(Ban ban) {
   if (banExists(ban)) {
     updateBan(ban);
     return;
   }
   Canary.db().prepare();
   DatabaseRow newData = getTable().addRow();
   newData.setStringCell("name", ban.getSubject());
   newData.setLongCell("timestamp", ban.getTimestamp());
   newData.setStringCell("reason", ban.getReason());
   newData.setStringCell("ip", ban.getIp());
   Canary.db().execute();
 }
예제 #3
0
  /**
   * Get a ban for this player name. This may return null if the ban does not exist
   *
   * @param name
   * @return Returns a ban object if that ban was found, null otherwise
   */
  public Ban getBan(String name) {
    Ban newBan = null;
    Canary.db().prepare();
    DatabaseRow[] toLift = getTable().getFilteredRows("name", name);

    if (toLift != null && toLift.length > 0) {
      // It should only be one
      newBan = new Ban();
      DatabaseRow row = toLift[0];
      newBan.setReason(row.getStringCell("reason"));
      newBan.setSubject(row.getStringCell("name"));
      newBan.setIp(row.getStringCell("ip"));
      newBan.setTimestamp(row.getLongCell("timestamp"));
    }
    Canary.db().execute();
    return newBan;
  }
예제 #4
0
  /**
   * Load and return all recorded bans
   *
   * @return
   */
  public ArrayList<Ban> loadBans() {
    Canary.db().prepare();
    ArrayList<Ban> banList = new ArrayList<Ban>();
    DatabaseTable table = getTable();

    DatabaseRow[] rows = table.getAllRows();
    if (rows != null) {
      for (DatabaseRow row : rows) {
        Ban ban = new Ban();
        ban.setIp(row.getStringCell("ip"));
        ban.setReason(row.getStringCell("reason"));
        ban.setSubject(row.getStringCell("name"));
        ban.setTimestamp(row.getLongCell("timestamp"));
        banList.add(ban);
      }
    }
    Canary.db().execute();
    return banList;
  }