]> granicus.if.org Git - ejabberd/commitdiff
Use select fields to input host in WebAdmin Backup (#3000)
authorBadlop <badlop@process-one.net>
Thu, 22 Aug 2019 16:07:05 +0000 (18:07 +0200)
committerBadlop <badlop@process-one.net>
Thu, 22 Aug 2019 16:35:43 +0000 (18:35 +0200)
src/ejabberd_web_admin.erl

index cf0492b9566a9000f4e05c38b30492948932f7e5..8d28d44476d655e01a469251005c76472eafdfc6 100644 (file)
@@ -1292,9 +1292,7 @@ get_node(global, Node, [<<"backup">>], Query, Lang) ->
                                   [?CT(?T("Export data of users in a host to PIEFXIS "
                                           "files (XEP-0227):")),
                                    ?C(<<" ">>),
-                                   ?INPUT(<<"text">>,
-                                          <<"export_piefxis_host_dirhost">>,
-                                          (ejabberd_config:get_myname()))]),
+                                   make_select_host(Lang, <<"export_piefxis_host_dirhost">>)]),
                               ?XE(<<"td">>,
                                   [?INPUT(<<"text">>,
                                           <<"export_piefxis_host_dirpath">>,
@@ -1308,9 +1306,7 @@ get_node(global, Node, [<<"backup">>], Query, Lang) ->
                                    [?CT(?T("Export all tables as SQL queries "
                                           "to a file:")),
                                     ?C(<<" ">>),
-                                    ?INPUT(<<"text">>,
-                                           <<"export_sql_filehost">>,
-                                           (ejabberd_config:get_myname()))]),
+                                    make_select_host(Lang, <<"export_sql_filehost">>)]),
                                ?XE(<<"td">>,
                                   [?INPUT(<<"text">>,
                                            <<"export_sql_filepath">>,
@@ -1480,6 +1476,15 @@ node_parse_query(Node, Query) ->
          end
     end.
 
+make_select_host(Lang, Name) ->
+    ?XAE(<<"select">>,
+        [{<<"name">>, Name}],
+        (lists:map(fun (Host) ->
+                           ?XACT(<<"option">>,
+                                 ([{<<"value">>, Host}]), Host)
+                   end,
+                   ejabberd_config:get_option(hosts)))).
+
 db_storage_select(ID, Opt, Lang) ->
     ?XAE(<<"select">>,
         [{<<"name">>, <<"table", ID/binary>>}],