]> granicus.if.org Git - ejabberd/commitdiff
Changes in registration form to workaround client problems (EJAB-1262)
authorBadlop <badlop@process-one.net>
Mon, 25 Oct 2010 17:00:52 +0000 (19:00 +0200)
committerBadlop <badlop@process-one.net>
Mon, 25 Oct 2010 17:00:52 +0000 (19:00 +0200)
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

src/ejabberd_captcha.erl
src/mod_register.erl

index 3959972a0f861a6d069af953d7815f110723dff9..9394342a086b2fb4a6de7c44f3d9e4417e62c66b 100644 (file)
@@ -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}),
index 6fe1818e7d233cc5d9813b1cf05b03e30bbaf1da..4ace5d536c7ec55b6ca2db74c38f8f14ae2f42a2 100644 (file)
@@ -217,7 +217,7 @@ process_iq(From, To,
                                 translate:translate(
                                   Lang,
                                   "Choose a username and password "
-                                  "to register with this server")}]},
+                                  "to register with this server.")}]},
                    UField = {xmlelement, "field",
                              [{"type", "text-single"},
                               {"label", translate:translate(Lang, "User")},