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");