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 &lt;input&gt; 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 &lt;input&gt; 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 &amp; Eric Meyer" due-to-email="cchavez@agssa.net &amp; emeyer@quoininc.com">
       CForms Block: Add multiple repeater drag &amp; 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>&lt;xsl:include href="resource://org/apache/cocoon/forms/resources/forms-advanced-field-styling.xsl"/&gt;</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>&lt;ft:validation-error id="[widget-id]"/&gt;</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)