Completed admin panel conversion for user management (bans)
This commit is contained in:
@@ -118,7 +118,7 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
List<Player> similarPlayers = _playerDAO.findSimilarAccounts(login);
|
||||
if (similarPlayers == null)
|
||||
throw new HttpProcessingException(404);
|
||||
throw new HttpProcessingException(400);
|
||||
|
||||
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
|
||||
@@ -162,13 +162,13 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String login = getFormParameterSafely(postDecoder, "login");
|
||||
String login = getFormParameterSafely(postDecoder, "login");
|
||||
|
||||
if (login==null)
|
||||
throw new HttpProcessingException(404);
|
||||
if (login==null)
|
||||
throw new HttpProcessingException(400);
|
||||
|
||||
if (!_adminService.banUser(login))
|
||||
throw new HttpProcessingException(404);
|
||||
if (!_adminService.banUser(login))
|
||||
throw new HttpProcessingException(404);
|
||||
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
} finally {
|
||||
@@ -181,13 +181,13 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
List<String> logins = getFormParametersSafely(postDecoder, "login");
|
||||
if (logins == null)
|
||||
throw new HttpProcessingException(404);
|
||||
List<String> logins = getFormParametersSafely(postDecoder, "login[]");
|
||||
if (logins == null)
|
||||
throw new HttpProcessingException(400);
|
||||
|
||||
for (String login : logins) {
|
||||
if (!_adminService.banUser(login))
|
||||
throw new HttpProcessingException(404);
|
||||
for (String login : logins) {
|
||||
if (!_adminService.banUser(login))
|
||||
throw new HttpProcessingException(404);
|
||||
}
|
||||
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
@@ -201,13 +201,13 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String login = getFormParameterSafely(postDecoder, "login");
|
||||
int duration = Integer.parseInt(getFormParameterSafely(postDecoder, "duration"));
|
||||
String login = getFormParameterSafely(postDecoder, "login");
|
||||
int duration = Integer.parseInt(getFormParameterSafely(postDecoder, "duration"));
|
||||
|
||||
if (!_adminService.banUserTemp(login, duration))
|
||||
throw new HttpProcessingException(404);
|
||||
if (!_adminService.banUserTemp(login, duration))
|
||||
throw new HttpProcessingException(404);
|
||||
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
} finally {
|
||||
postDecoder.destroy();
|
||||
}
|
||||
@@ -218,12 +218,12 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String login = getFormParameterSafely(postDecoder, "login");
|
||||
String login = getFormParameterSafely(postDecoder, "login");
|
||||
|
||||
if (!_adminService.unBanUser(login))
|
||||
throw new HttpProcessingException(404);
|
||||
if (!_adminService.unBanUser(login))
|
||||
throw new HttpProcessingException(404);
|
||||
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
} finally {
|
||||
postDecoder.destroy();
|
||||
}
|
||||
@@ -234,18 +234,18 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String reason = getFormParameterSafely(postDecoder, "reason");
|
||||
String product = getFormParameterSafely(postDecoder, "product");
|
||||
String collectionType = getFormParameterSafely(postDecoder, "collectionType");
|
||||
String reason = getFormParameterSafely(postDecoder, "reason");
|
||||
String product = getFormParameterSafely(postDecoder, "product");
|
||||
String collectionType = getFormParameterSafely(postDecoder, "collectionType");
|
||||
|
||||
Collection<CardCollection.Item> productItems = getProductItems(product);
|
||||
Collection<CardCollection.Item> productItems = getProductItems(product);
|
||||
|
||||
Map<Player, CardCollection> playersCollection = _collectionManager.getPlayersCollection(collectionType);
|
||||
Map<Player, CardCollection> playersCollection = _collectionManager.getPlayersCollection(collectionType);
|
||||
|
||||
for (Map.Entry<Player, CardCollection> playerCollection : playersCollection.entrySet())
|
||||
_collectionManager.addItemsToPlayerCollection(true, reason, playerCollection.getKey(), createCollectionType(collectionType), productItems);
|
||||
for (Map.Entry<Player, CardCollection> playerCollection : playersCollection.entrySet())
|
||||
_collectionManager.addItemsToPlayerCollection(true, reason, playerCollection.getKey(), createCollectionType(collectionType), productItems);
|
||||
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
} finally {
|
||||
postDecoder.destroy();
|
||||
}
|
||||
@@ -313,33 +313,33 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String collectionType = getFormParameterSafely(postDecoder, "collectionType");
|
||||
String prizeMultiplier = getFormParameterSafely(postDecoder, "prizeMultiplier");
|
||||
List<String> formats = getFormMultipleParametersSafely(postDecoder, "format");
|
||||
List<String> serieDurations = getFormMultipleParametersSafely(postDecoder, "serieDuration");
|
||||
List<String> maxMatches = getFormMultipleParametersSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String collectionType = getFormParameterSafely(postDecoder, "collectionType");
|
||||
String prizeMultiplier = getFormParameterSafely(postDecoder, "prizeMultiplier");
|
||||
List<String> formats = getFormMultipleParametersSafely(postDecoder, "format");
|
||||
List<String> serieDurations = getFormMultipleParametersSafely(postDecoder, "serieDuration");
|
||||
List<String> maxMatches = getFormMultipleParametersSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(start + "," + collectionType + "," + prizeMultiplier + "," + formats.size());
|
||||
for (int i = 0; i < formats.size(); i++)
|
||||
sb.append("," + formats.get(i) + "," + serieDurations.get(i) + "," + maxMatches.get(i));
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(start + "," + collectionType + "," + prizeMultiplier + "," + formats.size());
|
||||
for (int i = 0; i < formats.size(); i++)
|
||||
sb.append("," + formats.get(i) + "," + serieDurations.get(i) + "," + maxMatches.get(i));
|
||||
|
||||
String parameters = sb.toString();
|
||||
LeagueData leagueData = new NewConstructedLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
List<LeagueSerieData> series = leagueData.getSeries();
|
||||
int leagueStart = series.get(0).getStart();
|
||||
int displayEnd = DateUtils.offsetDate(series.get(series.size() - 1).getEnd(), 2);
|
||||
String parameters = sb.toString();
|
||||
LeagueData leagueData = new NewConstructedLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
List<LeagueSerieData> series = leagueData.getSeries();
|
||||
int leagueStart = series.get(0).getStart();
|
||||
int displayEnd = DateUtils.offsetDate(series.get(series.size() - 1).getEnd(), 2);
|
||||
|
||||
_leagueDao.addLeague(cost, name, code, leagueData.getClass().getName(), parameters, leagueStart, displayEnd);
|
||||
_leagueDao.addLeague(cost, name, code, leagueData.getClass().getName(), parameters, leagueStart, displayEnd);
|
||||
|
||||
_leagueService.clearCache();
|
||||
_leagueService.clearCache();
|
||||
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
} finally {
|
||||
postDecoder.destroy();
|
||||
}
|
||||
@@ -350,55 +350,55 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String collectionType = getFormParameterSafely(postDecoder, "collectionType");
|
||||
String prizeMultiplier = getFormParameterSafely(postDecoder, "prizeMultiplier");
|
||||
List<String> formats = getFormMultipleParametersSafely(postDecoder, "format");
|
||||
List<String> serieDurations = getFormMultipleParametersSafely(postDecoder, "serieDuration");
|
||||
List<String> maxMatches = getFormMultipleParametersSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String collectionType = getFormParameterSafely(postDecoder, "collectionType");
|
||||
String prizeMultiplier = getFormParameterSafely(postDecoder, "prizeMultiplier");
|
||||
List<String> formats = getFormMultipleParametersSafely(postDecoder, "format");
|
||||
List<String> serieDurations = getFormMultipleParametersSafely(postDecoder, "serieDuration");
|
||||
List<String> maxMatches = getFormMultipleParametersSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(start + "," + collectionType + "," + prizeMultiplier + "," + formats.size());
|
||||
for (int i = 0; i < formats.size(); i++)
|
||||
sb.append("," + formats.get(i) + "," + serieDurations.get(i) + "," + maxMatches.get(i));
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(start + "," + collectionType + "," + prizeMultiplier + "," + formats.size());
|
||||
for (int i = 0; i < formats.size(); i++)
|
||||
sb.append("," + formats.get(i) + "," + serieDurations.get(i) + "," + maxMatches.get(i));
|
||||
|
||||
String parameters = sb.toString();
|
||||
LeagueData leagueData = new NewConstructedLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
String parameters = sb.toString();
|
||||
LeagueData leagueData = new NewConstructedLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
|
||||
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
|
||||
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
|
||||
|
||||
Document doc = documentBuilder.newDocument();
|
||||
Document doc = documentBuilder.newDocument();
|
||||
|
||||
final List<LeagueSerieData> series = leagueData.getSeries();
|
||||
final List<LeagueSerieData> series = leagueData.getSeries();
|
||||
|
||||
int end = series.get(series.size() - 1).getEnd();
|
||||
int end = series.get(series.size() - 1).getEnd();
|
||||
|
||||
Element leagueElem = doc.createElement("league");
|
||||
Element leagueElem = doc.createElement("league");
|
||||
|
||||
leagueElem.setAttribute("name", name);
|
||||
leagueElem.setAttribute("cost", String.valueOf(cost));
|
||||
leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart()));
|
||||
leagueElem.setAttribute("end", String.valueOf(end));
|
||||
leagueElem.setAttribute("name", name);
|
||||
leagueElem.setAttribute("cost", String.valueOf(cost));
|
||||
leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart()));
|
||||
leagueElem.setAttribute("end", String.valueOf(end));
|
||||
|
||||
for (LeagueSerieData serie : series) {
|
||||
Element serieElem = doc.createElement("serie");
|
||||
serieElem.setAttribute("type", serie.getName());
|
||||
serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches()));
|
||||
serieElem.setAttribute("start", String.valueOf(serie.getStart()));
|
||||
serieElem.setAttribute("end", String.valueOf(serie.getEnd()));
|
||||
serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName());
|
||||
serieElem.setAttribute("collection", serie.getCollectionType().getFullName());
|
||||
serieElem.setAttribute("limited", String.valueOf(serie.isLimited()));
|
||||
for (LeagueSerieData serie : series) {
|
||||
Element serieElem = doc.createElement("serie");
|
||||
serieElem.setAttribute("type", serie.getName());
|
||||
serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches()));
|
||||
serieElem.setAttribute("start", String.valueOf(serie.getStart()));
|
||||
serieElem.setAttribute("end", String.valueOf(serie.getEnd()));
|
||||
serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName());
|
||||
serieElem.setAttribute("collection", serie.getCollectionType().getFullName());
|
||||
serieElem.setAttribute("limited", String.valueOf(serie.isLimited()));
|
||||
|
||||
leagueElem.appendChild(serieElem);
|
||||
}
|
||||
leagueElem.appendChild(serieElem);
|
||||
}
|
||||
|
||||
doc.appendChild(leagueElem);
|
||||
doc.appendChild(leagueElem);
|
||||
|
||||
responseWriter.writeXmlResponse(doc);
|
||||
responseWriter.writeXmlResponse(doc);
|
||||
} finally {
|
||||
postDecoder.destroy();
|
||||
}
|
||||
@@ -409,26 +409,26 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String format = getFormParameterSafely(postDecoder, "format");
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String serieDuration = getFormParameterSafely(postDecoder, "serieDuration");
|
||||
String maxMatches = getFormParameterSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
String format = getFormParameterSafely(postDecoder, "format");
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String serieDuration = getFormParameterSafely(postDecoder, "serieDuration");
|
||||
String maxMatches = getFormParameterSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
|
||||
String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name;
|
||||
LeagueData leagueData = new SoloDraftLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
List<LeagueSerieData> series = leagueData.getSeries();
|
||||
int leagueStart = series.get(0).getStart();
|
||||
int displayEnd = DateUtils.offsetDate(series.get(series.size() - 1).getEnd(), 2);
|
||||
String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name;
|
||||
LeagueData leagueData = new SoloDraftLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
List<LeagueSerieData> series = leagueData.getSeries();
|
||||
int leagueStart = series.get(0).getStart();
|
||||
int displayEnd = DateUtils.offsetDate(series.get(series.size() - 1).getEnd(), 2);
|
||||
|
||||
_leagueDao.addLeague(cost, name, code, leagueData.getClass().getName(), parameters, leagueStart, displayEnd);
|
||||
_leagueDao.addLeague(cost, name, code, leagueData.getClass().getName(), parameters, leagueStart, displayEnd);
|
||||
|
||||
_leagueService.clearCache();
|
||||
_leagueService.clearCache();
|
||||
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
} finally {
|
||||
postDecoder.destroy();
|
||||
}
|
||||
@@ -439,50 +439,50 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String format = getFormParameterSafely(postDecoder, "format");
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String serieDuration = getFormParameterSafely(postDecoder, "serieDuration");
|
||||
String maxMatches = getFormParameterSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
String format = getFormParameterSafely(postDecoder, "format");
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String serieDuration = getFormParameterSafely(postDecoder, "serieDuration");
|
||||
String maxMatches = getFormParameterSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
|
||||
String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name;
|
||||
LeagueData leagueData = new SoloDraftLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name;
|
||||
LeagueData leagueData = new SoloDraftLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
|
||||
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
|
||||
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
|
||||
|
||||
Document doc = documentBuilder.newDocument();
|
||||
Document doc = documentBuilder.newDocument();
|
||||
|
||||
final List<LeagueSerieData> series = leagueData.getSeries();
|
||||
final List<LeagueSerieData> series = leagueData.getSeries();
|
||||
|
||||
int end = series.get(series.size() - 1).getEnd();
|
||||
int end = series.get(series.size() - 1).getEnd();
|
||||
|
||||
Element leagueElem = doc.createElement("league");
|
||||
Element leagueElem = doc.createElement("league");
|
||||
|
||||
leagueElem.setAttribute("name", name);
|
||||
leagueElem.setAttribute("cost", String.valueOf(cost));
|
||||
leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart()));
|
||||
leagueElem.setAttribute("end", String.valueOf(end));
|
||||
leagueElem.setAttribute("name", name);
|
||||
leagueElem.setAttribute("cost", String.valueOf(cost));
|
||||
leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart()));
|
||||
leagueElem.setAttribute("end", String.valueOf(end));
|
||||
|
||||
for (LeagueSerieData serie : series) {
|
||||
Element serieElem = doc.createElement("serie");
|
||||
serieElem.setAttribute("type", serie.getName());
|
||||
serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches()));
|
||||
serieElem.setAttribute("start", String.valueOf(serie.getStart()));
|
||||
serieElem.setAttribute("end", String.valueOf(serie.getEnd()));
|
||||
serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName());
|
||||
serieElem.setAttribute("collection", serie.getCollectionType().getFullName());
|
||||
serieElem.setAttribute("limited", String.valueOf(serie.isLimited()));
|
||||
for (LeagueSerieData serie : series) {
|
||||
Element serieElem = doc.createElement("serie");
|
||||
serieElem.setAttribute("type", serie.getName());
|
||||
serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches()));
|
||||
serieElem.setAttribute("start", String.valueOf(serie.getStart()));
|
||||
serieElem.setAttribute("end", String.valueOf(serie.getEnd()));
|
||||
serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName());
|
||||
serieElem.setAttribute("collection", serie.getCollectionType().getFullName());
|
||||
serieElem.setAttribute("limited", String.valueOf(serie.isLimited()));
|
||||
|
||||
leagueElem.appendChild(serieElem);
|
||||
}
|
||||
leagueElem.appendChild(serieElem);
|
||||
}
|
||||
|
||||
doc.appendChild(leagueElem);
|
||||
doc.appendChild(leagueElem);
|
||||
|
||||
responseWriter.writeXmlResponse(doc);
|
||||
responseWriter.writeXmlResponse(doc);
|
||||
} finally {
|
||||
postDecoder.destroy();
|
||||
}
|
||||
@@ -493,26 +493,26 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String format = getFormParameterSafely(postDecoder, "format");
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String serieDuration = getFormParameterSafely(postDecoder, "serieDuration");
|
||||
String maxMatches = getFormParameterSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
String format = getFormParameterSafely(postDecoder, "format");
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String serieDuration = getFormParameterSafely(postDecoder, "serieDuration");
|
||||
String maxMatches = getFormParameterSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
|
||||
String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name;
|
||||
LeagueData leagueData = new NewSealedLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
List<LeagueSerieData> series = leagueData.getSeries();
|
||||
int leagueStart = series.get(0).getStart();
|
||||
int displayEnd = DateUtils.offsetDate(series.get(series.size() - 1).getEnd(), 2);
|
||||
String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name;
|
||||
LeagueData leagueData = new NewSealedLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
List<LeagueSerieData> series = leagueData.getSeries();
|
||||
int leagueStart = series.get(0).getStart();
|
||||
int displayEnd = DateUtils.offsetDate(series.get(series.size() - 1).getEnd(), 2);
|
||||
|
||||
_leagueDao.addLeague(cost, name, code, leagueData.getClass().getName(), parameters, leagueStart, displayEnd);
|
||||
_leagueDao.addLeague(cost, name, code, leagueData.getClass().getName(), parameters, leagueStart, displayEnd);
|
||||
|
||||
_leagueService.clearCache();
|
||||
_leagueService.clearCache();
|
||||
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
responseWriter.writeHtmlResponse("OK");
|
||||
} finally {
|
||||
postDecoder.destroy();
|
||||
}
|
||||
@@ -523,50 +523,50 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
|
||||
|
||||
HttpPostRequestDecoder postDecoder = new HttpPostRequestDecoder(request);
|
||||
try {
|
||||
String format = getFormParameterSafely(postDecoder, "format");
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String serieDuration = getFormParameterSafely(postDecoder, "serieDuration");
|
||||
String maxMatches = getFormParameterSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
String format = getFormParameterSafely(postDecoder, "format");
|
||||
String start = getFormParameterSafely(postDecoder, "start");
|
||||
String serieDuration = getFormParameterSafely(postDecoder, "serieDuration");
|
||||
String maxMatches = getFormParameterSafely(postDecoder, "maxMatches");
|
||||
String name = getFormParameterSafely(postDecoder, "name");
|
||||
int cost = Integer.parseInt(getFormParameterSafely(postDecoder, "cost"));
|
||||
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
String code = String.valueOf(System.currentTimeMillis());
|
||||
|
||||
String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name;
|
||||
LeagueData leagueData = new NewSealedLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
String parameters = format + "," + start + "," + serieDuration + "," + maxMatches + "," + code + "," + name;
|
||||
LeagueData leagueData = new NewSealedLeagueData(_cardSets, _soloDraftDefinitions, parameters);
|
||||
|
||||
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
|
||||
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
|
||||
|
||||
Document doc = documentBuilder.newDocument();
|
||||
Document doc = documentBuilder.newDocument();
|
||||
|
||||
final List<LeagueSerieData> series = leagueData.getSeries();
|
||||
final List<LeagueSerieData> series = leagueData.getSeries();
|
||||
|
||||
int end = series.get(series.size() - 1).getEnd();
|
||||
int end = series.get(series.size() - 1).getEnd();
|
||||
|
||||
Element leagueElem = doc.createElement("league");
|
||||
Element leagueElem = doc.createElement("league");
|
||||
|
||||
leagueElem.setAttribute("name", name);
|
||||
leagueElem.setAttribute("cost", String.valueOf(cost));
|
||||
leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart()));
|
||||
leagueElem.setAttribute("end", String.valueOf(end));
|
||||
leagueElem.setAttribute("name", name);
|
||||
leagueElem.setAttribute("cost", String.valueOf(cost));
|
||||
leagueElem.setAttribute("start", String.valueOf(series.get(0).getStart()));
|
||||
leagueElem.setAttribute("end", String.valueOf(end));
|
||||
|
||||
for (LeagueSerieData serie : series) {
|
||||
Element serieElem = doc.createElement("serie");
|
||||
serieElem.setAttribute("type", serie.getName());
|
||||
serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches()));
|
||||
serieElem.setAttribute("start", String.valueOf(serie.getStart()));
|
||||
serieElem.setAttribute("end", String.valueOf(serie.getEnd()));
|
||||
serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName());
|
||||
serieElem.setAttribute("collection", serie.getCollectionType().getFullName());
|
||||
serieElem.setAttribute("limited", String.valueOf(serie.isLimited()));
|
||||
for (LeagueSerieData serie : series) {
|
||||
Element serieElem = doc.createElement("serie");
|
||||
serieElem.setAttribute("type", serie.getName());
|
||||
serieElem.setAttribute("maxMatches", String.valueOf(serie.getMaxMatches()));
|
||||
serieElem.setAttribute("start", String.valueOf(serie.getStart()));
|
||||
serieElem.setAttribute("end", String.valueOf(serie.getEnd()));
|
||||
serieElem.setAttribute("format", _formatLibrary.getFormat(serie.getFormat()).getName());
|
||||
serieElem.setAttribute("collection", serie.getCollectionType().getFullName());
|
||||
serieElem.setAttribute("limited", String.valueOf(serie.isLimited()));
|
||||
|
||||
leagueElem.appendChild(serieElem);
|
||||
}
|
||||
leagueElem.appendChild(serieElem);
|
||||
}
|
||||
|
||||
doc.appendChild(leagueElem);
|
||||
doc.appendChild(leagueElem);
|
||||
|
||||
responseWriter.writeXmlResponse(doc);
|
||||
responseWriter.writeXmlResponse(doc);
|
||||
} finally {
|
||||
postDecoder.destroy();
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<li><a id="landingTab" href="#landing"></a></li>
|
||||
<li><a id="generalTab" href="includes/admin/generalAdmin.html">General Admin</a></li>
|
||||
<li><a id="leagueTab" href="includes/admin/leagueAdmin.html">League Admin</a></li>
|
||||
<li><a id="banTab" href="#banAdmin">Ban Users</a></li>
|
||||
<li><a id="banTab" href="includes/admin/userAdmin.html">Manage Users</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
<div id="landing" style="">
|
||||
@@ -36,39 +36,7 @@
|
||||
|
||||
</div>
|
||||
<div id="banAdmin">
|
||||
<div class="article">
|
||||
<h1>Ban user</h1>
|
||||
<h2>Permanently</h2>
|
||||
<form id="banUserForm" method="POST" action="/gemp-lotr-server/admin/banUser">
|
||||
Name (case-sensitive): <input type="text" name="login"><br/>
|
||||
<input id="banUser" type="button" value="Ban user permanently">
|
||||
</form>
|
||||
<h2>Temporarily</h2>
|
||||
<form id="banUserTempForm" method="POST" action="/gemp-lotr-server/admin/banUserTemp">
|
||||
Name (case-sensitive): <input type="text" name="login"><br/>
|
||||
Duration:
|
||||
<select name="duration">
|
||||
<option value="1">1 day</option>
|
||||
<option value="3">3 days</option>
|
||||
<option value="7">7 days</option>
|
||||
<option value="14">14 days</option>
|
||||
<option value="30">30 days</option>
|
||||
</select><br/>
|
||||
<input id="banUserTemp" type="button" value="Ban user temporarily">
|
||||
</form>
|
||||
<h1>Unban user</h1>
|
||||
<form id="unBanUserForm" method="POST" action="/gemp-lotr-server/admin/unBanUser">
|
||||
Name (case-sensitive): <input type="text" name="login"><br/>
|
||||
<input id="unBanUser" type="button" value="Unban user">
|
||||
</form>
|
||||
<h1>Find suspicious behaviour</h1>
|
||||
<h2>Multiple user accounts</h2>
|
||||
<form id="findMultipleAccountsForm" method="POST" action="/gemp-lotr-server/admin/findMultipleAccounts">
|
||||
Name (case-sensitive): <input type="text" name="login"><br/>
|
||||
<input id="findMultipleAccounts" type="button" value="Find similar accounts">
|
||||
</form>
|
||||
<div id="displayUsers"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
</td>
|
||||
<td id="cache-response">Ready.</td>
|
||||
<td>
|
||||
All database operations have their results cached in memory to alleviate load on the DB while the server is running. This command clears that cache and forces any database calls to get the actual DB data.
|
||||
All database operations have their results cached in memory to alleviate load on the DB while the server is running. This command clears that cache and forces any database calls to get the actual DB data (which will then be cached again).
|
||||
<br><br>
|
||||
Also clears the internal caches of the League and Tournament services, forcing standings to be re-calculated.
|
||||
</td>
|
||||
@@ -137,6 +137,8 @@
|
||||
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
|
||||
<h1>Message of the Day</h1>
|
||||
<div>
|
||||
<p>Sets the MOTD in the Game Hall just beneath the action bar at the top of the window. Supports HTML.</p>
|
||||
@@ -155,10 +157,10 @@
|
||||
</div>
|
||||
<br/>
|
||||
</div>
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<h1>Collections</h1>
|
||||
|
||||
<h2>Add Items</h2>
|
||||
<h1>Add Items to Collections</h1>
|
||||
|
||||
<table class="tables">
|
||||
<tr>
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
|
||||
<script type="text/javascript" src="js/gemp-022/manage.js"></script>
|
||||
|
||||
|
||||
<div id="banMain" class="article">
|
||||
<h1>Ban User</h1>
|
||||
<h2>Permanently</h2>
|
||||
<div>
|
||||
Name (case-sensitive): <input id="permaban-input" type="text" ><br/>
|
||||
<button id="permaban-button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false" style="padding:4px;">
|
||||
Permaban User
|
||||
</button> <span id="permaban-result" style="display:inline-block;">Ready.</span>
|
||||
</div>
|
||||
|
||||
<h2>Temporarily</h2>
|
||||
<div>
|
||||
Name (case-sensitive): <input id="tempban-input" type="text" ><br/>
|
||||
<div>Duration:
|
||||
<select id="temp-ban-duration-select">
|
||||
<option value="1">1 day</option>
|
||||
<option value="3">3 days</option>
|
||||
<option value="7">7 days</option>
|
||||
<option value="14">14 days</option>
|
||||
<option value="30">30 days</option>
|
||||
</select><br/>
|
||||
</div>
|
||||
<button id="tempban-button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false" style="padding:4px;">
|
||||
Tempban User
|
||||
</button> <span id="tempban-result" style="display:inline-block;">Ready.</span>
|
||||
</div>
|
||||
|
||||
<br><hr>
|
||||
|
||||
<h1>Unban user</h1>
|
||||
<div>
|
||||
Name (case-sensitive): <input id="unban-input" type="text" ><br/>
|
||||
<button id="unban-button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false" style="padding:4px;">
|
||||
Unban User
|
||||
</button> <span id="unban-result" style="display:inline-block;">Ready.</span>
|
||||
</div>
|
||||
|
||||
<br><hr>
|
||||
|
||||
<h1>Find Suspicious Behaviour</h1>
|
||||
<h2>Multiple User Accounts</h2>
|
||||
<div>
|
||||
Name (case-sensitive): <input id="sus-input" type="text" ><br/>
|
||||
<button id="sus-button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false" style="padding:4px;">
|
||||
Find Similar Accounts
|
||||
</button> <span id="sus-result" style="display:inline-block;">Ready.</span>
|
||||
<div id="displayUsers"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
function submitFormToAddress(url, formElem, success, error) {
|
||||
var data = {};
|
||||
|
||||
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:serverDomain+url,
|
||||
cache:false,
|
||||
data:data,
|
||||
traditional:true,
|
||||
success:success,
|
||||
error:error,
|
||||
dataType:"xml"
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
$(document).ready(
|
||||
function () {
|
||||
var actionSuccess = function () {
|
||||
alert("Operation was successful");
|
||||
};
|
||||
|
||||
var actionFailure = function (xhr) {
|
||||
var status = xhr.status;
|
||||
if (status == 404)
|
||||
alert("Specified resource (player, league) does not exist. Check the spelling and try again.");
|
||||
else
|
||||
alert("Unknown error. Status code - "+status);
|
||||
};
|
||||
|
||||
var displayUsers = function (xml) {
|
||||
var root = xml.documentElement;
|
||||
if (root.tagName == 'players') {
|
||||
var playersDiv = $("#displayUsers");
|
||||
playersDiv.html("");
|
||||
playersDiv.append("Similar accounts:");
|
||||
var form = $("<form id='banMultipleForm' method='POST' action='/gemp-lotr-server/admin/banMultiple'></form>");
|
||||
|
||||
var table = $("<table class='tables'></table>");
|
||||
table.append("<tr><th></th><th>Id</th><th>Name</th><th>Password (hash)</th><th>Create IP</th><th>Login IP</th><th>User status</th></tr>");
|
||||
|
||||
var players = root.getElementsByTagName("player");
|
||||
for (var j=0; j<players.length; j++) {
|
||||
var player = players[j];
|
||||
var id=player.getAttribute("id");
|
||||
var name=player.getAttribute("name");
|
||||
var password = player.getAttribute("password");
|
||||
var createIp = player.getAttribute("createIp");
|
||||
var loginIp = player.getAttribute("loginIp");
|
||||
var status = player.getAttribute("status");
|
||||
table.append("<tr><td><input type='checkbox' name='login' value='"+name+"'></td><td>"+id+"</td><td>"+name+"</td><td>"+password+"</td><td>"+createIp+"</td><td>"+loginIp+"</td><td>"+status+"</td></tr>");
|
||||
}
|
||||
form.append(table);
|
||||
form.append("<input type='button' value='Ban selected' onClick='banMultiple();'>");
|
||||
|
||||
playersDiv.append(form);
|
||||
}
|
||||
};
|
||||
|
||||
$("#banUser").click(
|
||||
function() {
|
||||
submitFormToAddress("/gemp-lotr-server/admin/banUser", $("#banUserForm").eq(0), actionSuccess, actionFailure);
|
||||
});
|
||||
$("#banUserTemp").click(
|
||||
function() {
|
||||
submitFormToAddress("/gemp-lotr-server/admin/banUserTemp", $("#banUserTempForm").eq(0), actionSuccess, actionFailure);
|
||||
});
|
||||
$("#unBanUser").click(
|
||||
function() {
|
||||
submitFormToAddress("/gemp-lotr-server/admin/unBanUser", $("#unBanUserForm").eq(0), actionSuccess, actionFailure);
|
||||
});
|
||||
$("#findMultipleAccounts").click(
|
||||
function() {
|
||||
submitFormToAddress("/gemp-lotr-server/admin/findMultipleAccounts", $("#findMultipleAccountsForm").eq(0), displayUsers, actionFailure);
|
||||
});
|
||||
});
|
||||
</script> -->
|
||||
@@ -802,6 +802,77 @@ var GempLotrCommunication = Class.extend({
|
||||
});
|
||||
},
|
||||
|
||||
permabanUser:function (login, callback, errorMap) {
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:this.url + "/admin/banUser",
|
||||
cache:false,
|
||||
data:{
|
||||
login:login
|
||||
},
|
||||
success:this.deliveryCheck(callback),
|
||||
error:this.errorCheck(errorMap),
|
||||
dataType:"html"
|
||||
});
|
||||
},
|
||||
|
||||
tempbanUser:function (login, duration, callback, errorMap) {
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:this.url + "/admin/banUserTemp",
|
||||
cache:false,
|
||||
data:{
|
||||
login:login,
|
||||
duration:duration
|
||||
},
|
||||
success:this.deliveryCheck(callback),
|
||||
error:this.errorCheck(errorMap),
|
||||
dataType:"html"
|
||||
});
|
||||
},
|
||||
|
||||
unbanUser:function (login, callback, errorMap) {
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:this.url + "/admin/unBanUser",
|
||||
cache:false,
|
||||
data:{
|
||||
login:login
|
||||
},
|
||||
success:this.deliveryCheck(callback),
|
||||
error:this.errorCheck(errorMap),
|
||||
dataType:"html"
|
||||
});
|
||||
},
|
||||
|
||||
susUserSearch:function (login, callback, errorMap) {
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:this.url + "/admin/findMultipleAccounts",
|
||||
cache:false,
|
||||
data:{
|
||||
login:login
|
||||
},
|
||||
success:this.deliveryCheck(callback),
|
||||
error:this.errorCheck(errorMap),
|
||||
dataType:"html"
|
||||
});
|
||||
},
|
||||
|
||||
banMultiple:function (login, callback, errorMap) {
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:this.url + "/admin/banMultiple",
|
||||
cache:false,
|
||||
data:{
|
||||
login:login
|
||||
},
|
||||
success:this.deliveryCheck(callback),
|
||||
error:this.errorCheck(errorMap),
|
||||
dataType:"html"
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
|
||||
//NEVER EVER EVER use this for actual authentication
|
||||
|
||||
153
gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/manage.js
Normal file
153
gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/manage.js
Normal file
@@ -0,0 +1,153 @@
|
||||
$("banMain").ready(
|
||||
function () {
|
||||
|
||||
$("#permaban-button").button().click(
|
||||
function () {
|
||||
let resultdiv = $("#permaban-result");
|
||||
resultdiv.html("Processing...");
|
||||
|
||||
hall.comm.permabanUser($("#permaban-input").val(), function (string) {
|
||||
resultdiv.html(string);
|
||||
}, banErrorMap(resultdiv));
|
||||
});
|
||||
|
||||
$("#tempban-button").button().click(
|
||||
function () {
|
||||
let resultdiv = $("#tempban-result");
|
||||
resultdiv.html("Processing...");
|
||||
|
||||
hall.comm.tempbanUser($("#tempban-input").val(), $("#temp-ban-duration-select").val(), function (string) {
|
||||
resultdiv.html(string);
|
||||
}, banErrorMap(resultdiv));
|
||||
});
|
||||
|
||||
$("#unban-button").button().click(
|
||||
function () {
|
||||
let resultdiv = $("#unban-result");
|
||||
resultdiv.html("Processing...");
|
||||
|
||||
hall.comm.unbanUser($("#unban-input").val(), function (string) {
|
||||
resultdiv.html(string);
|
||||
}, banErrorMap(resultdiv));
|
||||
});
|
||||
|
||||
$("#sus-button").button().click(
|
||||
function () {
|
||||
let resultdiv = $("#sus-result");
|
||||
resultdiv.html("Processing...");
|
||||
|
||||
hall.comm.susUserSearch($("#sus-input").val(), susUserPopulate, banErrorMap(resultdiv), function() {
|
||||
$("#displayUsers").hide();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
function susUserPopulate(xml) {
|
||||
var root = xml.documentElement;
|
||||
if(root == null)
|
||||
{
|
||||
xml = new DOMParser().parseFromString(xml,"text/xml");
|
||||
root = xml.documentElement;
|
||||
}
|
||||
|
||||
|
||||
if (root.tagName == 'players') {
|
||||
var playersDiv = $("#displayUsers");
|
||||
playersDiv.show();
|
||||
playersDiv.html("");
|
||||
playersDiv.append("Similar accounts:");
|
||||
var form = $("<div id='banMultipleForm' style='overflow-x:scroll; width:min(120%,1350px); margin-left: max(-50%, -150px);'></div>");
|
||||
|
||||
var table = $("<table class='tables'></table>");
|
||||
table.append("<tr style='position:sticky'><th></th><th>Id</th><th>Name</th><th>Password (hash)</th><th>Create IP</th><th>Login IP</th><th>User status</th></tr>");
|
||||
|
||||
var players = root.getElementsByTagName("player");
|
||||
for (var j=0; j<players.length; j++) {
|
||||
var player = players[j];
|
||||
var id=player.getAttribute("id");
|
||||
var name=player.getAttribute("name");
|
||||
var password = player.getAttribute("password");
|
||||
var createIp = player.getAttribute("createIp");
|
||||
var loginIp = player.getAttribute("loginIp");
|
||||
var status = player.getAttribute("status");
|
||||
table.append("<tr><td style='position:sticky;left:0;z-index:2;background-color:#121212;'><input type='checkbox' name='login' value='"+name+"'></td><td style='position:sticky;left:20px;z-index:2;background-color:#121212;'>"+id+"</td><td style='position:sticky;left:77px;z-index:2;background-color:#121212;'>"+name+"</td><td>"+password+"</td><td>"+createIp+"</td><td>"+loginIp+"</td><td>"+status+"</td></tr>");
|
||||
}
|
||||
form.append(table);
|
||||
|
||||
playersDiv.append(form);
|
||||
playersDiv.append("<input type='button' value='Permaban Selected' onClick='banMultiple();'> <span id='ban-multiple-result' style='display:inline-block;'>Ready.</span>");
|
||||
|
||||
$("#sus-result").html("OK");
|
||||
}
|
||||
}
|
||||
|
||||
function banMultiple() {
|
||||
var actionSuccess = function () {
|
||||
alert("Operation was successful");
|
||||
};
|
||||
|
||||
var data = {};
|
||||
var resultdiv = $("#ban-multiple-result");
|
||||
resultdiv.html("Processing...");
|
||||
|
||||
var inputs = $("input[type='text'], input[type='checkbox']:checked, option:selected", $("#banMultipleForm").eq(0)).each(
|
||||
function () {
|
||||
var input = $(this);
|
||||
var name = null;
|
||||
var value = null;
|
||||
if (input.prop("tagName") == "INPUT") {
|
||||
name = input.attr("name");
|
||||
value = input.val();
|
||||
} else if (input.prop("tagName") == "OPTION") {
|
||||
name = input.parents("select").attr("name");
|
||||
value = input.attr("value");
|
||||
}
|
||||
if (name != null && value != null) {
|
||||
if (data[name] == null)
|
||||
data[name] = new Array();
|
||||
data[name].push(value);
|
||||
}
|
||||
});
|
||||
|
||||
if(data.login == null)
|
||||
{
|
||||
$("#ban-multiple-result").html("Please check one or more users to ban.");
|
||||
return;
|
||||
}
|
||||
hall.comm.banMultiple(data.login, function (string) {
|
||||
$("#ban-multiple-result").html("OK");
|
||||
}, banErrorMap(resultdiv));
|
||||
}
|
||||
|
||||
|
||||
function banErrorMap(outputControl, callback=null) {
|
||||
return {
|
||||
"0":function() {
|
||||
outputControl.html("0: Server has been shut down or there was a problem with your internet connection.", "warningMessage");
|
||||
if(callback!=null)
|
||||
callback();
|
||||
},
|
||||
"401":function() {
|
||||
outputControl.html("401: You are not logged in.");
|
||||
if(callback!=null)
|
||||
callback();
|
||||
},
|
||||
"403": function() {
|
||||
outputControl.html("403: You do not have permission to perform such actions.");
|
||||
if(callback!=null)
|
||||
callback();
|
||||
},
|
||||
"404": function() {
|
||||
outputControl.html("404: User not found. Check that you have capitalized it correctly and removed whitespace and try again.");
|
||||
if(callback!=null)
|
||||
callback();
|
||||
},
|
||||
"410": function() {
|
||||
outputControl.html("410: You have been inactive for too long and were loggedout. Refresh the page if you wish to re-stablish connection.");
|
||||
if(callback!=null)
|
||||
callback();
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user