aboutsummaryrefslogtreecommitdiff
path: root/juick-spring-www/src/main/java/com/juick/www/controllers/IndexController.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-spring-www/src/main/java/com/juick/www/controllers/IndexController.java')
-rw-r--r--juick-spring-www/src/main/java/com/juick/www/controllers/IndexController.java133
1 files changed, 0 insertions, 133 deletions
diff --git a/juick-spring-www/src/main/java/com/juick/www/controllers/IndexController.java b/juick-spring-www/src/main/java/com/juick/www/controllers/IndexController.java
deleted file mode 100644
index 87540795..00000000
--- a/juick-spring-www/src/main/java/com/juick/www/controllers/IndexController.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package com.juick.www.controllers;
-
-import com.juick.Message;
-import com.juick.User;
-import com.juick.service.MessagesService;
-import com.juick.service.TagService;
-import com.juick.service.UserService;
-import com.juick.util.UserUtils;
-import com.juick.www.util.EncodeUtils;
-import org.apache.commons.lang3.StringEscapeUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.context.MessageSource;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import javax.inject.Inject;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-/**
- * Created by aalexeev on 11/21/16.
- */
-@Controller
-public class IndexController {
- @Inject
- private MessageSource messageSource;
- @Inject
- private UserService userService;
- @Inject
- private MessagesService messagesService;
- @Inject
- private TagService tagService;
-
- @RequestMapping(value = "/", method = RequestMethod.GET)
- public String indexPage(
- @RequestParam("show") Optional<String> paramShow,
- @RequestParam("tag") Optional<String> paramTagStr,
- @RequestParam(value = "before") Optional<Integer> paramBefore,
- @RequestParam(value = "search", required = false) String paramSearch,
- ModelMap model) throws IOException {
-
- int before = paramBefore.orElse(0);
- String tag = paramTagStr.orElse(StringUtils.EMPTY);
-
- if (StringUtils.isNotEmpty(tag)) {
- StringBuilder builder = new StringBuilder();
- builder.append("redirect:").append("/tag/").append(tag);
- if (before > 0)
- builder.append("?before=").append(before);
- return builder.toString();
- }
-
- if (StringUtils.isNotEmpty(paramSearch) && paramSearch.length() > 64)
- paramSearch = StringUtils.EMPTY;
-
- User visitor = UserUtils.getCurrentUser();
-
- String title = StringUtils.EMPTY;
-
- List<Integer> mids = new ArrayList<>();
-
- if (StringUtils.isNotEmpty(paramSearch)) {
- title = "Поиск: " + StringEscapeUtils.escapeHtml4(paramSearch);
- mids = messagesService.getSearch(EncodeUtils.encodeSphinx(paramSearch),
- before);
- } else if (!paramShow.isPresent()) {
- mids = messagesService.getPopular(visitor.getUid(), before);
- } else if (paramShow.get().equals("top")) {
- return "redirect:/";
- } else if (paramShow.get().equals("my") && visitor.getUid() > 0) {
- title = "Моя лента";
- mids = messagesService.getMyFeed(visitor.getUid(), before);
- } else if (paramShow.get().equals("private") && visitor.getUid() > 0) {
- title = "Приватные";
- mids = messagesService.getPrivate(visitor.getUid(), before);
- } else if (paramShow.get().equals("discuss") && visitor.getUid() > 0) {
- title = "Обсуждения";
- mids = messagesService.getDiscussions(visitor.getUid(), before);
- } else if (paramShow.get().equals("recommended") && visitor.getUid() > 0) {
- title = "Рекомендации";
- mids = messagesService.getRecommended(visitor.getUid(), before);
- } else if (paramShow.get().equals("photos")) {
- title = "Фотографии";
- mids = messagesService.getPhotos(visitor.getUid(), before);
- } else if (paramShow.get().equals("all")) {
- title = "Все сообщения";
- mids = messagesService.getAll(visitor.getUid(), before);
- }
- model.addAttribute("title", title);
- model.addAttribute("tags", tagService.getPopularTags());
- List<Message> msgs = messagesService.getMessages(mids);
- List<Integer> blUIDs = userService.checkBL(visitor.getUid(),
- msgs.stream().map(m -> m.getUser().getUid()).collect(Collectors.toList()));
- model.addAttribute("msgs",
- msgs.stream().map(msg -> {
- msg.ReadOnly |= blUIDs.contains(msg.getUser().getUid());
- if (msg.ReadOnly) {
- msg.ReadOnly = visitor.getUid() != msg.getUser().getUid();
- }
- return msg;
- }).collect(Collectors.toList())
- );
- if (mids.size() >= 20) {
- String nextpage = "?before=" + mids.get(mids.size() - 1);
- if (paramShow.isPresent()) {
- nextpage += "&show=" + paramShow.get();
- }
- if (StringUtils.isNotEmpty(paramSearch)) {
- nextpage += "&search=" + paramSearch;
- }
- model.addAttribute("nextpage", nextpage);
- }
- return "views/index";
- }
-
- @RequestMapping(value = "/login", method = RequestMethod.GET)
- public String getLoginForm() {
- return "views/login";
- }
-
- @RequestMapping(value = "/login-error", method = RequestMethod.GET)
- public String getLoginErrorForm(Model model) {
- model.addAttribute("loginError", true);
- return "views/login";
- }
-} \ No newline at end of file