From fc53fd7d63c703b2664e5cb0cbd6360e4b3f7bd5 Mon Sep 17 00:00:00 2001 From: Ugnich Anton Date: Sat, 5 Jan 2013 03:59:25 +0700 Subject: Tag *code --- src/java/com/juick/http/www/PageTemplates.java | 34 ++++++++++++++++++++++++-- src/java/com/juick/http/www/UserThread.java | 9 ++++++- web/style3.css | 9 ++++--- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/src/java/com/juick/http/www/PageTemplates.java b/src/java/com/juick/http/www/PageTemplates.java index 80b5a22e..11d20f32 100644 --- a/src/java/com/juick/http/www/PageTemplates.java +++ b/src/java/com/juick/http/www/PageTemplates.java @@ -52,7 +52,7 @@ public class PageTemplates { out.println(""); out.println(""); out.println(" " + title + ""); - out.println(" "); + out.println(" "); out.println(" "); out.println(" "); out.println(" "); @@ -261,6 +261,29 @@ public class PageTemplates { } private static Pattern regexLinks2 = Pattern.compile("((?<=\\s)|(?<=\\A))([\\[\\{]|<)((?:ht|f)tps?://(?:www\\.)?([^\\/\\s\\\"\\)\\!]+)/?(?:[^\\]\\}](?", ">"); + + // http://juick.com/last?page=2 + // http://juick.com/last?page=2 + msg = msg.replaceAll("((?<=\\s)|(?<=\\A))((?:ht|f)tps?://(?:www\\.)?([^\\/\\s\\n\\\"]+)/?[^\\s\\n\\\"]*)", "$1$2"); + + // (http://juick.com/last?page=2) + // (http://juick.com/last?page=2) + Matcher m = regexLinks2.matcher(msg); + StringBuffer sb = new StringBuffer(); + while (m.find()) { + String url = m.group(3).replace(" ", "%20").replaceAll("\\s+", ""); + m.appendReplacement(sb, "$1$2" + url + "$5"); + } + m.appendTail(sb); + msg = sb.toString(); + + return "
" + msg + "
"; + } + public static String formatMessage(String msg) { msg = msg.replaceAll("&", "&"); msg = msg.replaceAll("<", "<"); @@ -360,6 +383,13 @@ public class PageTemplates { break; } + String txt; + if (!msg.Tags.isEmpty() && msg.Tags.contains("code")) { + txt = formatMessageCode(msg.Text); + } else { + txt = formatMessage(msg.Text); + } + out.println("
  • "); out.println("
    \""
    "); out.println("
    @" + msg.User.UName + ":" + tags + "
    "); @@ -367,7 +397,7 @@ public class PageTemplates { if (msg.Place != null) { out.println("
    " + msg.Place.name + "
    "); } - out.println("
    " + formatMessage(msg.Text) + "
    "); + out.print("
    " + txt + "
    "); if (msg.AttachmentType != null) { if (msg.AttachmentType.equals("jpg")) { diff --git a/src/java/com/juick/http/www/UserThread.java b/src/java/com/juick/http/www/UserThread.java index 9001bd17..3b315be2 100644 --- a/src/java/com/juick/http/www/UserThread.java +++ b/src/java/com/juick/http/www/UserThread.java @@ -114,6 +114,13 @@ public class UserThread { break; } + String txt; + if (!msg.Tags.isEmpty() && msg.Tags.contains("code")) { + txt = PageTemplates.formatMessageCode(msg.Text); + } else { + txt = PageTemplates.formatMessage(msg.Text); + } + out.println("