From ef82cc4f202e6ff94613d5e40ab7690aaa86076b Mon Sep 17 00:00:00 2001 From: jrandom Date: Sat, 26 Nov 2005 05:05:52 +0000 Subject: [PATCH] 2005-11-25 jrandom * Further Syndie UI cleanups * Logging cleanup * Fixed link to fproxy.tino.i2p (thanks zzz!) --- .../i2p/syndie/sml/ThreadedHTMLRenderer.java | 22 ++++++++++++++ .../src/net/i2p/syndie/web/BaseServlet.java | 19 ++++++++++-- .../i2p/syndie/web/ViewThreadedServlet.java | 29 +++++++++++++++---- history.txt | 7 ++++- readme.html | 2 +- .../src/net/i2p/router/RouterVersion.java | 4 +-- .../transport/udp/InboundMessageState.java | 11 ++----- 7 files changed, 73 insertions(+), 21 deletions(-) diff --git a/apps/syndie/java/src/net/i2p/syndie/sml/ThreadedHTMLRenderer.java b/apps/syndie/java/src/net/i2p/syndie/sml/ThreadedHTMLRenderer.java index c9995b935..03c6dc5cd 100644 --- a/apps/syndie/java/src/net/i2p/syndie/sml/ThreadedHTMLRenderer.java +++ b/apps/syndie/java/src/net/i2p/syndie/sml/ThreadedHTMLRenderer.java @@ -114,6 +114,28 @@ public class ThreadedHTMLRenderer extends HTMLRenderer { return buf.toString(); } + public static String getViewPostLink(String uri, BlogURI post, User user, boolean isPermalink, + String offset, String tags, String author) { + StringBuffer buf = new StringBuffer(64); + buf.append(uri); + buf.append('?').append(PARAM_VISIBLE).append('='); + buf.append(post.getKeyHash().toBase64()).append('/'); + buf.append(post.getEntryId()).append('&'); + buf.append(PARAM_VIEW_POST).append('='); + buf.append(post.getKeyHash().toBase64()).append('/'); + buf.append(post.getEntryId()).append('&'); + + if (!isPermalink) { + if (!empty(offset)) + buf.append(PARAM_OFFSET).append('=').append(offset).append('&'); + if (!empty(tags)) + buf.append(PARAM_TAGS).append('=').append(tags).append('&'); + if (!empty(author)) + buf.append(PARAM_AUTHOR).append('=').append(author).append('&'); + } + + return buf.toString(); + } private static final boolean empty(String val) { return (val == null) || (val.trim().length() <= 0); } diff --git a/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java b/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java index 853d0a742..90405ffcb 100644 --- a/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java +++ b/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java @@ -800,6 +800,12 @@ public abstract class BaseServlet extends HttpServlet { req.getParameter(ThreadedHTMLRenderer.PARAM_TAGS), req.getParameter(ThreadedHTMLRenderer.PARAM_AUTHOR)); } + protected String getViewPostLink(HttpServletRequest req, BlogURI post, User user) { + return ThreadedHTMLRenderer.getViewPostLink(req.getRequestURI(), post, user, false, + req.getParameter(ThreadedHTMLRenderer.PARAM_OFFSET), + req.getParameter(ThreadedHTMLRenderer.PARAM_TAGS), + req.getParameter(ThreadedHTMLRenderer.PARAM_AUTHOR)); + } protected String getViewThreadLink(HttpServletRequest req, ThreadNode node, User user) { return getViewThreadLink(req.getRequestURI(), node, user, req.getParameter(ThreadedHTMLRenderer.PARAM_OFFSET), @@ -926,9 +932,6 @@ public abstract class BaseServlet extends HttpServlet { " text-align: left;\n" + " align: left;\n" + "}\n" + -".threadRight {\n" + -" text-align: right;\n" + -"}\n" + ".threadNav {\n" + " background-color: #BBBBBB;\n" + "}\n" + @@ -942,6 +945,16 @@ public abstract class BaseServlet extends HttpServlet { " margin: 0 5px 0 0;\n" + " display: inline;\n" + "}\n" + +".threadInfoLeft {\n" + +" float: left;\n" + +" margin: 5px 0px 0 0;\n" + +" display: inline;\n" + +"}\n" + +".threadInfoRight {\n" + +" float: right;\n" + +" margin: 0 5px 0 0;\n" + +" display: inline;\n" + +"}\n" + ".postMeta {\n" + " background-color: #BBBBFF;\n" + "}\n" + diff --git a/apps/syndie/java/src/net/i2p/syndie/web/ViewThreadedServlet.java b/apps/syndie/java/src/net/i2p/syndie/web/ViewThreadedServlet.java index d0dd7666e..a6bd2e852 100644 --- a/apps/syndie/java/src/net/i2p/syndie/web/ViewThreadedServlet.java +++ b/apps/syndie/java/src/net/i2p/syndie/web/ViewThreadedServlet.java @@ -173,9 +173,11 @@ public class ViewThreadedServlet extends BaseServlet { else out.write("\n"); - out.write(""); + out.write(""); + out.write(""); + //out.write(""); out.write(getFlagHTML(user, node)); - out.write("\n\n"); + //out.write("\n\n"); for (int i = 0; i < depth; i++) out.write("\"\""); @@ -250,7 +252,7 @@ public class ViewThreadedServlet extends BaseServlet { out.write(getViewPostLink(req, node, user, false)); out.write("\" title=\"View post\">"); long dayBegin = BlogManager.instance().getDayBegin(); - long postId = node.getMostRecentPostDate(); + long postId = node.getEntry().getEntryId(); if (postId >= dayBegin) { out.write("today"); } else if (postId >= dayBegin - 24*60*60*1000) { @@ -270,16 +272,33 @@ public class ViewThreadedServlet extends BaseServlet { if (subject == null) subject = ""; out.write(trim(subject, 40)); - out.write("\n\n"); + //out.write("\n\n"); + out.write(""); if (childCount > 0) { + out.write(" latest - "); + + postId = node.getMostRecentPostDate(); + if (postId >= dayBegin) { + out.write("today"); + } else if (postId >= dayBegin - 24*60*60*1000) { + out.write("yesterday"); + } else { + int daysAgo = (int)((dayBegin - postId + 24*60*60*1000-1)/(24*60*60*1000)); + out.write(daysAgo + " days ago"); + } + + out.write("\n"); out.write(" view thread\n"); + out.write("\" title=\"View all posts in the thread\">full thread\n"); } else { out.write("view post\n"); } + out.write(""); out.write("\n"); boolean rendered = true; diff --git a/history.txt b/history.txt index 6b3a68b25..3777ba7f8 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,9 @@ -$Id: history.txt,v 1.328 2005/11/24 03:45:57 jrandom Exp $ +$Id: history.txt,v 1.329 2005/11/25 06:06:03 jrandom Exp $ + +2005-11-25 jrandom + * Further Syndie UI cleanups + * Logging cleanup + * Fixed link to fproxy.tino.i2p (thanks zzz!) 2005-11-25 jrandom * Don't publish stats for periods we haven't reached yet (thanks zzz!) diff --git a/readme.html b/readme.html index 83f4031ac..c7b0e3701 100644 --- a/readme.html +++ b/readme.html @@ -17,7 +17,7 @@ you can:

  • search.i2p: an anonymously hosted search engine of eepsites
  • ugha.i2p: ugha's eepsite, a wiki that anyone can edit, and lots of links
  • dev.i2p: a secure and anonymous connection to dev.i2p.net
  • -
  • Freenet proxies: fproxy.i2p and fproxy.tino.i2p
  • +
  • Freenet proxies: fproxy.i2p and fproxy.tino.i2p
  • There are many more eepsites - just follow the links from the ones you see, bookmark your favorites, and visit them often! diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 21bc31c29..475ef4453 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -15,9 +15,9 @@ import net.i2p.CoreVersion; * */ public class RouterVersion { - public final static String ID = "$Revision: 1.296 $ $Date: 2005/11/24 03:45:56 $"; + public final static String ID = "$Revision: 1.297 $ $Date: 2005/11/25 06:06:02 $"; public final static String VERSION = "0.6.1.5"; - public final static long BUILD = 7; + public final static long BUILD = 8; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID); diff --git a/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java b/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java index 833c698d1..31f6e94e6 100644 --- a/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java +++ b/router/java/src/net/i2p/router/transport/udp/InboundMessageState.java @@ -53,11 +53,7 @@ public class InboundMessageState { public boolean receiveFragment(UDPPacketReader.DataReader data, int dataFragment) { int fragmentNum = data.readMessageFragmentNum(dataFragment); if ( (fragmentNum < 0) || (fragmentNum > _fragments.length)) { - StringBuffer buf = new StringBuffer(1024); - buf.append("Invalid fragment ").append(fragmentNum); - buf.append(": ").append(data); - //data.toRawString(buf); - _log.error(buf.toString()); + _log.error("Invalid fragment " + fragmentNum + "/" + _fragments.length); return false; } if (_fragments[fragmentNum] == null) { @@ -77,10 +73,7 @@ public class InboundMessageState { + ", isLast=" + isLast + ", data=" + Base64.encode(message.getData(), 0, size)); } catch (ArrayIndexOutOfBoundsException aioobe) { - StringBuffer buf = new StringBuffer(1024); - buf.append("Corrupt SSU fragment ").append(fragmentNum); - buf.append(": ").append(data); - _log.error(buf.toString(), aioobe); + _log.error("Corrupt SSU fragment " + fragmentNum, aioobe); return false; } } else {