From: <ssk...@vh...> - 2005-09-07 12:21:47
|
Author: sskracic Date: 2005-09-07 14:12:43 +0200 (Wed, 07 Sep 2005) New Revision: 761 Modified: ccm-core/trunk/src/com/arsdigita/bebop/page/PageTransformer.java ccm-core/trunk/web/packages/bebop/xsl/dcp.xsl Log: Allow DCP message to be any (even invalid) HTML. Modified: ccm-core/trunk/src/com/arsdigita/bebop/page/PageTransformer.java =================================================================== --- ccm-core/trunk/src/com/arsdigita/bebop/page/PageTransformer.java 2005-09-07 09:49:33 UTC (rev 760) +++ ccm-core/trunk/src/com/arsdigita/bebop/page/PageTransformer.java 2005-09-07 12:12:43 UTC (rev 761) @@ -138,7 +138,13 @@ ("dcp-message", new XSLParameterGenerator() { public String generateValue(HttpServletRequest request) { - return Bebop.getConfig().getDcpMessage(); + String msg = Bebop.getConfig().getDcpMessage(); + if (msg != null) { + // We need to escape single quotes, since they're used + // as string delimiters in javascript function. + return msg.replaceAll("'", "\\\\'"); + } + return null; } }); } Modified: ccm-core/trunk/web/packages/bebop/xsl/dcp.xsl =================================================================== --- ccm-core/trunk/web/packages/bebop/xsl/dcp.xsl 2005-09-07 09:49:33 UTC (rev 760) +++ ccm-core/trunk/web/packages/bebop/xsl/dcp.xsl 2005-09-07 12:12:43 UTC (rev 761) @@ -13,8 +13,9 @@ <xsl:choose> <xsl:when test="$dcp-message"> function dcp_hide(e) { - text = document.createTextNode('<xsl:value-of select="$dcp-message"/>'); - e.parentNode.insertBefore(text, e); + div = document.createElement('div'); + div.innerHTML = '<xsl:value-of disable-output-escaping="yes" select="$dcp-message"/>'; + e.parentNode.insertBefore(div, e); e.style.display = 'none'; } </xsl:when> |