summaryrefslogtreecommitdiff
path: root/src/ejabberd_captcha.erl
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2010-10-25 19:00:52 +0200
committerBadlop <badlop@process-one.net>2010-10-25 19:00:52 +0200
commit964b7b6b672af31447c6dce8c8bcbfe5f640e005 (patch)
treebdfc5b879f3cba76fc8d067e7799379b9f5ab5a3 /src/ejabberd_captcha.erl
parentWorkaround for Psi's wrong Type in form submission (diff)
Changes in registration form to workaround client problems (EJAB-1262)
Changes included: * Remove var in fixed field because Gajim and Tkabber display it to user * Add workaround for Psi's overlap fields * Add var=url attribute, required by Psi to display the field * Provide the image URL as a copy-able form field
Diffstat (limited to 'src/ejabberd_captcha.erl')
-rw-r--r--src/ejabberd_captcha.erl16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/ejabberd_captcha.erl b/src/ejabberd_captcha.erl
index 3959972a..9394342a 100644
--- a/src/ejabberd_captcha.erl
+++ b/src/ejabberd_captcha.erl
@@ -126,15 +126,23 @@ create_captcha_x(SID, To, Lang, HeadEls, TailEls) ->
[{"xmlns", ?NS_BOB}, {"cid", CID},
{"max-age", "0"}, {"type", Type}],
[{xmlcdata, B64Image}]},
- HelpTxt = io_lib:format(
- translate:translate(
- Lang, "Visit ~s if you don't see the image"),
- [get_url(Id ++ "/image")]),
+ HelpTxt = translate:translate(
+ Lang,
+ "If you don't see the CAPTCHA image here, "
+ "visit the web page."),
+ Imageurl = get_url(Id ++ "/image"),
Captcha =
{xmlelement, "x", [{"xmlns", ?NS_XDATA}, {"type", "form"}],
[?VFIELD("hidden", "FORM_TYPE", {xmlcdata, ?NS_CAPTCHA}) | HeadEls] ++
[{xmlelement, "field", [{"type", "fixed"}],
[{xmlelement, "value", [], [{xmlcdata, HelpTxt}]}]},
+ {xmlelement, "field", [{"type", "hidden"}, {"var", "captchahidden"}],
+ [{xmlelement, "value", [], [{xmlcdata, "workaround-for-psi"}]}]},
+ {xmlelement, "field",
+ [{"type", "text-single"},
+ {"label", translate:translate(Lang, "CAPTCHA web page")},
+ {"var", "url"}],
+ [{xmlelement, "value", [], [{xmlcdata, Imageurl}]}]},
?VFIELD("hidden", "from", {xmlcdata, jlib:jid_to_string(To)}),
?VFIELD("hidden", "challenge", {xmlcdata, Id}),
?VFIELD("hidden", "sid", {xmlcdata, SID}),