[freenet-cvs] r11297 - trunk/plugins/Librarian

toad at freenetproject.org toad at freenetproject.org
Thu Dec 7 22:25:46 UTC 2006


Author: toad
Date: 2006-12-07 22:25:45 +0000 (Thu, 07 Dec 2006)
New Revision: 11297

Modified:
   trunk/plugins/Librarian/Librarian.java
Log:
Allow an external stylesheet to be specified in the form.

Modified: trunk/plugins/Librarian/Librarian.java
===================================================================
--- trunk/plugins/Librarian/Librarian.java	2006-12-07 22:08:14 UTC (rev 11296)
+++ trunk/plugins/Librarian/Librarian.java	2006-12-07 22:25:45 UTC (rev 11297)
@@ -11,6 +11,8 @@
 import freenet.client.FetchResult;
 import freenet.client.HighLevelSimpleClient;
 import freenet.clients.http.HTTPRequest;
+import freenet.clients.http.filter.CommentException;
+import freenet.clients.http.filter.FilterCallback;
 import freenet.keys.FreenetURI;
 import freenet.pluginmanager.FredPlugin;
 import freenet.pluginmanager.FredPluginHTTP;
@@ -67,8 +69,11 @@
 		return ret;
 	}
 	
-	private void appendDefaultPageStart(StringBuffer out) {
-		out.append("<HTML><HEAD><TITLE>" + plugName + "</TITLE></HEAD><BODY>\n");
+	private void appendDefaultPageStart(StringBuffer out, String stylesheet) {
+		out.append("<HTML><HEAD><TITLE>" + plugName + "</TITLE>");
+		if(stylesheet != null)
+			out.append("<link href=\""+stylesheet+"\" type=\"text/css\" rel=\"stylesheet\" />");
+		out.append("</HEAD><BODY>\n");
 		out.append("<CENTER><H1>" + plugName + "</H1><BR/><BR/><BR/>\n");
 	}
 
@@ -161,9 +166,18 @@
 		//int page = request.getIntParam("page", 1);
 		String indexuri = request.getParam("index", DEFAULT_INDEX_URI);
 		String search = request.getParam("search");
+		String stylesheet = request.getParam("stylesheet");
+		if(stylesheet != null) {
+			FilterCallback cb = pr.makeFilterCallback(request.getPath());
+			try {
+				stylesheet = cb.processURI(stylesheet, "text/css");
+			} catch (CommentException e) {
+				return "Invalid stylesheet";
+			}
+		}
 		
 		if (search.equals("")) {
-			appendDefaultPageStart(out);
+			appendDefaultPageStart(out, stylesheet);
 			//appendDefaultPostFields(out);
 			appendDefaultPostFields(out, search, indexuri);
 			appendDefaultPageEnd(out);
@@ -188,7 +202,7 @@
 			
 			HashMap index = getFullIndex(indexuri);
 			
-			appendDefaultPageStart(out);
+			appendDefaultPageStart(out, stylesheet);
 			appendDefaultPostFields(out, search, indexuri);
 
 			out.append("<p><span class=\"librarian.searching-for.header\">Searching for: </span><span class=\"librarian.searching-for.target\">").append(HTMLEncoder.encode(search)).append("</span></p>\n");




More information about the cvs mailing list