diff options
author | Badlop <badlop@process-one.net> | 2010-10-25 19:00:52 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2010-10-25 19:00:52 +0200 |
commit | 964b7b6b672af31447c6dce8c8bcbfe5f640e005 (patch) | |
tree | bdfc5b879f3cba76fc8d067e7799379b9f5ab5a3 /src/ejabberd_captcha.erl | |
parent | Workaround 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.erl | 16 |
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}), |