Last modified by Agnease on 2026/06/16 17:18

From version 16.39
edited by Agnease
on 2026/06/16 16:48
Change comment: There is no comment for this version
To version 16.46
edited by Agnease
on 2026/06/16 17:00
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -5,7 +5,9 @@
5 5  
6 6   #set ($name = '')
7 7   #set ($email = '')
8 + ## Fields to help preventing bots filled forms.
8 8   #set ($contactWebsite = '')
10 + #set ($startedAtRaw = '')
9 9  
10 10   #foreach ($parameterName in $request.parameterNames)
11 11   #set ($propertyParts = $parameterName.split('_0_'))
... ... @@ -17,11 +17,23 @@
17 17   #set ($email = $stringtool.trim($request.get($parameterName)))
18 18   #elseif ($propertyName == 'contactWebsite')
19 19   #set ($contactWebsite = $stringtool.trim($request.get($parameterName)))
22 + #elseif ($propertyName == 'contactStartedAt')
23 + #set ($startedAtRaw = $stringtool.trim($request.get($parameterName)))
20 20   #end
21 21   #end
22 22   #end
23 23  
24 - #if ("$!contactWebsite.trim()" != '')
28 + #if ("$!startedAtRaw" != '')
29 + #set ($startedAt = $numbertool.toNumber($startedAtRaw))
30 + #set ($now = $datetool.systemDate.time)
31 + #set ($elapsed = $now - $startedAt)
32 +
33 + ## Reject submissions faster than 10 seconds.
34 + #if ($elapsed > 0 && $elapsed < 10000)
35 + #set ($discard = $response.setStatus(400))
36 + #jsonResponse({'message': 'Please take a moment to describe your XWiki request before submitting.'})
37 + #end
38 + #elseif ("$!contactWebsite.trim()" != '')
25 25   #set ($statusCode = 400)
26 26   #set ($message = 'The request could not be sent. Please try again or contact Agnease by email.')
27 27   #elseif ("$!name" == '' && "$!email" == '')
... ... @@ -119,6 +119,7 @@
119 119   tabindex="-1"
120 120   />
121 121   </div>
136 + <input type="hidden" name="Agnease.Code.ContactRequest.ContactRequestClass_0_contactStartedAt" value="$datetool.getsystemDate.time" />
122 122   <input id="contactSubmit" type="submit" class="btn btn-primary" value="Send my request">
123 123   </form>
124 124   #end