You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by an...@apache.org on 2008/02/20 08:16:22 UTC
svn commit: r629376 - in /cocoon/branches/BRANCH_2_1_X:
src/blocks/forms/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl
status.xml
Author: antonio
Date: Tue Feb 19 23:16:19 2008
New Revision: 629376
URL: http://svn.apache.org/viewvc?rev=629376&view=rev
Log:
<action dev="AG" type="fix" fixes-bug="COCOON-2020" due-to="Mark Lundquist" due-to-email="lundquist.mark@gmail.com">
Forms: CAPTCHA <input> element should have autocomplete="off"
</action>
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/forms/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl
cocoon/branches/BRANCH_2_1_X/status.xml
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/forms/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/src/blocks/forms/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl?rev=629376&r1=629375&r2=629376&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/forms/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/forms/resources/org/apache/cocoon/forms/resources/forms-field-styling.xsl Tue Feb 19 23:16:19 2008
@@ -48,7 +48,7 @@
| CForms can run in two different modes, in each mode different form widgets get instantiated.
| The @ajax attribute in your ft:form-template controls the mode.
|
- | 1. non-ajax mode (@ajax="false", this is the default) :
+ | 1. non-ajax mode (@ajax="false", this is the default) :
| All form submits happen via full page loads.
| Form submission is handled by cocoon.forms.SimpleForm (dojoType="forms:SimpleForm")
| either directly (submit buttons) or via cocoon.forms.submitForm (scripts, onChange handlers etc.).
@@ -57,8 +57,8 @@
| All form submits happen via AJAX (XHR or IframeIO) resulting in partial page updates.
| Form submission is handled by cocoon.forms.AjaxForm (dojoType="forms:AjaxForm")
| either directly (buttons) or via cocoon.forms.submitForm (scripts).
- |
- | NOTES:
+ |
+ | NOTES:
| Dojo is always loaded by this XSLT. You can use dojo widgets regardless of whether you want ajax-type behaviour.
| Since 2.1.11, cocoon widgets no longer need to be explicitly 'dojo.require'd in the page, they load automatically using a namespace manifest.
| You may use this same mechanism for your own namespace widgets.
@@ -67,7 +67,7 @@
|
| If you are overiding this xslt to avoid the use of dojo (untested, but cocoon.forms.common should still work)
| you should add a call to run CForms OnLoadHandlers into the body's @onload attribute
- |
+ |
| eg.
| <xsl:attribute name="onload">cocoon.forms.callOnLoadHandlers(); <xsl:value-of select="@onload"/></xsl:attribute>
+-->
@@ -94,14 +94,14 @@
dojo.registerModulePath("cocoon.forms", "../forms/js"); <!-- tell dojo how to find our forms module. NB: (since 2.1.11, replaces cocoon.js) -->
dojo.require("cocoon.forms.common"); <!-- tell dojo we require the commons library -->
dojo.addOnLoad(cocoon.forms.callOnLoadHandlers); <!-- ask dojo to run our onLoad handlers -->
- </script>
- <xsl:copy-of select="fi:init/node()"/> <!-- copy optional initialisation from form template -->
+ </script>
+ <xsl:copy-of select="fi:init/node()"/> <!-- copy optional initialisation from form template -->
<xsl:if test="/*/fi:googlemap"> <!-- googlemap-key TODO: This looks broken to me (JQ) -->
<script src="/*/fi:googlemap/fi:key" type="text/javascript"/>
</xsl:if>
<link rel="stylesheet" type="text/css" href="{$resources-uri}/forms/css/forms.css"/>
</xsl:template>
-
+
<xsl:template match="fi:init"/> <!-- ignore, was handled above -->
<xsl:template match="body" mode="forms-field">
@@ -119,6 +119,9 @@
</xsl:if>
<!-- @id:input is what labels point to -->
<input name="{@id}" id="{@id}:input" value="{fi:value}" title="{fi:hint}" type="text">
+ <xsl:if test="fi:captcha-image">
+ <xsl:attribute name="autocomplete">off</xsl:attribute>
+ </xsl:if>
<xsl:apply-templates select="." mode="styling"/>
</input>
<xsl:apply-templates select="." mode="common"/>
@@ -158,7 +161,7 @@
<xsl:choose>
<!-- IE does not react to a click with an onchange, as firefox does, so for radio and checkbox put an onclick handler instead -->
<xsl:when test="local-name() = 'booleanfield' or fi:styling/@list-type = 'radio' or fi:styling/@list-type = 'checkbox'">
- <xsl:attribute name="onclick">cocoon.forms.submitForm(this)</xsl:attribute>
+ <xsl:attribute name="onclick">cocoon.forms.submitForm(this)</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="onchange">cocoon.forms.submitForm(this)</xsl:attribute>
@@ -627,7 +630,7 @@
|
| NB. If you are overiding this xslt to avoid the use of Dojo
| You should add a call to run CForms OnSubmitHandlers into the form's @onsubmit attribute
- |
+ |
| eg.
| <xsl:attribute name="onsubmit">cocoon.forms.callOnSubmitHandlers(this); <xsl:value-of select="@onsubmit"/></xsl:attribute>
+-->
@@ -793,7 +796,7 @@
| fi:group - has no visual representation by default
| If the fi:group contains an id and has only one child that is not in the fi: namespace,
| then copy the id to the child. This is needed for ajax when grouping is just used to group
- | widgets.
+ | widgets.
+-->
<xsl:template match="fi:group[@id and count(*) = 1 and not(fi:*)]">
<xsl:apply-templates mode="copy-parent-id"/>
@@ -816,26 +819,26 @@
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
-
+
<xsl:template match="*" mode="css">
<xsl:variable name="class"><xsl:text>forms </xsl:text>
<xsl:value-of select="local-name()"/><xsl:text> </xsl:text>
<xsl:value-of select="@state"/><xsl:text> </xsl:text>
<xsl:value-of select="fi:styling/@class"/><xsl:text> </xsl:text>
- <xsl:if test="@required = 'true'"><xsl:text>required </xsl:text></xsl:if>
+ <xsl:if test="@required = 'true'"><xsl:text>required </xsl:text></xsl:if>
<xsl:if test="count(fi:validation-error) != 0">with-errors</xsl:if>
</xsl:variable>
<xsl:attribute name="class"><xsl:value-of select="normalize-space($class)"/></xsl:attribute>
</xsl:template>
-
+
<!--+
| fi:googlemap - generate div and hidden fields for value
+-->
<xsl:template match="fi:googlemap">
-
+
<!-- we need a unique id without . as js variable-->
<xsl:variable name="jsid" select="generate-id(@id)"/>
-
+
<!-- the map-div and (optional), the geocoding input field -->
<div>
<xsl:apply-templates select="fi:value/fi:usermarker" mode="geo"/>
@@ -843,7 +846,7 @@
<xsl:copy-of select="fi:styling/@*"/>
</div>
</div>
-
+
<!-- map creation -->
<script type="text/javascript">
var map_<xsl:value-of select="$jsid"/> = new GMap2(document.getElementById("<xsl:value-of select="@id"/>"),[G_HYBRID_MAP]);
@@ -851,7 +854,7 @@
map_<xsl:value-of select="$jsid"/>.addControl(new GScaleControl());
map_<xsl:value-of select="$jsid"/>.addControl(new GMapTypeControl());
map_<xsl:value-of select="$jsid"/>.setCenter(new GLatLng(<xsl:value-of select="fi:value/@lat"/>, <xsl:value-of select="fi:value/@lng"/>), <xsl:value-of select="fi:value/@zoom"/>);
-
+
GEvent.addListener(map_<xsl:value-of select="$jsid"/>, "dragend", function() {
document.getElementById("<xsl:value-of select="@id"/>_lng").setAttribute("value",map_<xsl:value-of select="$jsid"/>.getCenter().x);
document.getElementById("<xsl:value-of select="@id"/>_lat").setAttribute("value",map_<xsl:value-of select="$jsid"/>.getCenter().y);
@@ -859,12 +862,12 @@
GEvent.addListener(map_<xsl:value-of select="$jsid"/>, "zoomend", function(oldLevel,newLevel) {
document.getElementById("<xsl:value-of select="@id"/>_zoom").value=newLevel;
});
-
+
<xsl:apply-templates select="fi:value/fi:markers/fi:marker"/>
<xsl:apply-templates select="fi:value/fi:usermarker" mode="script"/>
-
+
</script>
-
+
<!-- hidden fields to store widget values -->
<input name="{@id}_lng" id="{@id}_lng" value="{fi:value/@lng}" type="hidden"/>
<input name="{@id}_lat" id="{@id}_lat" value="{fi:value/@lat}" type="hidden"/>
@@ -873,14 +876,14 @@
<input name="{@id}_usermarker-lng" id="{@id}_usermarker-lng" value="{fi:value/fi:usermarker/@lng}" type="hidden"/>
<input name="{@id}_usermarker-lat" id="{@id}_usermarker-lat" value="{fi:value/fi:usermarker/@lat}" type="hidden"/>
</xsl:template>
-
-
+
+
<!-- list of markers, the last selected is stored in hidden field "current" -->
<xsl:template match="fi:value/fi:markers/fi:marker">
-
+
<!-- we need a unique id without . as js variable-->
<xsl:variable name="jsid" select="generate-id(../../../@id)"/>
-
+
var marker = new GMarker(new GLatLng(<xsl:value-of select="@lat"/>, <xsl:value-of select="@lng"/>));
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml("<xsl:value-of select="fi:text"/>");
@@ -888,13 +891,13 @@
});
map_<xsl:value-of select="$jsid"/>.addOverlay(marker);
</xsl:template>
-
+
<!-- usermarker: user-click on map places this marker -->
<xsl:template match="fi:value/fi:usermarker" mode="script">
-
+
<!-- we need a unique id without . as js variable-->
<xsl:variable name="jsid" select="generate-id(../../@id)"/>
-
+
var usermarker_<xsl:value-of select="$jsid"/> = new GMarker(new GLatLng(<xsl:value-of select="@lat"/>, <xsl:value-of select="@lng"/>));
map_<xsl:value-of select="$jsid"/>.addOverlay(usermarker_<xsl:value-of select="$jsid"/>);
GEvent.addListener(map_<xsl:value-of select="$jsid"/>, "click", function(overlay,point) {
@@ -924,6 +927,6 @@
<xsl:variable name="jsid" select="generate-id(../../@id)"/>
<input name="{../../@id}_geo" id="{../../@id}_geo"/>
<input name="{../../@id}_geo_go" id="{../../@id}_geo_go" value="Go!" onclick="usermarker_{$jsid}.showAddress(this.form['{../../@id}_geo'].value)" type="button"/>
- </xsl:template>
+ </xsl:template>
</xsl:stylesheet>
Modified: cocoon/branches/BRANCH_2_1_X/status.xml
URL: http://svn.apache.org/viewvc/cocoon/branches/BRANCH_2_1_X/status.xml?rev=629376&r1=629375&r2=629376&view=diff
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/status.xml (original)
+++ cocoon/branches/BRANCH_2_1_X/status.xml Tue Feb 19 23:16:19 2008
@@ -182,6 +182,9 @@
<changes>
<release version="2.1.12" date="TBD">
+ <action dev="AG" type="fix" fixes-bug="COCOON-2020" due-to="Mark Lundquist" due-to-email="lundquist.mark@gmail.com">
+ Forms: CAPTCHA <input> element should have autocomplete="off"
+ </action>
<action dev="AN" type="add" fixes-bug="COCOON-2065" due-to="Dominique De Munck" due-to-email="dominique.demunck@gmail.com">
Lucene block: Added optimize-frequency configuration parameter to LuceneIndexTransformer.
This gives a huge performance increase on large Lucene indexes when not optimizing after every update.
@@ -196,7 +199,7 @@
Forms Block: Fixed concurrency issue in form definition builders code. If you have custom
widgets, please implement WidgetDefinitionBuilder.buildWidgetDefinition(Element, WidgetDefinitionBuilderContext)
method. Do not use WidgetDefinitionBuilder.buildWidgetDefinition(Element) method, it is intended to be
- implemented only by the top level widget (Form).
+ implemented only by the top level widget (Form).
</action>
<action dev="JH" type="add" fixes-bug="COCOON-2149" due-to="Ellis Pritchard" due-to-email="ellis@nukinetics.com">
Add capability to IncludeTransformer to strip the root element from included XML content.
@@ -210,13 +213,13 @@
</action>
<action dev="AG" type="fix" fixes-bug="COCOON-2158">
Core: XMLByteStreamCompiler hard-coded limits of 0xffff Strings prevents large XML documents
- from being handled in Cocoon.
+ from being handled in Cocoon.
</action>
</release>
<release version="2.1.11" date="December 31 2007">
<action dev="RG" type="fix" fixes-bug="COCOON-1574">
Created XPathXMLFileModule to address issus with XMLFileModule. XPathXMLFileModule supports variable
- replacement and caching of documents in ehcache and expressions as soft references.
+ replacement and caching of documents in ehcache and expressions as soft references.
</action>
<action dev="AG" type="fix" fixes-bug="COCOON-2052" due-to="Robin Wyles" due-to-email="rob@robinwyles.com">
Forms: Allow Ajax submission of forms with empty upload field.
@@ -231,11 +234,11 @@
Core: Update xalan to 2.7.1.
</action>
<action dev="AN" type="fix" fixes-bug="COCOON-1990" due-to="Robert Hoffmann" due-to-email="roberth@mit.edu">
- Sitemap: Redirect to cocoon:/foo did not work in sub-sitemap when it is in same directory as the root sitemap.
+ Sitemap: Redirect to cocoon:/foo did not work in sub-sitemap when it is in same directory as the root sitemap.
</action>
<action dev="AG" type="update">
Core: Update xercesImpl to 2.9.1.
- </action>
+ </action>
<action dev="JH" type="fix" fixes-bug="COCOON-2146" due-to="Ellis Pritchard" due-to-email="ellis@nukinetics.com">
Event Cache Block: Restore serializability of persistent cache when using event-aware cache.
</action>
@@ -415,10 +418,10 @@
The new version should be compatible with the previous version, though it does
not support the constructs "catch (continue|break|return)" which were available
in Cocoon's Rhino fork.
- </action>
+ </action>
<action dev="AG" type="update">
Updated xercesImpl to 2.9.0 and xml-apis to 1.3.04.
- </action>
+ </action>
<action dev="JQ" type="add">
Ajax: upload progress bar widget.<br/>
<ul>
@@ -651,7 +654,7 @@
</action>
<action dev="AG" type="add" due-to="Carlos Chávez & Eric Meyer" due-to-email="cchavez@agssa.net & emeyer@quoininc.com">
CForms Block: Add multiple repeater drag & drop dojo sample.
- </action>
+ </action>
<action dev="CZ" type="fix" fixes-bug="COCOON-1857" due-to="Brian Vargas" due-to-email="ardvaark-apachebugs@procrastinators.org">
Set instrumentation manager on child component managers to enable
instrumentation of all components including sitemap components.
@@ -758,7 +761,7 @@
Updated axis to 1.4 and commons-collections to 3.2.
</action>
<action dev="SG" type="add" fixes-bug="COCOON-1804">
- Added a lightweight FOM_SimpleCocoon class, and placed it in the javascript scope when there isn't
+ Added a lightweight FOM_SimpleCocoon class, and placed it in the javascript scope when there isn't
already a scope defined. This way, even when using javaflow, you have access to the cocoon
object (with request etc..) from javascript snippets in definition.
</action>
@@ -1315,7 +1318,7 @@
groovy to 1.0-jsr-03.
</action>
<action dev="JHS" type="fix" fixes-bug="35538" due-to="Mark H. Butler" due-to-email="mark-h.butler@hp.com">
- Deli block updated to use the latest revision of DELI. This uses a more robust method of loading configuration
+ Deli block updated to use the latest revision of DELI. This uses a more robust method of loading configuration
files that should ensure DELI works on different apps servers or deployed as a WAR.
</action>
<action dev="JHS" type="fix" fixes-bug="29712" due-to="Gunnar Brand" due-to-email="g.brand@interface-business.de">
@@ -1505,13 +1508,13 @@
<action dev="CZ" type="add">
CForms block: Make all WidgetValidatorBuilders ThreadSafe. Reset validation errors
before validating a field.
- </action>
+ </action>
<action dev="CZ" type="add">
Portal block: Add portal manager aspects for more flexible portal processing.
</action>
<action dev="CZ" type="add">
CForms block: Add isValid() method to a Widget.
- </action>
+ </action>
<action dev="VG" type="add" fixes-bug="29817" due-to="Patrick Herber" due-to-email="patrick@arpage.ch">
POI Block: Added HSSFGenerator.
</action>
@@ -1546,7 +1549,7 @@
CForms block: The default HTML stylesheets have been moved into the jar packages. If they should
be extended in custom stylesheets, import or include them using the resource protocol:
<code><xsl:include href="resource://org/apache/cocoon/forms/resources/forms-advanced-field-styling.xsl"/></code>.
- </action>
+ </action>
<action dev="RP" type="add">
CForms block: The form and container widgets can take up <code>ValidationError</code>s. As those widgets
don't have a natural place where the error message should appear, the <code><ft:validation-error id="[widget-id]"/></code>
@@ -1731,7 +1734,7 @@
Updated groovy to 1.0-jsr-01, jdtcore to 3.0.2.
</action>
<action dev="BD" type="add" fixes-bug="34294" due-to="Alfred Nathaniel" due-to-email="Alfred.Nathaniel@swx.com">
- New set of automated tests based on HtmlUnit
+ New set of automated tests based on HtmlUnit
</action>
<action dev="VG" type="update">
Add support for namespaced XML elements to the JXPath based input
@@ -1966,7 +1969,7 @@
1.4 = Java version 1.4
1.5 = Java version 1.5
auto = The version of the JVM where cocoon is running. (Default value).
-
+
NOTE: The parameter is optional to keep backward compatibility.
The parameter currently works only with Sun Javac compiler.
The eclipse compiler version 3.0.1 currently does not support java 1.5.
@@ -1987,7 +1990,7 @@
Updated jakarta-slide-webdavlib to 2.1, jdom to 1.0, slide-kernel to 2.1, slide-stores to 2.1, slide-webdavservlet to 2.1.
</action>
<action dev="RG" type="add">
- Portal now allows Cocoon to be deployed as a war (only supports local JSR-168 portlets) and
+ Portal now allows Cocoon to be deployed as a war (only supports local JSR-168 portlets) and
allows external portlets to be in a war.
</action>
<action dev="SW" type="fix" fixes-bug="31668">
@@ -2000,9 +2003,9 @@
Modified PortletURLProviderImpl.toString() to create a copy of itself and register that with the event.
</action>
<action dev="LG" type="add">
- ContinuationsManager default implementation can now store continuations in user session.
- Continuations are not available outside user session and invalidated automatically
- when session gets invalidated by servlet container. This is a good security option for web applications.
+ ContinuationsManager default implementation can now store continuations in user session.
+ Continuations are not available outside user session and invalidated automatically
+ when session gets invalidated by servlet container. This is a good security option for web applications.
</action>
<action dev="AG" type="fix" fixes-bug="32083" due-to="Mark H. Butler" due-to-email="mark-h.butler@hp.com">
Update Deli to x031104 (include over 300 vendor, operator and third party profiles)