From a50a2878b7ac837066b2d8c0129caf488d2099f9 Mon Sep 17 00:00:00 2001 From: Maxim Valyanskiy Date: Mon, 5 Aug 2024 22:03:33 +0300 Subject: [PATCH] =?UTF-8?q?sameip:=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D0=B0=D0=BD=D0=BE=D0=BD=D0=B8=D0=BC=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/linux/spring/SameIPController.scala | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/scala/ru/org/linux/spring/SameIPController.scala b/src/main/scala/ru/org/linux/spring/SameIPController.scala index e07a87a87..701fac477 100644 --- a/src/main/scala/ru/org/linux/spring/SameIPController.scala +++ b/src/main/scala/ru/org/linux/spring/SameIPController.scala @@ -21,6 +21,7 @@ import ru.org.linux.auth.AuthUtil.ModeratorOnly import ru.org.linux.auth.IPBlockDao import ru.org.linux.sameip.SameIpService import ru.org.linux.site.BadInputException +import ru.org.linux.spring.SameIPController.AnonymousScoreFilter import ru.org.linux.spring.dao.UserAgentDao import ru.org.linux.user.UserService @@ -30,6 +31,7 @@ import scala.jdk.CollectionConverters.SeqHasAsJava object SameIPController { private val ipRE = Pattern.compile("^\\d+\\.\\d+\\.\\d+\\.\\d+$") + private val AnonymousScoreFilter = -9999 } @Controller @@ -40,7 +42,12 @@ class SameIPController(ipBlockDao: IPBlockDao, userService: UserService, userAge @ModelAttribute("scores") def scores: util.List[(String, String)] = - Seq("" -> "Любой score", "46" -> "score <= 45", "50" -> "score < 50", "100" -> "score < 100").asJava + Seq( + "" -> "Любой score", + "-9999" -> "anonymous", + "46" -> "score <= 45", + "50" -> "score < 50", + "100" -> "score < 100").asJava @RequestMapping(Array("/sameip.jsp")) def sameIP(@RequestParam(required = false) ip: String, @RequestParam(required = false, defaultValue = "32") mask: Int, @@ -76,10 +83,15 @@ class SameIPController(ipBlockDao: IPBlockDao, userService: UserService, userAge mv.getModel.put("hasMoreComments", posts.size == rowsLimit) mv.getModel.put("rowsLimit", rowsLimit) - val users = userService.getUsersWithAgent(ip = Option(ipMask), userAgent = userAgentOpt, limit = rowsLimit) + val users = if (!scoreOpt.contains(AnonymousScoreFilter)) { + userService.getUsersWithAgent(ip = Option(ipMask), userAgent = userAgentOpt, limit = rowsLimit) + } else { + Seq.empty.asJava + } mv.getModel.put("users", users) mv.getModel.put("hasMoreUsers", users.size == rowsLimit) + mv.getModel.put("score", score) if (ip != null) { @@ -110,7 +122,13 @@ class SameIPController(ipBlockDao: IPBlockDao, userService: UserService, userAge } } - mv.getModel.put("newUsers", userService.getNewUsersByUAIp(ipMask, userAgent)) + val newUsers = if (!scoreOpt.contains(AnonymousScoreFilter)) { + userService.getNewUsersByUAIp(ipMask, userAgent) + } else { + Seq.empty.asJava + } + + mv.getModel.put("newUsers", newUsers) if (userAgent != null) { mv.getModel.put("userAgent", userAgentDao.getUserAgentById(userAgent).orElse(null))