]> granicus.if.org Git - ejabberd/commitdiff
Vcard search doesn't support * in mnesia, fix search form (#633)
authorBadlop <badlop@process-one.net>
Fri, 17 May 2019 13:24:18 +0000 (15:24 +0200)
committerBadlop <badlop@process-one.net>
Fri, 17 May 2019 13:26:44 +0000 (15:26 +0200)
src/mod_vcard.erl

index 5caecae50ea441c3493cf202c7c14b18e2a20189..6b6f5f7d548933f8b43eb79b6bfd17277fb1f54c 100644 (file)
@@ -429,18 +429,26 @@ mk_search_form(JID, ServerHost, Lang) ->
     Fs = [mk_tfield(Label, Var, Lang) || {Label, Var} <- SearchFields],
     X = #xdata{type = form,
               title = Title,
-              instructions =
-                  [translate:translate(
-                     Lang,
-                     <<"Fill in the form to search for any matching "
-                       "Jabber User (Add * to the end of field "
-                       "to match substring)">>)],
+              instructions = [make_instructions(Mod, Lang)],
               fields = Fs},
     #search{instructions =
                translate:translate(
                  Lang, <<"You need an x:data capable client to search">>),
            xdata = X}.
 
+make_instructions(Mod, Lang) ->
+    Fill = translate:translate(
+            Lang,
+            <<"Fill in the form to search for any matching "
+              "Jabber User">>),
+    Add = translate:translate(
+           Lang,
+           <<" (Add * to the end of field to match substring)">>),
+    case Mod of
+       mod_vcard_mnesia -> Fill;
+       _ -> str:concat(Fill, Add)
+    end.
+
 -spec search_result(binary(), jid(), binary(), [xdata_field()]) -> xdata().
 search_result(Lang, JID, ServerHost, XFields) ->
     Mod = gen_mod:db_mod(ServerHost, ?MODULE),