From ec878e9dfc1cb6c8c640f90d1fcdcbc9dc945275 Mon Sep 17 00:00:00 2001 From: "Eric J. Bowersox" Date: Wed, 31 Oct 2001 02:13:02 +0000 Subject: [PATCH] Venice now groks Cascading StyleSheets; the stylesheet is generated by a special servlet and cached at runtime; various JSP pages and formatter classes have been updated to respect the stylesheet settings --- build.xml | 6 +- etc/render-config.xml | 5 + etc/template.css | 53 ++++++ etc/web.xml | 27 ++- src/com/silverwrist/util/AnyCharMatcher.java | 86 +++++++++ src/com/silverwrist/util/IOUtil.java | 175 ++++++++++++++++++ src/com/silverwrist/util/StringUtil.java | 97 ++++++++-- .../venice/servlets/StyleSheet.java | 56 ++++++ src/com/silverwrist/venice/servlets/Top.java | 8 +- .../venice/servlets/Variables.java | 29 ++- .../servlets/format/AuditDataViewer.java | 36 ++-- .../servlets/format/CDBaseFormField.java | 4 +- .../format/CDBaseFormFieldReverse.java | 4 +- .../servlets/format/CDFormCategoryHeader.java | 4 +- .../servlets/format/CDPasswordFormField.java | 5 +- .../servlets/format/CDPickListFormField.java | 2 +- .../servlets/format/CDTextFormField.java | 5 +- .../servlets/format/ColorSelectors.java | 30 +-- .../venice/servlets/format/ContentDialog.java | 10 +- .../venice/servlets/format/MenuSIG.java | 7 +- .../venice/servlets/format/RenderConfig.java | 86 ++++++++- .../venice/servlets/format/RenderData.java | 21 ++- .../servlets/format/SideBoxConferences.java | 13 +- .../venice/servlets/format/SideBoxSIGs.java | 15 +- .../venice/servlets/format/TopDisplay.java | 10 +- .../servlets/format/menus/LeftMenuItem.java | 13 +- web/format/admin_find.jsp | 17 +- web/format/attach_form.jsp | 23 ++- web/format/base.jsp | 34 ++-- web/format/conf_activity.jsp | 30 ++- web/format/conf_member.jsp | 23 +-- web/format/conf_sequence.jsp | 12 +- web/format/conferences.jsp | 4 +- web/format/find.jsp | 19 +- web/format/hotlist.jsp | 8 +- web/format/invitation.jsp | 21 ++- web/format/manage_aliases.jsp | 13 +- web/format/manage_conf.jsp | 7 +- web/format/newtopic.jsp | 24 ++- web/format/posts.jsp | 73 ++++---- web/format/preview.jsp | 21 ++- web/format/report_conf.jsp | 20 +- web/format/sig_member.jsp | 23 +-- web/format/sigcatbrowser.jsp | 2 +- web/format/siglist.jsp | 4 +- web/format/sigprofile.jsp | 4 +- web/format/slippage.jsp | 25 +-- web/format/topics.jsp | 24 +-- web/format/user_photo.jsp | 12 +- web/format/userprofile.jsp | 21 ++- 50 files changed, 954 insertions(+), 317 deletions(-) create mode 100644 etc/template.css create mode 100644 src/com/silverwrist/util/AnyCharMatcher.java create mode 100644 src/com/silverwrist/util/IOUtil.java create mode 100644 src/com/silverwrist/venice/servlets/StyleSheet.java diff --git a/build.xml b/build.xml index 06cd4e4..401b6bf 100644 --- a/build.xml +++ b/build.xml @@ -27,7 +27,6 @@ - @@ -36,10 +35,7 @@ - - - - + diff --git a/etc/render-config.xml b/etc/render-config.xml index 9d3b596..87d6058 100644 --- a/etc/render-config.xml +++ b/etc/render-config.xml @@ -41,6 +41,9 @@ Arial, Helvetica + + WEB-INF/template.css + @@ -50,6 +53,7 @@ yellow #9999FF black + blue white black #3333AA @@ -59,6 +63,7 @@ white #9999FF black + blue #006600 white #660000 diff --git a/etc/template.css b/etc/template.css new file mode 100644 index 0000000..55a86b2 --- /dev/null +++ b/etc/template.css @@ -0,0 +1,53 @@ + diff --git a/etc/web.xml b/etc/web.xml index fb352fe..2c59ed8 100644 --- a/etc/web.xml +++ b/etc/web.xml @@ -32,16 +32,16 @@ Modify as needed to suit your system. --> logging.config - /home/erbo/venice/WEB-INF/logging-config.xml + WEB-INF/logging-config.xml - The full path and file name of the LOG4J configuration file, which needs - to be loaded into LOG4J's DOMConfigurator at start-up. + The path and file name, relative to the application root directory, of the LOG4J configuration file, + which needs to be loaded into LOG4J's DOMConfigurator at start-up. venice.config - /home/erbo/venice/WEB-INF/venice-config.xml + WEB-INF/venice-config.xml The full path and file name of the Venice engine configuration file, which needs to be loaded into the Venice engine at start-up. @@ -50,10 +50,10 @@ render.config - /home/erbo/venice/WEB-INF/render-config.xml + WEB-INF/render-config.xml - The full path and file name of the Venice rendering configuration file, which - needs to be loaded into the Venice rendering system at start-up. + The path and file name, relative to the application root directory, of the Venice rendering + configuration file, which needs to be loaded into the Venice rendering system at start-up. @@ -222,6 +222,14 @@ com.silverwrist.venice.servlets.UserPhoto + + stylesheet + + Generates the stylesheet included by the top-level JSP file). + + com.silverwrist.venice.servlets.StyleSheet + + @@ -335,6 +343,11 @@ /userphoto + + stylesheet + /stylesheet + + testformdata diff --git a/src/com/silverwrist/util/AnyCharMatcher.java b/src/com/silverwrist/util/AnyCharMatcher.java new file mode 100644 index 0000000..6deca12 --- /dev/null +++ b/src/com/silverwrist/util/AnyCharMatcher.java @@ -0,0 +1,86 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.util; + +public final class AnyCharMatcher +{ + /*-------------------------------------------------------------------------------- + * Attributes + *-------------------------------------------------------------------------------- + */ + + private char[] charset; + private int[] locs; + + /*-------------------------------------------------------------------------------- + * Constructors + *-------------------------------------------------------------------------------- + */ + + public AnyCharMatcher(char[] charset) + { + this.charset = charset; + this.locs = new int[charset.length]; + + } // end constructor + + public AnyCharMatcher(String charset) + { + this.charset = charset.toCharArray(); + this.locs = new int[charset.length()]; + + } // end constructor + + /*-------------------------------------------------------------------------------- + * External operations + *-------------------------------------------------------------------------------- + */ + + public final int get(String str) + { + int numindexes = 0; + int i; + for (i=0; i=0) + locs[numindexes++] = tmp; + + } // end for + + if (numindexes==0) + return -1; // no characters found + else if (numindexes==1) + return locs[0]; // only one found + + int rc = locs[0]; + for (i=1; i. + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.util; + +import java.io.*; + +/* Some concepts in here borrowed from Apache Jakarta Avalon Excalibur 4.0 */ + +public class IOUtil +{ + /*-------------------------------------------------------------------------------- + * Static data members + *-------------------------------------------------------------------------------- + */ + + public static int DEFAULT_BUFSIZE = 4096; + + /*-------------------------------------------------------------------------------- + * External static operations + *-------------------------------------------------------------------------------- + */ + + public static void shutdown(InputStream stm) + { + try + { // close the stream + stm.close(); + + } // end try + catch (IOException e) + { // throw away the exception + } // end catch + + } // end shutdown + + public static void shutdown(OutputStream stm) + { + try + { // close the stream + stm.close(); + + } // end try + catch (IOException e) + { // throw away the exception + } // end catch + + } // end shutdown + + public static void shutdown(Reader rdr) + { + try + { // close the stream + rdr.close(); + + } // end try + catch (IOException e) + { // throw away the exception + } // end catch + + } // end shutdown + + public static void shutdown(Writer wr) + { + try + { // close the stream + wr.close(); + + } // end try + catch (IOException e) + { // throw away the exception + } // end catch + + } // end shutdown + + public static void copy(InputStream input, OutputStream output, int bufsize) throws IOException + { + byte[] buffer = new byte[bufsize]; + int rd = input.read(buffer); + while (rd>=0) + { // simple read-write loop to shove data out the door + if (rd>0) + output.write(buffer,0,rd); + rd = input.read(buffer); + + } // end while + + } // end copy + + public static void copy(InputStream input, OutputStream output) throws IOException + { + copy(input,output,DEFAULT_BUFSIZE); + + } // end copy + + public static void copy(Reader input, Writer output, int bufsize) throws IOException + { + char[] buffer = new char[bufsize]; + int rd = input.read(buffer); + while (rd>=0) + { // simple read-write loop to shove data out the door + if (rd>0) + output.write(buffer,0,rd); + rd = input.read(buffer); + + } // end while + + } // end copy + + public static void copy(Reader input, Writer output) throws IOException + { + copy(input,output,DEFAULT_BUFSIZE); + + } // end copy + + public static StringBuffer load(Reader input, int bufsize) throws IOException + { + StringWriter wr = new StringWriter(); + try + { // copy from reader to StringWriter + copy(input,wr,bufsize); + return wr.getBuffer(); + + } // end try + finally + { // make sure and close the StringWriter before we go + shutdown(wr); + + } // end finally + + } // end load + + public static StringBuffer load(Reader input) throws IOException + { + return load(input,DEFAULT_BUFSIZE); + + } // end load + + public static StringBuffer load(File file, int bufsize) throws IOException + { + FileReader rdr = new FileReader(file); + try + { // load from the string reader + return load(rdr,bufsize); + + } // end try + finally + { // make sure and close the reader before we go + shutdown(rdr); + + } // end finally + + } // end load + + public static StringBuffer load(File file) throws IOException + { + return load(file,DEFAULT_BUFSIZE); + + } // end load + +} // end class IOUtil diff --git a/src/com/silverwrist/util/StringUtil.java b/src/com/silverwrist/util/StringUtil.java index e272f32..583421d 100644 --- a/src/com/silverwrist/util/StringUtil.java +++ b/src/com/silverwrist/util/StringUtil.java @@ -7,7 +7,7 @@ * WARRANTY OF ANY KIND, either express or implied. See the License for the specific * language governing rights and limitations under the License. * - * The Original Code is the Venice Web Community System. + * The Original Code is the Venice Web Communities System. * * The Initial Developer of the Original Code is Eric J. Bowersox , * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are @@ -17,8 +17,24 @@ */ package com.silverwrist.util; +import java.util.*; + public class StringUtil { + /*-------------------------------------------------------------------------------- + * Static data members + *-------------------------------------------------------------------------------- + */ + + private static final String VAR_START = "${"; + private static final String VAR_END = "}"; + private static final char[] HTML_ENCODE_CHARS = { '"', '&', '<', '>' }; + + /*-------------------------------------------------------------------------------- + * External static operations + *-------------------------------------------------------------------------------- + */ + public static String encodeStringSQL(String str) { if (str==null) @@ -46,10 +62,16 @@ public class StringUtil { if (str==null) return null; + AnyCharMatcher nhc = new AnyCharMatcher(HTML_ENCODE_CHARS); + int ndx = nhc.get(str); + if (ndx<0) + return str; // trivial short-circuit case StringBuffer buf = new StringBuffer(); - for (int i=0; i=0) + { // append the matched "head" and then the encoded character + if (ndx>0) + buf.append(str.substring(0,ndx)); + switch (str.charAt(ndx++)) { case '"': buf.append("""); @@ -67,14 +89,16 @@ public class StringUtil buf.append(">"); break; - default: - buf.append(str.charAt(i)); - break; - } // end switch - } // end for + if (ndx==str.length()) + return buf.toString(); // munched the entire string - all done! + str = str.substring(ndx); + ndx = nhc.get(str); + } // end while + + buf.append(str); // append the unmatched tail return buf.toString(); } // end encodeHTML @@ -101,22 +125,55 @@ public class StringUtil // break off the tail end ndx += find.length(); if (ndx==work.length()) - work = null; - else - work = work.substring(ndx); - - // do the next find - if (work!=null) - ndx = work.indexOf(find); - else - ndx = -1; + return b.toString(); // entire string munched - we're done! + work = work.substring(ndx); + ndx = work.indexOf(find); } // end while - if (work!=null) - b.append(work); + // append the unmatched "tail" of the work string and then return result + b.append(work); return b.toString(); } // end replaceAllInstances + public static String replaceAllVariables(String base, Map vars) + { + String work = base; + boolean did_replace, retest; + + retest = true; + do + { // main loop for replacing all variables + did_replace = false; + Iterator it = vars.keySet().iterator(); + while (it.hasNext()) + { // variable start is there... + if (retest) + { // only perform this test on the first iteration and after we know we've replaced a variable + if (work.indexOf(VAR_START)<0) + return work; // no more variables in text - all done! + retest = false; + + } // end if + + // get variable name and see if it's present + String vname = it.next().toString(); + if (work.indexOf(VAR_START + vname + VAR_END)>=0) + { // OK, this variable is in place + work = replaceAllInstances(work,VAR_START + vname + VAR_END,vars.get(vname).toString()); + did_replace = true; + retest = true; + + } // end if + + } // end while + + } while (did_replace); // end do + + return work; // all done! + + } // end replaceAllVariables + } // end class StringUtil + diff --git a/src/com/silverwrist/venice/servlets/StyleSheet.java b/src/com/silverwrist/venice/servlets/StyleSheet.java new file mode 100644 index 0000000..f34b19e --- /dev/null +++ b/src/com/silverwrist/venice/servlets/StyleSheet.java @@ -0,0 +1,56 @@ +/* + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at . + * + * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT + * WARRANTY OF ANY KIND, either express or implied. See the License for the specific + * language governing rights and limitations under the License. + * + * The Original Code is the Venice Web Communities System. + * + * The Initial Developer of the Original Code is Eric J. Bowersox , + * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are + * Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. + * + * Contributor(s): + */ +package com.silverwrist.venice.servlets; + +import java.io.*; +import javax.servlet.*; +import javax.servlet.http.*; +import com.silverwrist.venice.servlets.format.RenderConfig; +import com.silverwrist.venice.servlets.format.RenderData; + +public class StyleSheet extends HttpServlet +{ + /*-------------------------------------------------------------------------------- + * Overrides from class HttpServlet + *-------------------------------------------------------------------------------- + */ + + public String getServletInfo() + { + String rc = "StyleSheet applet - Generates a Cascading Stylesheet for Venice's use\n" + + "Part of the Venice Web Communities System\n"; + return rc; + + } // end getServletInfo + + public void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException + { + ServletContext ctxt = getServletContext(); + RenderData rdat = RenderConfig.createRenderData(ctxt,request,response); + String stylesheet = Variables.getStyleSheetData(ctxt,rdat); + response.setContentType("text/css"); + response.setContentLength(stylesheet.length()); + PrintWriter out = response.getWriter(); + out.write(stylesheet); + out.flush(); + response.flushBuffer(); + + } // end doGet + +} // end class StyleSheet diff --git a/src/com/silverwrist/venice/servlets/Top.java b/src/com/silverwrist/venice/servlets/Top.java index aafdc17..95634a7 100644 --- a/src/com/silverwrist/venice/servlets/Top.java +++ b/src/com/silverwrist/venice/servlets/Top.java @@ -36,9 +36,15 @@ public class Top extends VeniceServlet { super.init(config); // required before we do anything else ServletContext ctxt = config.getServletContext(); + String root_file_path = ctxt.getRealPath("/"); + if (!(root_file_path.endsWith("/"))) + root_file_path += "/"; // Initialize LOG4J logging. - DOMConfigurator.configure(ctxt.getInitParameter("logging.config")); + String lconf = ctxt.getInitParameter("logging.config"); + if (!(lconf.startsWith("/"))) + lconf = root_file_path + lconf; + DOMConfigurator.configure(lconf); // Initialize the Venice engine. VeniceEngine engine = Variables.getVeniceEngine(ctxt); diff --git a/src/com/silverwrist/venice/servlets/Variables.java b/src/com/silverwrist/venice/servlets/Variables.java index 6f18b67..cef3412 100644 --- a/src/com/silverwrist/venice/servlets/Variables.java +++ b/src/com/silverwrist/venice/servlets/Variables.java @@ -17,6 +17,8 @@ */ package com.silverwrist.venice.servlets; +import java.io.*; +import java.lang.ref.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; @@ -36,6 +38,7 @@ public class Variables protected static final String ENGINE_ATTRIBUTE = "com.silverwrist.venice.core.Engine"; protected static final String COUNTRYLIST_ATTRIBUTE = "com.silverwrist.venice.db.CountryList"; protected static final String LANGUAGELIST_ATTRIBUTE = "com.silverwrist.venice.db.LanguageList"; + protected static final String STYLESHEET_ATTRIBUTE = "com.silverwrist.venice.rendering.StyleSheet"; // HttpSession ("session") attributes protected static final String USERCTXT_ATTRIBUTE = "user.context"; @@ -60,13 +63,19 @@ public class Variables public static VeniceEngine getVeniceEngine(ServletContext ctxt) throws ServletException { - synchronized(engine_gate) + synchronized (engine_gate) { // we must synchronize efforts to access the engine Object foo = ctxt.getAttribute(ENGINE_ATTRIBUTE); if (foo!=null) return (VeniceEngine)foo; + String root_file_path = ctxt.getRealPath("/"); + if (!(root_file_path.endsWith("/"))) + root_file_path += "/"; + String cfgfile = ctxt.getInitParameter(ENGINE_INIT_PARAM); // get the config file name + if (!(cfgfile.startsWith("/"))) + cfgfile = root_file_path + cfgfile; logger.info("Initializing Venice engine using config file: " + cfgfile); try @@ -318,4 +327,22 @@ public class Variables } // end flushCookies + public static String getStyleSheetData(ServletContext ctxt, RenderData rdat) throws IOException + { + String data = null; + SoftReference r = (SoftReference)(ctxt.getAttribute(STYLESHEET_ATTRIBUTE)); + if (r!=null) + data = (String)(r.get()); + if ((data==null) || rdat.hasStyleSheetChanged()) + { // construct or reconstruct the stylesheet data, save a soft reference to it + data = rdat.loadStyleSheetData(); + r = new SoftReference(data); + ctxt.setAttribute(STYLESHEET_ATTRIBUTE,r); + + } // end if + + return data; + + } // end getStyleSheetData + } // end class Variables diff --git a/src/com/silverwrist/venice/servlets/format/AuditDataViewer.java b/src/com/silverwrist/venice/servlets/format/AuditDataViewer.java index a3db827..dfd4b4a 100644 --- a/src/com/silverwrist/venice/servlets/format/AuditDataViewer.java +++ b/src/com/silverwrist/venice/servlets/format/AuditDataViewer.java @@ -91,7 +91,7 @@ public class AuditDataViewer implements ContentRender, ColorSelectors rdat.writeContentHeader(out,title,null); // Write the informational and navigational table - out.write("
" + out.write("
" + rdat.getStdFontTag(CONTENT_FOREGROUND,2) + "\nDisplaying records " + (offset+1) + " to " + last_index + " of " + total_count + "\n" + "\n"); @@ -114,30 +114,30 @@ public class AuditDataViewer implements ContentRender, ColorSelectors // Start writing the table containing the actual audit records. String tb_font = rdat.getStdFontTag(CONTENT_FOREGROUND,2); - out.write("\n"); - out.write("\n\n"); - out.write("\n"); - out.write("\n"); - out.write("\n"); - out.write("\n"); - out.write("\n\n"); + out.write("
" + tb_font + "Date/Time" + tb_font + "Description" + tb_font + "User" + tb_font + "SIG" + tb_font + "IP Address" + tb_font + "Additional Data
\n\n\n\n\n\n\n\n\n"); Iterator it = audit_list.iterator(); while (it.hasNext()) { // display each record in turn AuditData dat = (AuditData)(it.next()); - out.write("\n\n"); - out.write("\n"); - out.write("\n"); - out.write("\n"); - out.write("\n\n\n\n\n\n"); for (int i=0; i" + tb_font); + out.write("\n\n\n\n\n"); diff --git a/src/com/silverwrist/venice/servlets/format/CDBaseFormFieldReverse.java b/src/com/silverwrist/venice/servlets/format/CDBaseFormFieldReverse.java index 28d976c..1272c04 100644 --- a/src/com/silverwrist/venice/servlets/format/CDBaseFormFieldReverse.java +++ b/src/com/silverwrist/venice/servlets/format/CDBaseFormFieldReverse.java @@ -67,9 +67,9 @@ public abstract class CDBaseFormFieldReverse implements CDFormField, ColorSelect public void renderHere(Writer out, RenderData rdat) throws IOException { - out.write("\n\n\n
" + + tb_font + "Date/Time" + + tb_font + "Description" + + tb_font + "User" + tb_font + + "SIG" + tb_font + + "IP Address" + + tb_font + "Additional Data
" + tb_font - + rdat.formatDateForDisplay(dat.getDateTime()) + "" + tb_font - + StringUtil.encodeHTML(dat.getDescription()) + "" + tb_font - + StringUtil.encodeHTML(dat.getUserName()) + "" + tb_font - + StringUtil.encodeHTML(dat.getSIGName()) + "" + tb_font + out.write("
" + tb_font + + rdat.formatDateForDisplay(dat.getDateTime()) + + "" + tb_font + + StringUtil.encodeHTML(dat.getDescription()) + + "" + tb_font + + StringUtil.encodeHTML(dat.getUserName()) + + "" + tb_font + + StringUtil.encodeHTML(dat.getSIGName()) + + "" + tb_font + StringUtil.encodeHTML(dat.getIPAddress()) + "" + tb_font); if (dat.getData(i)!=null) out.write(StringUtil.encodeHTML(dat.getData(i))); else diff --git a/src/com/silverwrist/venice/servlets/format/CDBaseFormField.java b/src/com/silverwrist/venice/servlets/format/CDBaseFormField.java index 2aa8e43..7e3e238 100644 --- a/src/com/silverwrist/venice/servlets/format/CDBaseFormField.java +++ b/src/com/silverwrist/venice/servlets/format/CDBaseFormField.java @@ -67,7 +67,7 @@ public abstract class CDBaseFormField implements CDFormField, ColorSelectors public void renderHere(Writer out, RenderData rdat) throws IOException { - out.write("
\n" + StringUtil.encodeHTML(caption)); if (caption2!=null) @@ -75,7 +75,7 @@ public abstract class CDBaseFormField implements CDFormField, ColorSelectors out.write(":"); if (required) out.write(rdat.getRequiredBullet()); - out.write(""); + out.write(""); renderActualField(out,rdat); out.write("
"); + out.write("
"); renderActualField(out,rdat); - out.write("\n" + StringUtil.encodeHTML(caption)); if (caption2!=null) diff --git a/src/com/silverwrist/venice/servlets/format/CDFormCategoryHeader.java b/src/com/silverwrist/venice/servlets/format/CDFormCategoryHeader.java index 82e65ab..ec00c94 100644 --- a/src/com/silverwrist/venice/servlets/format/CDFormCategoryHeader.java +++ b/src/com/silverwrist/venice/servlets/format/CDFormCategoryHeader.java @@ -55,9 +55,9 @@ public class CDFormCategoryHeader implements CDFormField, ColorSelectors public void renderHere(Writer out, RenderData rdat) throws IOException { - out.write("
" - + StringUtil.encodeHTML(caption) + ":"); + + StringUtil.encodeHTML(caption) + ":"); if (rtext==null) out.write(" "); else // display in the correct state diff --git a/src/com/silverwrist/venice/servlets/format/CDPasswordFormField.java b/src/com/silverwrist/venice/servlets/format/CDPasswordFormField.java index 002e5bd..ff20079 100644 --- a/src/com/silverwrist/venice/servlets/format/CDPasswordFormField.java +++ b/src/com/silverwrist/venice/servlets/format/CDPasswordFormField.java @@ -45,14 +45,15 @@ public class CDPasswordFormField extends CDBaseFormField protected void renderActualField(Writer out, RenderData rdat) throws IOException { - out.write(""); + out.write("\">"); } // end renderActualField diff --git a/src/com/silverwrist/venice/servlets/format/CDPickListFormField.java b/src/com/silverwrist/venice/servlets/format/CDPickListFormField.java index 377766e..76f1580 100644 --- a/src/com/silverwrist/venice/servlets/format/CDPickListFormField.java +++ b/src/com/silverwrist/venice/servlets/format/CDPickListFormField.java @@ -67,7 +67,7 @@ public abstract class CDPickListFormField extends CDBaseFormField protected void renderActualField(Writer out, RenderData rdat) throws IOException { - out.write(""); + out.write("\">"); } // end renderActualField diff --git a/src/com/silverwrist/venice/servlets/format/ColorSelectors.java b/src/com/silverwrist/venice/servlets/format/ColorSelectors.java index e87040d..9798b77 100644 --- a/src/com/silverwrist/venice/servlets/format/ColorSelectors.java +++ b/src/com/silverwrist/venice/servlets/format/ColorSelectors.java @@ -31,30 +31,34 @@ public interface ColorSelectors public static final int LEFT_FOREGROUND = 5; - public static final int CONTENT_BACKGROUND = 6; + public static final int LEFT_LINK = 6; - public static final int CONTENT_FOREGROUND = 7; + public static final int CONTENT_BACKGROUND = 7; - public static final int CONTENT_HEADER = 8; + public static final int CONTENT_FOREGROUND = 8; - public static final int CONTENT_DISABLED = 9; + public static final int CONTENT_HEADER = 9; - public static final int CONTENT_ERROR = 10; + public static final int CONTENT_DISABLED = 10; - public static final int SIDEBOX_TITLE_BACKGROUND = 11; + public static final int CONTENT_ERROR = 11; - public static final int SIDEBOX_TITLE_FOREGROUND = 12; + public static final int SIDEBOX_TITLE_BACKGROUND = 12; - public static final int SIDEBOX_CONTENT_BACKGROUND = 13; + public static final int SIDEBOX_TITLE_FOREGROUND = 13; - public static final int SIDEBOX_CONTENT_FOREGROUND = 14; + public static final int SIDEBOX_CONTENT_BACKGROUND = 14; - public static final int CONFIRM_TITLE_BACKGROUND = 15; + public static final int SIDEBOX_CONTENT_FOREGROUND = 15; - public static final int CONFIRM_TITLE_FOREGROUND = 16; + public static final int SIDEBOX_CONTENT_LINK = 16; - public static final int ERROR_TITLE_BACKGROUND = 17; + public static final int CONFIRM_TITLE_BACKGROUND = 17; - public static final int ERROR_TITLE_FOREGROUND = 18; + public static final int CONFIRM_TITLE_FOREGROUND = 18; + + public static final int ERROR_TITLE_BACKGROUND = 19; + + public static final int ERROR_TITLE_FOREGROUND = 20; } // end class ColorSelectors diff --git a/src/com/silverwrist/venice/servlets/format/ContentDialog.java b/src/com/silverwrist/venice/servlets/format/ContentDialog.java index 6976dc3..01691e1 100644 --- a/src/com/silverwrist/venice/servlets/format/ContentDialog.java +++ b/src/com/silverwrist/venice/servlets/format/ContentDialog.java @@ -154,15 +154,15 @@ public class ContentDialog implements Cloneable, ContentRender, ColorSelectors if (error_message!=null) { // print the error message out.write("" - + "
\n" + rdat.getStdFontTag(CONTENT_ERROR,3) + ""); + + "\n" + rdat.getStdFontTag(CONTENT_ERROR,3) + ""); out.write(StringUtil.encodeHTML(error_message)); out.write("\n
\n"); } // end if // Output the start of the form - out.write("
" + rdat.getStdFontTag(CONTENT_FOREGROUND,2) + "\n"); + out.write("
" + rdat.getStdFontTag(CONTENT_FOREGROUND,2) + "\n"); enum = hidden_fields.keys(); while (enum.hasMoreElements()) @@ -204,7 +204,7 @@ public class ContentDialog implements Cloneable, ContentRender, ColorSelectors if (command_order.size()>0) { // render the command buttons at the bottom boolean is_first = true; - out.write("
"); + out.write("
"); enum = command_order.elements(); while (enum.hasMoreElements()) { // render each of the command buttons in the list @@ -221,7 +221,7 @@ public class ContentDialog implements Cloneable, ContentRender, ColorSelectors } // end if - out.write("\n"); + out.write("
\n"); } // end renderHere diff --git a/src/com/silverwrist/venice/servlets/format/MenuSIG.java b/src/com/silverwrist/venice/servlets/format/MenuSIG.java index cfa2af6..1ca77ba 100644 --- a/src/com/silverwrist/venice/servlets/format/MenuSIG.java +++ b/src/com/silverwrist/venice/servlets/format/MenuSIG.java @@ -23,7 +23,7 @@ import java.util.*; import com.silverwrist.util.StringUtil; import com.silverwrist.venice.core.*; -public class MenuSIG implements ComponentRender +public class MenuSIG implements ComponentRender, ColorSelectors { private String image_url; private boolean image_url_needs_fixup = false; @@ -67,6 +67,7 @@ public class MenuSIG implements ComponentRender public void renderHere(Writer out, RenderData rdat) throws IOException { + String hilite = ""; if (image_url!=null) { // display the image by URL if (image_url_needs_fixup) @@ -90,13 +91,13 @@ public class MenuSIG implements ComponentRender SIGFeature ftr = (SIGFeature)(it.next()); out.write("
\n" + StringUtil.encodeHTML(ftr.getName()) + "\n"); + out.write("\">" + hilite + StringUtil.encodeHTML(ftr.getName()) + "
\n"); } // end while if (show_unjoin) out.write("

\nUnjoin\n"); + + "\">" + hilite + "Unjoin\n"); out.write("\n"); // all done... diff --git a/src/com/silverwrist/venice/servlets/format/RenderConfig.java b/src/com/silverwrist/venice/servlets/format/RenderConfig.java index 9514cf2..617527b 100644 --- a/src/com/silverwrist/venice/servlets/format/RenderConfig.java +++ b/src/com/silverwrist/venice/servlets/format/RenderConfig.java @@ -27,6 +27,7 @@ import org.w3c.dom.*; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import com.silverwrist.util.DOMElementHelper; +import com.silverwrist.util.IOUtil; import com.silverwrist.util.StringUtil; import com.silverwrist.venice.core.ConfigException; import com.silverwrist.venice.core.UserContext; @@ -58,6 +59,8 @@ public class RenderConfig implements ColorSelectors private boolean allow_gzip; private boolean no_smart_tags; private String font_face; + private File stylesheet; + private long stylesheet_time = 0; private String image_url; private String static_url; private String site_logo; @@ -74,7 +77,7 @@ public class RenderConfig implements ColorSelectors *-------------------------------------------------------------------------------- */ - protected RenderConfig(String config_file) throws ConfigException + protected RenderConfig(String config_file, String root_file_path) throws ConfigException { config = loadConfiguration(config_file); @@ -132,6 +135,28 @@ public class RenderConfig implements ColorSelectors if (logger.isDebugEnabled()) logger.debug("Font face: " + font_face); + String stylesheet_loc = render_sect_h.getSubElementText("stylesheet"); + if (stylesheet_loc==null) + { // no tag - bail out now! + logger.fatal(" section has no element"); + throw new ConfigException("no found in section",render_sect); + + } // end if + + if (!(stylesheet_loc.startsWith("/"))) + stylesheet_loc = root_file_path + stylesheet_loc; + if (logger.isDebugEnabled()) + logger.debug("Stylesheet location: " + stylesheet_loc); + + // Test to make sure the stylesheet is actually present. + stylesheet = new File(stylesheet_loc); + if (!(stylesheet.exists() && stylesheet.canRead())) + { // it's not there - bail out! + logger.fatal("unable to read stylesheet file: " + stylesheet_loc); + throw new ConfigException("stylesheet " + stylesheet_loc + " cannot be read",render_sect); + + } // end if + Element colors_sect = render_sect_h.getSubElement("colors"); if (colors_sect==null) { // no tag - bail out now! @@ -485,11 +510,11 @@ public class RenderConfig implements ColorSelectors void writeContentHeader(Writer out, String primary, String secondary) throws IOException { - out.write(getStdFontTag(colors_array[CONTENT_HEADER],5) + "" + StringUtil.encodeHTML(primary) - + ""); + out.write("" + getStdFontTag(colors_array[CONTENT_HEADER],5) + "" + + StringUtil.encodeHTML(primary) + ""); if (secondary!=null) - out.write("  " + getStdFontTag(colors_array[CONTENT_HEADER],3) + "" - + StringUtil.encodeHTML(secondary) + ""); + out.write("  " + getStdFontTag(colors_array[CONTENT_HEADER],3) + "" + + StringUtil.encodeHTML(secondary) + ""); out.write("


\n"); } // end writeContentHeader @@ -527,6 +552,46 @@ public class RenderConfig implements ColorSelectors } // end getLeftMenu + synchronized String loadStyleSheetData() throws IOException + { + // Load the stylesheet data. + StringBuffer raw_data = IOUtil.load(stylesheet); + stylesheet_time = stylesheet.lastModified(); + + // Set up the replacements map to replace the various parameters. + HashMap vars = new HashMap(); + vars.put("font",font_face); + vars.put("color.frame",colors_array[FRAME_BACKGROUND]); + vars.put("color.top.background",colors_array[TITLE_BACKGROUND]); + vars.put("color.top.foreground",colors_array[TITLE_FOREGROUND]); + vars.put("color.top.link",colors_array[TITLE_LINK]); + vars.put("color.left.background",colors_array[LEFT_BACKGROUND]); + vars.put("color.left.foreground",colors_array[LEFT_FOREGROUND]); + vars.put("color.left.link",colors_array[LEFT_LINK]); + vars.put("color.content.background",colors_array[CONTENT_BACKGROUND]); + vars.put("color.content.foreground",colors_array[CONTENT_FOREGROUND]); + vars.put("color.content.header",colors_array[CONTENT_HEADER]); + vars.put("color.disabled",colors_array[CONTENT_DISABLED]); + vars.put("color.error",colors_array[CONTENT_ERROR]); + vars.put("color.sidebox.top.background",colors_array[SIDEBOX_TITLE_BACKGROUND]); + vars.put("color.sidebox.top.foreground",colors_array[SIDEBOX_TITLE_FOREGROUND]); + vars.put("color.sidebox.background",colors_array[SIDEBOX_CONTENT_BACKGROUND]); + vars.put("color.sidebox.foreground",colors_array[SIDEBOX_CONTENT_FOREGROUND]); + vars.put("color.sidebox.link",colors_array[SIDEBOX_CONTENT_LINK]); + vars.put("color.dlg.confirm.title.background",colors_array[CONFIRM_TITLE_BACKGROUND]); + vars.put("color.dlg.confirm.title.foreground",colors_array[CONFIRM_TITLE_FOREGROUND]); + vars.put("color.dlg.error.title.background",colors_array[ERROR_TITLE_BACKGROUND]); + vars.put("color.dlg.error.title.foreground",colors_array[ERROR_TITLE_FOREGROUND]); + return StringUtil.replaceAllVariables(raw_data.toString(),vars); + + } // end loadStyleSheet + + boolean hasStyleSheetChanged() + { + return (stylesheet_time!=stylesheet.lastModified()); + + } // end hasStyleSheetChanged + /*-------------------------------------------------------------------------------- * Static operations for use by VeniceServlet *-------------------------------------------------------------------------------- @@ -539,13 +604,20 @@ public class RenderConfig implements ColorSelectors if (obj!=null) return (RenderConfig)obj; + // Get the root file path. + String root_file_path = ctxt.getRealPath("/"); + if (!(root_file_path.endsWith("/"))) + root_file_path += "/"; + // Get the parameter for the renderer's config file. String cfgfile = ctxt.getInitParameter(CONFIG_FILE_PARAM); + if (!(cfgfile.startsWith("/"))) + cfgfile = root_file_path + cfgfile; logger.info("Initializing Venice rendering using config file: " + cfgfile); try { // create the RenderConfig object and save it to attributes. - RenderConfig rconf = new RenderConfig(cfgfile); + RenderConfig rconf = new RenderConfig(cfgfile,root_file_path); ctxt.setAttribute(ATTR_NAME,rconf); return rconf; @@ -588,6 +660,7 @@ public class RenderConfig implements ColorSelectors m.put("title-link",new Integer(TITLE_LINK)); m.put("left-bg",new Integer(LEFT_BACKGROUND)); m.put("left-fg",new Integer(LEFT_FOREGROUND)); + m.put("left-link",new Integer(LEFT_LINK)); m.put("content-bg",new Integer(CONTENT_BACKGROUND)); m.put("content-fg",new Integer(CONTENT_FOREGROUND)); m.put("content-hdr",new Integer(CONTENT_HEADER)); @@ -597,6 +670,7 @@ public class RenderConfig implements ColorSelectors m.put("sidebox-title-fg",new Integer(SIDEBOX_TITLE_FOREGROUND)); m.put("sidebox-content-bg",new Integer(SIDEBOX_CONTENT_BACKGROUND)); m.put("sidebox-content-fg",new Integer(SIDEBOX_CONTENT_FOREGROUND)); + m.put("sidebox-content-link",new Integer(SIDEBOX_CONTENT_LINK)); m.put("confirm-title-bg",new Integer(CONFIRM_TITLE_BACKGROUND)); m.put("confirm-title-fg",new Integer(CONFIRM_TITLE_FOREGROUND)); m.put("error-title-bg",new Integer(ERROR_TITLE_BACKGROUND)); diff --git a/src/com/silverwrist/venice/servlets/format/RenderData.java b/src/com/silverwrist/venice/servlets/format/RenderData.java index 28cb978..41204ed 100644 --- a/src/com/silverwrist/venice/servlets/format/RenderData.java +++ b/src/com/silverwrist/venice/servlets/format/RenderData.java @@ -31,7 +31,7 @@ import com.silverwrist.venice.db.PostLinkRewriter; import com.silverwrist.venice.db.UserNameRewriter; import com.silverwrist.venice.servlets.format.menus.LeftMenu; -public class RenderData +public class RenderData implements ColorSelectors { /*-------------------------------------------------------------------------------- * Static data values @@ -248,8 +248,9 @@ public class RenderData if (urls.size()" + StringUtil.encodeHTML(caption) - + "  " + rconf.getStdFontTag("#3333AA",3)); + out.write("" + rconf.getStdFontTag(CONTENT_HEADER,5) + "" + + StringUtil.encodeHTML(caption) + "  " + + rconf.getStdFontTag(CONTENT_HEADER,3)); for (int i=0; i
\n"); + out.write("]

\n"); } // end writeContentSelectorHeader @@ -304,6 +305,18 @@ public class RenderData } // end getLeftMenu + public String loadStyleSheetData() throws IOException + { + return rconf.loadStyleSheetData(); + + } // end loadStyleSheetData + + public boolean hasStyleSheetChanged() + { + return rconf.hasStyleSheetChanged(); + + } // end hasStyleSheetChanged + public String formatDateForDisplay(Date date) { if (display_date==null) diff --git a/src/com/silverwrist/venice/servlets/format/SideBoxConferences.java b/src/com/silverwrist/venice/servlets/format/SideBoxConferences.java index ca68f3c..32901cf 100644 --- a/src/com/silverwrist/venice/servlets/format/SideBoxConferences.java +++ b/src/com/silverwrist/venice/servlets/format/SideBoxConferences.java @@ -71,6 +71,7 @@ public class SideBoxConferences implements ContentRender, ColorSelectors public void renderHere(Writer out, RenderData rdat) throws IOException { + String hilite = rdat.getStdColor(SIDEBOX_CONTENT_LINK); if (hotlist.size()>0) { // display the list of conferences out.write("\n"); @@ -82,10 +83,11 @@ public class SideBoxConferences implements ContentRender, ColorSelectors String href = "confdisp?sig=" + conf.getEnclosingSIG().getSIGID() + "&conf=" + conf.getConfID(); out.write("\n\n"); - out.write("\n\n\n"); - out.write("\n
\"*\"\n" + rdat.getStdFontTag(SIDEBOX_CONTENT_FOREGROUND,2) + "" + StringUtil.encodeHTML(conf.getName()) - + " (" + StringUtil.encodeHTML(conf.getEnclosingSIG().getName()) + ")\n"); + + "\" ALT=\"*\" WIDTH=14 HEIGHT=14 BORDER=0>\n" + + rdat.getStdFontTag(SIDEBOX_CONTENT_FOREGROUND,2) + "" + + StringUtil.encodeHTML(conf.getName()) + " (" + + StringUtil.encodeHTML(conf.getEnclosingSIG().getName()) + ")\n"); if (conf.anyUnread()) out.write(" " + rdat.getStdFontTag(SIDEBOX_CONTENT_FOREGROUND,1) + "[ Manage ]"); + + rdat.getEncodedServletPath("settings?cmd=H") + "\">Manage ]"); } // end if diff --git a/src/com/silverwrist/venice/servlets/format/SideBoxSIGs.java b/src/com/silverwrist/venice/servlets/format/SideBoxSIGs.java index 53aae13..3f015cc 100644 --- a/src/com/silverwrist/venice/servlets/format/SideBoxSIGs.java +++ b/src/com/silverwrist/venice/servlets/format/SideBoxSIGs.java @@ -80,10 +80,10 @@ public class SideBoxSIGs implements ContentRender, ColorSelectors SIGContext sig = (SIGContext)(it.next()); out.write("
\"*\"\n" + rdat.getStdFontTag(SIDEBOX_CONTENT_FOREGROUND,2) + "" - + StringUtil.encodeHTML(sig.getName()) + "\n"); + + "\" ALT=\"*\" WIDTH=14 HEIGHT=14 BORDER=0>\n" + + "" + + rdat.getStdFontTag(SIDEBOX_CONTENT_LINK,2) + "" + StringUtil.encodeHTML(sig.getName()) + + "\n"); if (sig.isAdmin()) out.write(" \"Host!\"\n"); @@ -100,9 +100,12 @@ public class SideBoxSIGs implements ContentRender, ColorSelectors if (uc.isLoggedIn()) { // write the two links at the end + String hilite = rdat.getStdColor(SIDEBOX_CONTENT_LINK); out.write("

" + rdat.getStdFontTag(SIDEBOX_CONTENT_FOREGROUND,1) + "[ Manage | Create New ]"); + + rdat.getEncodedServletPath("settings?cmd=S") + "\">Manage | Create New ]"); } // end if diff --git a/src/com/silverwrist/venice/servlets/format/TopDisplay.java b/src/com/silverwrist/venice/servlets/format/TopDisplay.java index cd2c109..cfb568a 100644 --- a/src/com/silverwrist/venice/servlets/format/TopDisplay.java +++ b/src/com/silverwrist/venice/servlets/format/TopDisplay.java @@ -195,11 +195,11 @@ public class TopDisplay implements ContentRender, ColorSelectors { // draw in the outer framework of the sidebox out.write("" + " -
\n"); - out.write(rdat.getStdFontTag(SIDEBOX_TITLE_FOREGROUND,3) + "" - + StringUtil.encodeHTML(sideboxes[i].getPageTitle(rdat)) + "\n"); - out.write("
\n"); + + "\">\n" + + rdat.getStdFontTag(SIDEBOX_TITLE_FOREGROUND,3) + "" + + StringUtil.encodeHTML(sideboxes[i].getPageTitle(rdat)) + + "\n
\n"); // Fill in the sidebox by calling down to the base. if (sideboxes[i] instanceof ContentRender) diff --git a/src/com/silverwrist/venice/servlets/format/menus/LeftMenuItem.java b/src/com/silverwrist/venice/servlets/format/menus/LeftMenuItem.java index f3da3ab..713fe97 100644 --- a/src/com/silverwrist/venice/servlets/format/menus/LeftMenuItem.java +++ b/src/com/silverwrist/venice/servlets/format/menus/LeftMenuItem.java @@ -21,10 +21,11 @@ import java.io.Writer; import java.io.IOException; import org.w3c.dom.*; import com.silverwrist.util.*; +import com.silverwrist.venice.servlets.format.ColorSelectors; import com.silverwrist.venice.servlets.format.ComponentRender; import com.silverwrist.venice.servlets.format.RenderData; -abstract class LeftMenuItem implements ComponentRender +abstract class LeftMenuItem implements ComponentRender, ColorSelectors { /*-------------------------------------------------------------------------------- * Attributes @@ -68,7 +69,7 @@ abstract class LeftMenuItem implements ComponentRender StringBuffer buf = new StringBuffer(); if (disabled) - buf.append(""); + buf.append(""); else { // write the tag buf.append("'); + buf.append(">"); } // end else (writing tag) - buf.append(text); - if (disabled) - buf.append(""); - else + buf.append(text).append(""); + if (!disabled) buf.append(""); buf.append("
\n"); out.write(buf.toString()); diff --git a/web/format/admin_find.jsp b/web/format/admin_find.jsp index 30f1082..6195832 100644 --- a/web/format/admin_find.jsp +++ b/web/format/admin_find.jsp @@ -32,7 +32,7 @@ System Administration Menu

<%-- Display the search form --%> <% if (rdat.useHTMLComments()) { %><% } %> -

"> +">
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,4) %>Find Users:
@@ -59,11 +59,12 @@ System Administration Menu

expression    -
+
" ALT="Search" WIDTH=80 HEIGHT=24 BORDER=0>
-

+
<% List results = data.getResultsList(); %> <% if (results!=null) { %> @@ -81,7 +82,7 @@ System Administration Menu

%>


- -
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,3) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,3) %> <%-- The initial search results --%> Search Results <% if (data.getFindCount()>0) { %> @@ -90,11 +91,11 @@ System Administration Menu

<% } else { %>(None)<% } %>

+ <% if (go_next || (data.getOffset()>0)) { %> <%-- The navigational form that allows us to page through the results --%> <% if (rdat.useHTMLComments()) { %><% } %> -
"> + ">
@@ -115,7 +116,7 @@ System Administration Menu

" WIDTH=80 HEIGHT=24 BORDER=0> <% } // end if %> -

+
<% } else { %> <% } %>

@@ -127,7 +128,7 @@ System Administration Menu

" ALT="*" WIDTH=14 HEIGHT=14 BORDER=0> <%= stdfont %> + <%= stdfont %> <% UserFound uf = (UserFound)(results.get(i)); %> "><%= uf.getName() %>
<%= StringUtil.encodeHTML(uf.getGivenName()) %> <%= StringUtil.encodeHTML(uf.getFamilyName()) %>, diff --git a/web/format/attach_form.jsp b/web/format/attach_form.jsp index fd578ec..769a21a 100644 --- a/web/format/attach_form.jsp +++ b/web/format/attach_form.jsp @@ -29,12 +29,21 @@ <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> Your attachment may be no more than 1 megabyte in size.

"> - - - - - File to attach:
- " NAME="upload" ALT="Upload" - WIDTH=80 HEIGHT=24 BORDER=0> +
+ + + + + File to attach:
+ " NAME="upload" ALT="Upload" + WIDTH=80 HEIGHT=24 BORDER=0> +

+ + + + + + + diff --git a/web/format/base.jsp b/web/format/base.jsp index 22c5c38..276ab6c 100644 --- a/web/format/base.jsp +++ b/web/format/base.jsp @@ -37,6 +37,7 @@ <%= rdat.getTitleTag(basedat.getTitle(rdat)) %> <%= rdat.getStdBaseFontTag(3) %> + " TYPE="text/css"> <% if (rdat.noSmartTags()) { %> <% } // end if %> @@ -44,29 +45,29 @@ <% if (rdat.useHTMLComments()) { %><% } %> - - - - <% if (rdat.useHTMLComments()) { %><% } %> - - + -
+ <% if (rdat.useHTMLComments()) { %><% } %> <%= rdat.getSiteImageTag(2,2) %> <%= header_font %> + <%= header_font %> <% if (rdat.useHTMLComments()) { %><% } %> "><%= header_link_hilite %>Front Page

<%= header_link_hilite %>Help |  "><%= header_link_hilite %>Find

+ <% if (rdat.useHTMLComments()) { %><% } %> <% basedat.renderBannerAd(out,rdat); %>
<%= header_font %> +
<%= header_font %> <% if (user.isLoggedIn()) { %> You are logged in as <%= StringUtil.encodeHTML(user.getUserName()) %> <% if (basedat.displayLoginLinks()) { %> @@ -97,16 +98,16 @@ - - - - + - @@ -93,7 +93,7 @@ " ALT="Displayed (toggle)" BORDER=0 WIDTH=16 HEIGHT=16> - @@ -103,7 +103,7 @@ " ALT="Hidden (toggle)" BORDER=0 WIDTH=16 HEIGHT=16> - @@ -112,7 +112,7 @@ - @@ -120,7 +120,7 @@ - @@ -128,7 +128,7 @@ - diff --git a/web/format/conferences.jsp b/web/format/conferences.jsp index 323ec27..4aa3b25 100644 --- a/web/format/conferences.jsp +++ b/web/format/conferences.jsp @@ -34,7 +34,7 @@ - - - - @@ -68,7 +68,7 @@ - @@ -76,7 +76,7 @@ - @@ -84,7 +84,7 @@ - diff --git a/web/format/invitation.jsp b/web/format/invitation.jsp index b6794dd..d35d1a7 100644 --- a/web/format/invitation.jsp +++ b/web/format/invitation.jsp @@ -27,26 +27,31 @@ %> <% if (rdat.useHTMLComments()) { %><% } %> <% rdat.writeContentHeader(out,"Send SIG Invitation:",data.getSIGName()); %> -"> +">
+ <% if (rdat.useHTMLComments()) { %><% } %> - - @@ -116,7 +117,8 @@
<%= leftfont %> +
<%= leftfont %> <% if (rdat.useHTMLComments()) { %><% } %> <% basedat.renderMenu(session,out,rdat); %>
 
<%= leftfont %> +
<%= leftfont %> <% if (rdat.useHTMLComments()) { %><% } %> <% basedat.renderFixedMenu(out,rdat); %>
+ <% if (rdat.useHTMLComments()) { %><% } %> <% basedat.renderContent(application,out,rdat); %> <% if (rdat.useHTMLComments()) { %><% } %> @@ -124,15 +126,19 @@
  +  <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <%= StringUtil.encodeHTML(conf.getName()) %>
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> This indicates that the conference is displayed in the SIG's conference list. Click the symbol to hide it. <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> This indicates that the conference is hidden in the SIG's conference list. Click the symbol to display it. " ALT="Move Down" BORDER=0 WIDTH=16 HEIGHT=16> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> Click this symbol to move the specified conference down in the SIG's conference list.
" ALT="Move Up" BORDER=0 WIDTH=16 HEIGHT=16> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> Click this symbol to move the specified conference up in the SIG's conference list.
" ALT="Remove" BORDER=0 WIDTH=16 HEIGHT=16> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> Click this symbol to delete the specified conference. You will be prompted to confirm this action. " ALT="*" WIDTH=14 HEIGHT=14 BORDER=0> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <% String path = "confdisp?sig=" + data.getSIGID() + "&conf=" + data.getConferenceID(i); %> <%= StringUtil.encodeHTML(data.getConferenceName(i)) %> - Latest activity: <%= rdat.getActivityString(data.getLastUpdateDate(i)) %> @@ -61,7 +61,7 @@ No conferences found in this SIG.
<% } // end if (conferences present) %>

-

+
" ALT="*" WIDTH=14 HEIGHT=14 BORDER=0> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <% CategoryDescriptor c = (CategoryDescriptor)(it.next()); a_head = ""; @@ -200,7 +201,7 @@ private static String getActivityString(SIGContext sig, RenderData rdat) %>
- -
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,3) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,3) %> <%-- The initial search results --%> <% if (cat!=null) { %>SIGs in Category<% } else { %>Search Results<% } %> <% if (data.getFindCount()>0) { %> @@ -209,11 +210,11 @@ private static String getActivityString(SIGContext sig, RenderData rdat) <% } else { %>(None)<% } %> + <% if (go_next || (data.getOffset()>0)) { %> <%-- The navigational form that allows us to page through the results --%> <% if (rdat.useHTMLComments()) { %><% } %> -
"> + ">
<% if (cat!=null) { %><% } %> @@ -235,7 +236,7 @@ private static String getActivityString(SIGContext sig, RenderData rdat) " WIDTH=80 HEIGHT=24 BORDER=0> <% } // end if %> - +
<% } else { %> <% } %>

@@ -247,7 +248,7 @@ private static String getActivityString(SIGContext sig, RenderData rdat)
" ALT="*" WIDTH=14 HEIGHT=14 BORDER=0> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <% Object item = results.get(i); %> <% if (data.getDisplayOption()==FindData.FD_SIGS) { %> <% diff --git a/web/format/hotlist.jsp b/web/format/hotlist.jsp index 78193ee..7eb0c52 100644 --- a/web/format/hotlist.jsp +++ b/web/format/hotlist.jsp @@ -56,7 +56,7 @@ SRC="<%= rdat.getFullImagePath("icn_x.gif") %>" ALT="[Remove]" BORDER=0 WIDTH=16 HEIGHT=16> <%= stdfont %> + <%= stdfont %> <%= StringUtil.encodeHTML(conf.getName()) %> (<%= StringUtil.encodeHTML(conf.getEnclosingSIG().getName()) %>) " ALT="[Down]" BORDER=0 WIDTH=16 HEIGHT=16> <%= stdfont %> + <%= stdfont %> Click this symbol to move the specified conference down in your hotlist.
" ALT="[Up]" BORDER=0 WIDTH=16 HEIGHT=16> <%= stdfont %> + <%= stdfont %> Click this symbol to move the specified conference up in your hotlist.
" ALT="[Remove]" BORDER=0 WIDTH=16 HEIGHT=16> <%= stdfont %> + <%= stdfont %> Click this symbol to remove the specified conference from your hotlist.
- - + + - + - + -
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Send to:  + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Send to:  +
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Personal message - to be added to invitation: + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Personal message to be added to + invitation: +
+
" NAME="send" ALT="Send E-Mail" WIDTH=80 HEIGHT=24 BORDER=0>  " NAME="cancel" ALT="Cancel" WIDTH=80 HEIGHT=24 BORDER=0>
- + diff --git a/web/format/manage_aliases.jsp b/web/format/manage_aliases.jsp index afa784d..84ec316 100644 --- a/web/format/manage_aliases.jsp +++ b/web/format/manage_aliases.jsp @@ -44,9 +44,11 @@
" ALT="*" WIDTH=14 HEIGHT=14 BORDER=0><%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %><%= StringUtil.encodeHTML(name) %><%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= StringUtil.encodeHTML(name) %> +      + <% if (data.canRemoveAliases()) { %> ">" @@ -58,13 +60,14 @@

Add New Alias:

-

"> + ">
-   +   " NAME="add" ALT="Add" WIDTH=80 HEIGHT=24 BORDER=0> - +
diff --git a/web/format/manage_conf.jsp b/web/format/manage_conf.jsp index 795b6f8..88c5b22 100644 --- a/web/format/manage_conf.jsp +++ b/web/format/manage_conf.jsp @@ -33,17 +33,18 @@

<% if (rdat.useHTMLComments()) { %><% } %> -

"> +">
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> Set default pseud for conference: -   +   " NAME="set" ALT="Set" WIDTH=80 ALIGN=BOTTOM HEIGHT=24 BORDER=0> -

+

<% if (rdat.useHTMLComments()) { %><% } %> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> diff --git a/web/format/newtopic.jsp b/web/format/newtopic.jsp index 2027bd8..04c5565 100644 --- a/web/format/newtopic.jsp +++ b/web/format/newtopic.jsp @@ -41,31 +41,35 @@

<%= rdat.rewritePostData(data.getPreviewData()) %>

<% } // end if %> -
"> +">
- - - - + - -
+
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>New topic name:
- +
+
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Your name/header:
- + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>CHECKED<% } %> > Attach a file
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Message:<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Message: + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> " TARGET="_blank">HTML Guide
+
+
" ALT="Preview" NAME="preview" WIDTH=80 HEIGHT=24 BORDER=0>   @@ -76,4 +80,4 @@ WIDTH=80 HEIGHT=24 BORDER=0>
- +
diff --git a/web/format/posts.jsp b/web/format/posts.jsp index 5067b49..d49fd59 100644 --- a/web/format/posts.jsp +++ b/web/format/posts.jsp @@ -26,16 +26,20 @@ RenderData rdat = RenderConfig.createRenderData(application,request,response); %> <% if (rdat.useHTMLComments()) { %><% } %> -<%= rdat.getStdFontTag(ColorSelectors.CONTENT_HEADER,5) %><%= data.getTopicName() %>   -<%= rdat.getStdFontTag(ColorSelectors.CONTENT_HEADER,3) %> +<%= rdat.getStdFontTag(ColorSelectors.CONTENT_HEADER,5) %> + <%= data.getTopicName() %> + +   +<%= rdat.getStdFontTag(ColorSelectors.CONTENT_HEADER,3) %> <% if (data.isTopicArchived()) { %>(Archived)<% } else if (data.isTopicFrozen()) { %>(Frozen)<% } %> <%= data.getTotalMessages() %> Total; <%= data.getNewMessages() %> New; Last: <%= rdat.formatDateForDisplay(data.getLastUpdate()) %> - + +
- - - -
+ <% if (rdat.useHTMLComments()) { %><% } %> ">" ALT="Topic List" WIDTH=80 HEIGHT=24 @@ -65,7 +69,7 @@ <% } // end if %> <% } // end if %> + <% if (rdat.useHTMLComments()) { %><% } %> <% if (data.canFreezeTopic()) { %>   @@ -101,18 +105,19 @@
 
+ <% if (rdat.useHTMLComments()) { %><% } %> -
"> + ">
-   +   " NAME="Go" ALT="Go" ALIGN=BOTTOM WIDTH=80 HEIGHT=24 BORDER=0> - +
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <% if (rdat.useHTMLComments()) { %><% } %> [  ">View All @@ -153,7 +158,7 @@ <% if (can_line && data.emitBreakLinePoint(msg.getPostNumber())) { %>
<% } %> <% if (data.showAdvanced()) { %>
-
+ - - @@ -54,7 +54,7 @@ - diff --git a/web/format/sigprofile.jsp b/web/format/sigprofile.jsp index 0778362..9f70ede 100644 --- a/web/format/sigprofile.jsp +++ b/web/format/sigprofile.jsp @@ -32,7 +32,7 @@ <% if (rdat.useHTMLComments()) { %><% } %> <% rdat.writeContentHeader(out,"SIG Profile:",sig.getName()); %>
<% } // end if %> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>

<% if (msg.isScribbled()) { %> - + (Scribbled by <%= data.getMessageBodyText(msg) %> on <%= rdat.formatDateForDisplay(msg.getScribbleDate()) %>) -

+

<% } else if (msg.isHidden() && !(data.showAdvanced())) { %> - + ">(Hidden Message: <%= msg.getNumLines() %> <% if (msg.getNumLines()==1) { %>Line<% } else { %>Lines<% } %>) -

+

<% } else { %> -

<%= rdat.rewritePostData(data.getMessageBodyText(msg)) %>
+
<%= rdat.rewritePostData(data.getMessageBodyText(msg)) %>
<% } // end if %>
<% if (data.showAdvanced()) { %> <% String po_loc = data.getLocator() + "&msg=" + msg.getPostNumber(); %> -
+ <% if (!(msg.isScribbled())) { %> <% if (msg.canHide()) { %> <% if (msg.isHidden()) { %> @@ -231,8 +236,8 @@ - -
 <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> - <% if (rdat.useHTMLComments()) { %><% } %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <% if (rdat.useHTMLComments()) { %><% } %> [  ">View All <% if (data.canScrollUp()) { %> @@ -256,7 +261,7 @@
+ <% if (rdat.useHTMLComments()) { %><% } %> ">" ALT="Topic List" WIDTH=80 HEIGHT=24 @@ -291,10 +296,11 @@
<% if (data.displayPostBox()) { %> -
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,3) %>Post Message in - "<%= data.getTopicName() %>": +
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,3) %> + Post Message in "<%= data.getTopicName() %>": +
-
"> + ">
@@ -303,21 +309,24 @@ <% } // end if %> - - - + - -
+
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Your name/header:
- + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> Attach a file
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Message:<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Message: + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> " TARGET="_blank">HTML Guide
+
+
" ALT="Preview" NAME="preview" WIDTH=80 HEIGHT=24 BORDER=0>   @@ -333,11 +342,11 @@ NAME="posttopics" WIDTH=80 HEIGHT=24 BORDER=0>
- +
<% } else if (data.isTopicArchived()) { %> -
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>This is an +
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>This is an Archived Topic
<% } else if (data.isTopicFrozen()) { %> -
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>This is a +
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>This is a Frozen Topic
<% } // end if %> diff --git a/web/format/preview.jsp b/web/format/preview.jsp index bf1bc5e..83b8508 100644 --- a/web/format/preview.jsp +++ b/web/format/preview.jsp @@ -35,9 +35,9 @@ There were <%= data.getNumSpellingErrors() %> spelling errors in your post. <% } // end if %>
-

<%= rdat.rewritePostData(data.getPreviewData()) %>

+

<%= rdat.rewritePostData(data.getPreviewData()) %>

-
"> +">
@@ -49,22 +49,25 @@ <% } // end if %> - - - + - -
+
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Your name/header:
- + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>CHECKED<% } %> > Attach a file
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Message:<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Message: + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> " TARGET="_blank">HTML Guide
+
+
" ALT="Preview" NAME="preview" WIDTH=80 HEIGHT=24 BORDER=0>   @@ -83,4 +86,4 @@ NAME="cancel" WIDTH=80 HEIGHT=24 BORDER=0>
- +
diff --git a/web/format/report_conf.jsp b/web/format/report_conf.jsp index 9ea58d9..46ae974 100644 --- a/web/format/report_conf.jsp +++ b/web/format/report_conf.jsp @@ -37,18 +37,18 @@ - - - + + + - + <% partial = "confops?" + data.getLocator() + "&cmd="; %> - - @@ -60,12 +60,12 @@ partial = "confops?" + data.getLocator() + "&top=" + topic.getTopicNumber() + "&cmd="; %> - - - + + - diff --git a/web/format/sig_member.jsp b/web/format/sig_member.jsp index e2d176d..a73af60 100644 --- a/web/format/sig_member.jsp +++ b/web/format/sig_member.jsp @@ -32,7 +32,7 @@

<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,3) %>Find Users:

-
"> +">

@@ -58,11 +58,12 @@ <% if (data.searchModeIs(SearchMode.SEARCH_REGEXP)) { %>SELECTED<% } %> >matches the regular expression -
+
" ALT="Search" WIDTH=80 HEIGHT=24 BORDER=0>
- +
<% if (data.displayList()) { %> <% int dcount = data.getSize(); %> @@ -84,7 +85,7 @@ } // end if %>
<%= stdfont %>#<%= stdfont %>Topic Name<%= stdfont %>Reports<%= stdfont %>#<%= stdfont %>Topic Name<%= stdfont %>Reports
 <%= stdfont %>(Entire conference)<%= stdfont %>(Entire conference)<%= stdfont %> + <%= stdfont %> ">Posters <%= stdfont %> + <%= stdfont %> ">Readers/Lurkers
<%= stdfont %><%= topic.getTopicNumber() %><%= stdfont %><%= topic.getName() %><%= stdfont %> + <%= stdfont %><%= topic.getTopicNumber() %><%= stdfont %><%= topic.getName() %><%= stdfont %> ">Posters <%= stdfont %> + <%= stdfont %> ">Readers/Lurkers
- -
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <%-- The search results header --%> Search Results: <% if (data.getFindCount()>0) { %> @@ -92,11 +93,11 @@ <%= data.getFindCount() %>) <% } else { %>(None)<% } %> + <% if (go_next || (data.getOffset()>0)) { %> <%-- The navigational form that allows us to page through the results --%> <% if (rdat.useHTMLComments()) { %><% } %> -
"> + ">
@@ -118,14 +119,14 @@ " WIDTH=80 HEIGHT=24 BORDER=0> <% } // end if %> - +
<% } else { %> <% } %>

<% } // end if %> <%-- Display the results of the search --%> -
"> + ">
@@ -135,10 +136,10 @@ - - @@ -146,5 +147,5 @@
" ALT="*" WIDTH=14 HEIGHT=14 BORDER=0> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> "><%= uf.getName() %> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <% data.outputDropDown(out,uf.getUID(),uf.getLevel()); %>

" NAME="update" ALT="Update" WIDTH=80 HEIGHT=24 BORDER=0> -
+

<% } // end if %> diff --git a/web/format/sigcatbrowser.jsp b/web/format/sigcatbrowser.jsp index fca0885..d6fe9df 100644 --- a/web/format/sigcatbrowser.jsp +++ b/web/format/sigcatbrowser.jsp @@ -54,7 +54,7 @@
" ALT="*" WIDTH=14 HEIGHT=14 BORDER=0> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <%= StringUtil.encodeHTML(c.getTitleAtLevel(c.getNumLevels()-1)) %> <% if (c.isSymbolicLink()) { %>@<% } %>     [set] diff --git a/web/format/siglist.jsp b/web/format/siglist.jsp index 86ed159..98a8e0e 100644 --- a/web/format/siglist.jsp +++ b/web/format/siglist.jsp @@ -42,7 +42,7 @@ HEIGHT=16> <% } else { %> <% } %> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> "><%= StringUtil.encodeHTML(sig.getName()) %>
ALT="Unjoin" BORDER=0 WIDTH=16 HEIGHT=16> <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> Click this symbol to unjoin the specified SIG.
- -
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,1) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,1) %>

<% Date tmpd = sig.getCreationDate(); %> @@ -64,7 +64,7 @@
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <% if (sig.isPublicSIG()) { %>Public<% } else { %>Private<% } %> Special Interest Group
Category: <% for (int i=0; i diff --git a/web/format/slippage.jsp b/web/format/slippage.jsp index a9d41e9..6765aaf 100644 --- a/web/format/slippage.jsp +++ b/web/format/slippage.jsp @@ -49,12 +49,12 @@ )

<% if (msg.isScribbled()) { %> - + (Scribbled by <%= data.getMessageBodyText(msg) %> on <%= rdat.formatDateForDisplay(msg.getScribbleDate()) %>) - + <% } else { %> -

<%= rdat.rewritePostData(data.getMessageBodyText(msg)) %>
+
<%= rdat.rewritePostData(data.getMessageBodyText(msg)) %>
<% } // end if %> <% } // end while %> <% if (rdat.useHTMLComments()) { %><% } %> @@ -62,7 +62,7 @@
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,3) %>Post Message in "<%= data.getTopicName() %>":
-
"> +">
@@ -72,22 +72,25 @@ - - - + - -
+
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Your name/header:
- + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>CHECKED<% } %> > Attach a file
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Message:<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Message: + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> " TARGET="_blank">HTML Guide
+
+
" ALT="Preview" NAME="preview" WIDTH=80 HEIGHT=24 BORDER=0>   @@ -106,4 +109,4 @@ NAME="cancel" WIDTH=80 HEIGHT=24 BORDER=0>
- +
\ No newline at end of file diff --git a/web/format/topics.jsp b/web/format/topics.jsp index b2ad213..a71e046 100644 --- a/web/format/topics.jsp +++ b/web/format/topics.jsp @@ -31,7 +31,7 @@ <% if (rdat.useHTMLComments()) { %><% } %> <% rdat.writeContentHeader(out,"Topics in " + data.getConfName(),null); %> <%= stdfont %> -
+
" ALT="Conference List" WIDTH=80 HEIGHT=24 BORDER=0>  @@ -57,31 +57,31 @@ <% if (data.anyTopics()) { %> - - - - - - - - - - @@ -154,7 +154,7 @@ %>

<% } // end if %> -

+
[ <% if (data.isView(ConferenceContext.DISPLAY_NEW)) { %> New diff --git a/web/format/user_photo.jsp b/web/format/user_photo.jsp index 63ec82e..fc512d3 100644 --- a/web/format/user_photo.jsp +++ b/web/format/user_photo.jsp @@ -26,8 +26,9 @@ RenderData rdat = RenderConfig.createRenderData(application,request,response); %> <% rdat.writeContentHeader(out,"Change User Photo",null); %> -<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> -
"> + +"> +
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <%= data.getPhotoTag(rdat) %> New user photo:
@@ -36,7 +37,10 @@ WIDTH=80 HEIGHT=24 BORDER=0>  " NAME="cancel" ALT="Cancel" WIDTH=80 HEIGHT=24 BORDER=0>
- - +
+ + + + diff --git a/web/format/userprofile.jsp b/web/format/userprofile.jsp index 86fcf2f..b1b7907 100644 --- a/web/format/userprofile.jsp +++ b/web/format/userprofile.jsp @@ -31,7 +31,7 @@ <% rdat.writeContentHeader(out,"User Profile:",prof.getUserName()); %>
<%= stdfont %> + <%= stdfont %> <% tmp = self + "&sort=" + (data.isSort(ConferenceContext.SORT_NUMBER) ? -ConferenceContext.SORT_NUMBER : ConferenceContext.SORT_NUMBER); %> # <%= stdfont %> + <%= stdfont %> <% tmp = self + "&sort=" + (data.isSort(ConferenceContext.SORT_NAME) ? -ConferenceContext.SORT_NAME : ConferenceContext.SORT_NAME); %> Topic Name <%= stdfont %> + <%= stdfont %> <% tmp = self + "&sort=" + (data.isSort(ConferenceContext.SORT_UNREAD) ? -ConferenceContext.SORT_UNREAD : ConferenceContext.SORT_UNREAD); %> New <%= stdfont %> + <%= stdfont %> <% tmp = self + "&sort=" + (data.isSort(ConferenceContext.SORT_TOTAL) ? -ConferenceContext.SORT_TOTAL : ConferenceContext.SORT_TOTAL); %> Total <%= stdfont %> + <%= stdfont %> <% tmp = self + "&sort=" + (data.isSort(ConferenceContext.SORT_DATE) ? -ConferenceContext.SORT_DATE : ConferenceContext.SORT_DATE); %> @@ -96,10 +96,10 @@ tmp = self + "&top=" + topic.getTopicNumber() + "&rnm=1"; %>
<%= stdfont %> + <%= stdfont %> <%= topic.getTopicNumber() %>   <%= stdfont %> + <%= stdfont %> <%= topic.getName() %> <% if (topic.isArchived() && !(data.isView(ConferenceContext.DISPLAY_ARCHIVED))) { %> (archived) @@ -107,14 +107,14 @@ (frozen) <% } // end if %> <%= stdfont %> + <%= stdfont %> <%= topic.getUnreadMessages() %> <%= stdfont %> + <%= stdfont %> "><%= topic.getTotalMessages() %> <%= stdfont %> + <%= stdfont %> <%= rdat.formatDateForDisplay(topic.getLastUpdateDate()) %>
- - + <% } // end if %>
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,1) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,1) %> <%= data.getPhotoTag(rdat) %>

<% Date tmpd = prof.getCreateDate(); %> @@ -48,7 +48,7 @@ <% } // end if %>
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> <%= StringUtil.encodeHTML(data.getFullName()) %>
<% tmp = prof.getEmail(); %> @@ -82,9 +82,11 @@ <% tmp = prof.getDescription(); %> <% if (!(StringUtil.isStringEmpty(tmp))) { %> -
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> - <%= StringUtil.encodeHTML(tmp) %> -
+ <%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %> + <%= StringUtil.encodeHTML(tmp) %> + +
@@ -95,14 +97,15 @@
"> - - -
+
<%= rdat.getStdFontTag(ColorSelectors.CONTENT_FOREGROUND,2) %>Subject: - +
+
+
" NAME="send" ALT="Send E-Mail" WIDTH=80 HEIGHT=24 BORDER=0>