1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
(define-module (render captcha-example) #:use-module (srfi srfi-19) ;; date #:use-module (web server) #:use-module (web request) #:use-module (web response) #:use-module (web uri) #:use-module (webserver-utils) #:use-module (sxml simple) #:use-module (utils) #:use-module (plugin captcha-interface) #:use-module (render captcha) #:export (make-captcha-page)) (define (make-captcha-page captcha request body) (define captcha-result (make-captcha captcha 'post request body)) (cond ((eq? (request-method request) 'GET) `((message . #f) (columns . ,(make-columns (captcha-sxml captcha-result))))) ((captcha-did-solve-correct captcha-result) `((message . (success "correct!")) (columns . ,(make-columns (captcha-sxml captcha-result))))) (#t `((message . (error ,(captcha-failure captcha-result))) (columns . ,(make-columns (captcha-sxml captcha-result))))))) (define (make-columns captcha-sxml) `(((a (@ (href "/")) "back") (hr) (form (@ (class "register-form") (method "POST") (action "")) ,captcha-sxml))))