Small bug fix for Foundry
git-svn-id: https://svn.libreccm.org/ccm/trunk@3803 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
db7bd72bdf
commit
3d85523feb
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<registry>
|
||||
<!-- nothing yet -->
|
||||
<config class="com.arsdigita.cms.formbuilder.FormItemConfig"
|
||||
storage="ccm-cms-types-formitem/formitem.properties"/>
|
||||
</registry>
|
||||
|
|
|
|||
|
|
@ -52,7 +52,9 @@ import com.arsdigita.cms.dispatcher.SimpleXMLGenerator;
|
|||
import com.arsdigita.web.URL;
|
||||
import com.arsdigita.web.Web;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
public class FormItem extends ContentPage implements XMLGenerator {
|
||||
|
||||
|
|
@ -212,6 +214,15 @@ public class FormItem extends ContentPage implements XMLGenerator {
|
|||
public void generateXML(PageState state,
|
||||
Element parent,
|
||||
String useContext) {
|
||||
if (FormItemConfig.getConfig().isHoneypotEnabled()) {
|
||||
final String honeypotName = FormItemConfig.getConfig().getHoneypotName();
|
||||
final String honeypotValue = state.getRequest().getParameter(honeypotName);
|
||||
if (honeypotValue != null
|
||||
&& !honeypotValue.isEmpty()) {
|
||||
throw new UncheckedWrapperException("");
|
||||
}
|
||||
}
|
||||
|
||||
PersistentForm form = getForm();
|
||||
Component c = null;
|
||||
try {
|
||||
|
|
@ -262,6 +273,18 @@ public class FormItem extends ContentPage implements XMLGenerator {
|
|||
|
||||
element.addAttribute(FormBuilderUtil.FORM_ACTION, action);
|
||||
|
||||
if (FormItemConfig.getConfig().isHoneypotEnabled()) {
|
||||
final Element honeypot = element.newChildElement("honeypot");
|
||||
honeypot.addAttribute("name", "your-homepage");
|
||||
}
|
||||
|
||||
if (FormItemConfig.getConfig().isMinTimeCheckEnabled()) {
|
||||
final Element minTimeCheck = element.newChildElement("minTimeCheck");
|
||||
minTimeCheck.addAttribute(
|
||||
"generated",
|
||||
Long.toString(System.currentTimeMillis()));
|
||||
}
|
||||
|
||||
FormBuilderXMLRenderer renderer = new FormBuilderXMLRenderer(element);
|
||||
renderer.setWrapAttributes(true);
|
||||
renderer.setWrapRoot(false);
|
||||
|
|
|
|||
|
|
@ -75,6 +75,22 @@
|
|||
else $data-tree//cms:item/@formAction}"
|
||||
accept-charset="utf-8">
|
||||
|
||||
<xsl:if test="$contentitem-tree/honeypot">
|
||||
<div class="formitem-hidden">
|
||||
<label for="{$contentitem-tree/honeypot/@name}">
|
||||
<xsl:value-of select="foundry:get-static-text('form-item', 'honeypot-label')"/>
|
||||
</label>
|
||||
|
||||
<input type="text" name="{$contentitem-tree/honeypot/@name}"/>
|
||||
</div>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$contentitem-tree/minTimeCheck">
|
||||
<input type="hidden"
|
||||
name="minTimeCheck"
|
||||
value="{$contentitem-tree/minTimeCheck/@generated}"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="not($contentitem-tree/remote = 'true')">
|
||||
<input type="hidden"
|
||||
value="visited"
|
||||
|
|
@ -107,4 +123,4 @@
|
|||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet>
|
||||
|
|
|
|||
|
|
@ -1454,12 +1454,12 @@
|
|||
<xsl:value-of select="foundry:get-static-text('', ./@title, false())"/>
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:if test="$width > 0">
|
||||
<xsl:if test="$width != '' and $width > 0">
|
||||
<xsl:attribute name="width">
|
||||
<xsl:value-of select="$width"/>
|
||||
</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:if test="$height > 0">
|
||||
<xsl:if test="$height != '' and $height > 0">
|
||||
<xsl:attribute name="height">
|
||||
<xsl:value-of select="$height"/>
|
||||
</xsl:attribute>
|
||||
|
|
|
|||
Loading…
Reference in New Issue