aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/server/www/controllers/MessagesWWW.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/juick/server/www/controllers/MessagesWWW.java')
-rw-r--r--src/main/java/com/juick/server/www/controllers/MessagesWWW.java69
1 files changed, 37 insertions, 32 deletions
diff --git a/src/main/java/com/juick/server/www/controllers/MessagesWWW.java b/src/main/java/com/juick/server/www/controllers/MessagesWWW.java
index e1c1bed8..501c0d82 100644
--- a/src/main/java/com/juick/server/www/controllers/MessagesWWW.java
+++ b/src/main/java/com/juick/server/www/controllers/MessagesWWW.java
@@ -18,14 +18,15 @@ package com.juick.server.www.controllers;
import com.juick.Message;
import com.juick.Tag;
+import com.juick.User;
import com.juick.formatters.PlainTextFormatter;
import com.juick.server.Utils;
import com.juick.server.util.HttpForbiddenException;
import com.juick.server.util.HttpNotFoundException;
-import com.juick.server.util.UserUtils;
import com.juick.server.util.WebUtils;
import com.juick.server.www.WebApp;
import com.juick.service.*;
+import com.juick.service.security.annotation.Visitor;
import com.juick.util.MessageUtils;
import org.apache.commons.codec.CharEncoding;
import org.apache.commons.lang3.StringUtils;
@@ -92,6 +93,7 @@ public class MessagesWWW {
@GetMapping("/")
protected String doGet(
+ @Visitor User visitor,
@RequestParam(required = false) String tag,
@RequestParam(name = "show", required = false) String paramShow,
@RequestParam(name = "search", required = false) String paramSearch,
@@ -103,8 +105,6 @@ public class MessagesWWW {
if (tag != null) {
return "redirect:/tag/" + URLEncoder.encode(tag, StandardCharsets.UTF_8);
}
- com.juick.User visitor = UserUtils.getCurrentUser();
-
visitor.setAvatar(webApp.getAvatarWebPath(visitor));
if (paramSearch != null && paramSearch.length() > 64) {
@@ -199,6 +199,7 @@ public class MessagesWWW {
@GetMapping(path = "/{uname}/", headers = "Connection!=Upgrade")
protected String doGetBlog(
+ @Visitor User visitor,
@RequestParam(required = false, name = "show") String paramShow,
@RequestParam(required = false, name = "tag") String paramTagStr,
@RequestParam(required = false, name = "search") String paramSearch,
@@ -208,7 +209,6 @@ public class MessagesWWW {
@CookieValue(name = "sape_cookie", required = false, defaultValue = StringUtils.EMPTY) String sapeCookie,
ModelMap model) throws IOException {
com.juick.User user = userService.getUserByName(uname);
- com.juick.User visitor = UserUtils.getCurrentUser();
if (user.isBanned() || user.isAnonymous()) {
throw new HttpNotFoundException();
}
@@ -317,9 +317,10 @@ public class MessagesWWW {
}
@GetMapping("/{uname}/tags")
- protected String doGetTags(@PathVariable String uname, ModelMap model) {
+ protected String doGetTags(
+ @Visitor User visitor,
+ @PathVariable String uname, ModelMap model) {
com.juick.User user = userService.getUserByName(uname);
- com.juick.User visitor = UserUtils.getCurrentUser();
if (visitor.isBanned()) {
throw new HttpNotFoundException();
}
@@ -336,9 +337,10 @@ public class MessagesWWW {
}
@GetMapping("/{uname}/friends")
- protected String doGetFriends(@PathVariable String uname, ModelMap model) {
+ protected String doGetFriends(
+ @Visitor User visitor,
+ @PathVariable String uname, ModelMap model) {
com.juick.User user = userService.getUserByName(uname);
- com.juick.User visitor = UserUtils.getCurrentUser();
if (visitor.isBanned()) {
throw new HttpNotFoundException();
}
@@ -353,9 +355,10 @@ public class MessagesWWW {
}
@GetMapping("/{uname}/readers")
- protected String doGetReaders(@PathVariable String uname, ModelMap model) throws IOException {
+ protected String doGetReaders(
+ @Visitor User visitor,
+ @PathVariable String uname, ModelMap model) throws IOException {
com.juick.User user = userService.getUserByName(uname);
- com.juick.User visitor = UserUtils.getCurrentUser();
visitor.setAvatar(webApp.getAvatarWebPath(visitor));
model.addAttribute("title", "Читатели " + user.getName());
model.addAttribute("headers", "<meta name=\"robots\" content=\"noindex\"/>");
@@ -367,9 +370,10 @@ public class MessagesWWW {
}
@GetMapping("/{uname}/bl")
- protected String doGetBL(@PathVariable String uname, ModelMap model) throws IOException {
+ protected String doGetBL(
+ @Visitor User visitor,
+ @PathVariable String uname, ModelMap model) throws IOException {
com.juick.User user = userService.getUserByName(uname);
- com.juick.User visitor = UserUtils.getCurrentUser();
if (visitor.getUid() != user.getUid()) {
throw new HttpForbiddenException();
}
@@ -383,12 +387,13 @@ public class MessagesWWW {
return "views/users";
}
@GetMapping("/tag/{tagName}")
- protected String tagAction(HttpServletRequest request,
- @PathVariable String tagName,
- @CookieValue(name = "sape_cookie", required = false, defaultValue = StringUtils.EMPTY) String sapeCookie,
- @RequestParam(required = false, defaultValue = "0") int before,
- ModelMap model) throws IOException {
- com.juick.User visitor = UserUtils.getCurrentUser();
+ protected String tagAction(
+ @Visitor User visitor,
+ HttpServletRequest request,
+ @PathVariable String tagName,
+ @CookieValue(name = "sape_cookie", required = false, defaultValue = StringUtils.EMPTY) String sapeCookie,
+ @RequestParam(required = false, defaultValue = "0") int before,
+ ModelMap model) throws IOException {
visitor.setAvatar(webApp.getAvatarWebPath(visitor));
String paramTagStr = StringEscapeUtils.unescapeHtml4(tagName);
com.juick.Tag paramTag = tagService.getTag(paramTagStr, false);
@@ -457,8 +462,7 @@ public class MessagesWWW {
return "views/index";
}
@GetMapping("/pm/inbox")
- protected String doGetInbox(ModelMap model) {
- com.juick.User visitor = UserUtils.getCurrentUser();
+ protected String doGetInbox(@Visitor User visitor, ModelMap model) {
if (visitor.isAnonymous()) {
return "redirect:/login";
}
@@ -475,9 +479,10 @@ public class MessagesWWW {
}
@GetMapping("/pm/sent")
- protected String doGetSent(@RequestParam(required = false) String uname,
- ModelMap model) {
- com.juick.User visitor = UserUtils.getCurrentUser();
+ protected String doGetSent(
+ @Visitor User visitor,
+ @RequestParam(required = false) String uname,
+ ModelMap model) {
if (visitor.isAnonymous()) {
return "redirect:/login";
}
@@ -497,13 +502,12 @@ public class MessagesWWW {
return "views/pm_sent";
}
@GetMapping(value = "/{uname}/{mid}", produces = MediaType.TEXT_HTML_VALUE)
- protected String threadAction(ModelMap model,
- @PathVariable String uname,
- @PathVariable int mid,
- @CookieValue(name = "sape_cookie",
- required = false, defaultValue = StringUtils.EMPTY) String sapeCookie) {
- com.juick.User visitor = UserUtils.getCurrentUser();
-
+ protected String threadAction(
+ @Visitor User visitor,
+ ModelMap model,
+ @PathVariable String uname,
+ @PathVariable int mid,
+ @CookieValue(name = "sape_cookie", required = false, defaultValue = StringUtils.EMPTY) String sapeCookie) {
if (!messagesService.canViewThread(mid, visitor.getUid())) {
throw new HttpForbiddenException();
}
@@ -603,8 +607,9 @@ public class MessagesWWW {
}
@GetMapping("/post")
- protected String postAction(@RequestParam(required = false) String body, ModelMap model) {
- com.juick.User visitor = UserUtils.getCurrentUser();
+ protected String postAction(
+ @Visitor User visitor,
+ @RequestParam(required = false) String body, ModelMap model) {
fillUserModel(model, visitor, visitor);
visitor.setAvatar(webApp.getAvatarWebPath(visitor));
model.addAttribute("title", "Написать");