diff options
Diffstat (limited to 'juick-www/src/main/java/com/juick/www/Utils.java')
-rw-r--r-- | juick-www/src/main/java/com/juick/www/Utils.java | 140 |
1 files changed, 1 insertions, 139 deletions
diff --git a/juick-www/src/main/java/com/juick/www/Utils.java b/juick-www/src/main/java/com/juick/www/Utils.java index ca3535fd..37016ed2 100644 --- a/juick-www/src/main/java/com/juick/www/Utils.java +++ b/juick-www/src/main/java/com/juick/www/Utils.java @@ -17,31 +17,21 @@ */ package com.juick.www; -import com.juick.Tag; -import com.juick.User; -import com.juick.server.TagQueries; -import com.mitchellbosecke.pebble.PebbleEngine; -import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.jdbc.core.JdbcTemplate; -import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; -import java.io.FileOutputStream; import java.io.IOException; -import java.io.InputStream; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.nio.charset.StandardCharsets; -import java.nio.file.Paths; -import java.util.*; +import java.util.Arrays; /** * @@ -51,9 +41,6 @@ public class Utils { private static final Logger logger = LoggerFactory.getLogger(Utils.class); - private static final PebbleEngine engine = new PebbleEngine.Builder().build(); - private static String tmpDir = "/var/www/juick.com/i/tmp/"; - public static String getCookie(HttpServletRequest request, String name) { Cookie cookies[] = request.getCookies(); if (cookies != null) { @@ -63,40 +50,7 @@ public class Utils { return null; } - public static String receiveMultiPartFile(Part filePart) throws IOException, ServletException { - String attachmentFName = null; - - if (filePart != null) { - String partname = Utils.getPartFilename(filePart); - if (partname != null && partname.length() > 0) { - String attachmentType = partname.substring(partname.length() - 3).toLowerCase(); - if (attachmentType.equals("jpg") || attachmentType.equals("peg") || attachmentType.equals("png")) { - if (attachmentType.equals("peg")) { - attachmentType = "jpg"; - } - attachmentFName = DigestUtils.md5Hex(UUID.randomUUID().toString()) + "." + attachmentType; - filePart.write(Paths.get(getTmpDir(), attachmentFName).toString()); - } else { - throw new IOException("Wrong file type"); - } - } - } - - return attachmentFName; - } - public static com.juick.User getVisitorUser(JdbcTemplate sql, HttpServletRequest request, HttpServletResponse response) { - String hash = getCookie(request, "hash"); - if (hash != null) { - com.juick.User visitor = com.juick.server.UserQueries.getUserByHash(sql, hash); - if (response != null && visitor.getUid() > 0) { - response.setHeader("X-Username", visitor.getName()); - } - return visitor; - } else { - return new User(); - } - } public static void sendTemporaryRedirect(HttpServletResponse response, String location) { response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); @@ -154,96 +108,4 @@ public class Utils { return null; } } - - public static String downloadImage(URL url) throws Exception { - String attachmentFName = null; - Exception ex = null; - - InputStream is = null; - FileOutputStream fos = null; - try { - URLConnection urlConn = url.openConnection(); - is = urlConn.getInputStream(); - String mime = urlConn.getContentType(); - - String attachmentType; - if (mime != null && mime.equals("image/jpeg")) { - attachmentType = "jpg"; - } else if (mime != null && mime.equals("image/png")) { - attachmentType = "png"; - } else { - throw new Exception("Wrong file type"); - } - - attachmentFName = DigestUtils.md5Hex(UUID.randomUUID().toString()) + "." + attachmentType; - fos = new FileOutputStream("/var/www/juick.com/i/tmp/" + attachmentFName); - byte[] buffer = new byte[10240]; - int len; - while ((len = is.read(buffer)) > 0) { - fos.write(buffer, 0, len); - } - } catch (Exception e) { - ex = e; - attachmentFName = null; - } finally { - try { - if (is != null) { - is.close(); - } - } finally { - if (fos != null) { - fos.close(); - } - } - } - - if (ex != null) { - throw ex; - } else { - return attachmentFName; - } - } - - public static List<Tag> parseTags(JdbcTemplate sql, String tagsStr) { - List<com.juick.Tag> tags = new ArrayList<>(); - String tagsArr[]; - if (tagsStr != null && !tagsStr.isEmpty()) { - tagsArr = tagsStr.split("[ \\,]"); - for (int i = 0; i < tagsArr.length; i++) { - if (tagsArr[i].startsWith("*")) { - tagsArr[i] = tagsArr[i].substring(1); - } - if (tagsArr[i].length() > 64) { - tagsArr[i] = tagsArr[i].substring(0, 64); - } - } - tags = TagQueries.getTags(sql, tagsArr, true); - while (tags.size() > 5) { - tags.remove(5); - } - } - return tags; - } - - public static String receiveAttachment(Part part, String paramImg) throws Exception { - String attachmentFName = receiveMultiPartFile(part); - - if (attachmentFName == null && paramImg != null && paramImg.length() > 10) { - URL imgUrl = new URL(paramImg); - attachmentFName = downloadImage(imgUrl); - } - return attachmentFName; - } - - public static PebbleEngine getEngine() { - return engine; - } - - public static String getTmpDir() { - return tmpDir; - } - - public static void setTmpDir(String tmpDir) { - Utils.tmpDir = tmpDir; - } } |