diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/Widget.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/Widget.java index d3e46524d..e7e2741d5 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/Widget.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/widgets/Widget.java @@ -10,6 +10,7 @@ import java.util.HashMap; import java.util.Map; import javax.servlet.ServletContext; +import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; @@ -107,6 +108,7 @@ public abstract class Widget { private String processMacroToString(Environment env, String widgetName, Macro macro, Map map) { StringWriter out = new StringWriter(); + try { String templateString = macro.getChildNodes().get(0).toString(); // NB Using this method of creating a template from a string does not allow the widget template to import @@ -117,8 +119,16 @@ public abstract class Widget { // the same key, e.g., "widgetTemplate", since one putTemplate() call will clobber a previous one. // We need to give each widget macro template a unique key in the StringTemplateLoader, and check // if it's already there or else add it. Leave this for later. - Template template = new Template("widget", new StringReader(templateString), env.getConfiguration()); - template.process(map, out); + Template template = new Template("widget", new StringReader(templateString), env.getConfiguration()); + + // JB KLUGE The widget is processed in its own environment, which doesn't include these custom attributes. + // JB KLUGE Put them in. + Environment widgetEnv = template.createProcessingEnvironment(map, out); + ServletRequest request = (ServletRequest) env.getCustomAttribute("request"); + widgetEnv.setCustomAttribute("request", request); + widgetEnv.setCustomAttribute("context", env.getCustomAttribute("context")); + widgetEnv.setLocale(request.getLocale()); + widgetEnv.process(); } catch (Exception e) { log.error("Could not process widget " + widgetName, e); } diff --git a/webapp/themes/vitro/templates/footer.ftl b/webapp/themes/vitro/templates/footer.ftl index 29e054ead..1a73ce792 100644 --- a/webapp/themes/vitro/templates/footer.ftl +++ b/webapp/themes/vitro/templates/footer.ftl @@ -7,25 +7,25 @@ <#if copyright??> ©${copyright.year?c} <#if copyright.url??> - ${copyright.text} + ${copyright.text} <#else> ${copyright.text} - | Terms of Use | + | Terms of Use | Powered by Vitro <#if user.hasRevisionInfoAccess> - | Version ${version.label} + | Version ${version.label}

diff --git a/webapp/themes/vitro/templates/identity.ftl b/webapp/themes/vitro/templates/identity.ftl index 297945d43..478452f34 100644 --- a/webapp/themes/vitro/templates/identity.ftl +++ b/webapp/themes/vitro/templates/identity.ftl @@ -1,7 +1,7 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->