diff options
Diffstat (limited to 'src/mod_admin_extra.erl')
-rw-r--r-- | src/mod_admin_extra.erl | 111 |
1 files changed, 25 insertions, 86 deletions
diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl index bc49bae47..6fbf762eb 100644 --- a/src/mod_admin_extra.erl +++ b/src/mod_admin_extra.erl @@ -30,64 +30,24 @@ -include("logger.hrl"). --export([start/2, stop/1, - %% Node - compile/1, - get_cookie/0, - remove_node/1, - export2odbc/2, - %% Accounts - set_password/3, - check_password_hash/4, - delete_old_users/1, - delete_old_users_vhost/2, - ban_account/3, - num_active_users/2, - %% Sessions - num_resources/2, - resource_num/3, - kick_session/4, - status_num/2, status_num/1, - status_list/2, status_list/1, - connected_users_info/0, - connected_users_vhost/1, - set_presence/7, - user_sessions_info/2, - %% Vcard - set_nickname/3, - get_vcard/3, - get_vcard/4, - get_vcard_multi/4, - set_vcard/4, - set_vcard/5, - %% Roster - add_rosteritem/7, - delete_rosteritem/4, - process_rosteritems/5, - get_roster/2, - push_roster/3, - push_roster_all/1, - push_alltoall/2, - %% mod_last - get_last/2, - %% mod_private - private_get/4, - private_set/3, - %% mod_shared_roster - srg_create/5, - srg_delete/2, - srg_list/1, - srg_get_info/2, - srg_get_members/2, - srg_user_add/4, - srg_user_del/4, - %% Stanza - send_message/5, - send_stanza_c2s/4, - privacy_set/3, - %% Stats - stats/1, stats/2 - ]). +-export([start/2, stop/1, compile/1, get_cookie/0, + remove_node/1, set_password/3, + check_password_hash/4, delete_old_users/1, + delete_old_users_vhost/2, ban_account/3, + num_active_users/2, num_resources/2, resource_num/3, + kick_session/4, status_num/2, status_num/1, + status_list/2, status_list/1, connected_users_info/0, + connected_users_vhost/1, set_presence/7, + user_sessions_info/2, set_nickname/3, get_vcard/3, + get_vcard/4, get_vcard_multi/4, set_vcard/4, + set_vcard/5, add_rosteritem/7, delete_rosteritem/4, + process_rosteritems/5, get_roster/2, push_roster/3, + push_roster_all/1, push_alltoall/2, get_last/2, + private_get/4, private_set/3, srg_create/5, + srg_delete/2, srg_list/1, srg_get_info/2, + srg_get_members/2, srg_user_add/4, srg_user_del/4, + send_message/5, send_stanza_c2s/4, privacy_set/3, + stats/1, stats/2, mod_opt_type/1]). -include("ejabberd.hrl"). @@ -152,11 +112,6 @@ commands() -> module = ?MODULE, function = remove_node, args = [{node, string}], result = {res, rescode}}, - #ejabberd_commands{name = export2odbc, tags = [mnesia], %% Copied to ejabberd 2.1.x after 11 - desc = "Export Mnesia tables to files in directory", - module = ?MODULE, function = export2odbc, - args = [{host, string}, {path, string}], - result = {res, rescode}}, #ejabberd_commands{name = num_active_users, tags = [accounts, stats], desc = "Get number of users active in the last days", @@ -273,7 +228,7 @@ commands() -> tags = [session], desc = "Get the list of established sessions in a vhost", module = ?MODULE, function = connected_users_vhost, - args = [{host, string}], + args = [{host, binary}], result = {connected_users_vhost, {list, {sessions, string}}}}, #ejabberd_commands{name = user_sessions_info, tags = [session], @@ -418,17 +373,17 @@ commands() -> #ejabberd_commands{name = push_roster, tags = [roster], desc = "Push template roster from file to a user", module = ?MODULE, function = push_roster, - args = [{file, string}, {user, string}, {host, string}], + args = [{file, binary}, {user, binary}, {host, binary}], result = {res, rescode}}, #ejabberd_commands{name = push_roster_all, tags = [roster], desc = "Push template roster from file to all those users", module = ?MODULE, function = push_roster_all, - args = [{file, string}], + args = [{file, binary}], result = {res, rescode}}, #ejabberd_commands{name = push_alltoall, tags = [roster], desc = "Add all the users to all the users of Host in Group", module = ?MODULE, function = push_alltoall, - args = [{host, string}, {group, string}], + args = [{host, binary}, {group, binary}], result = {res, rescode}}, #ejabberd_commands{name = get_last, tags = [last], @@ -545,25 +500,6 @@ remove_node(Node) -> mnesia:del_table_copy(schema, list_to_atom(Node)), ok. -export2odbc(Host, Directory) -> - Tables = [ - {export_last, last}, - {export_offline, offline}, - {export_passwd, passwd}, - {export_private_storage, private_storage}, - {export_roster, roster}, - {export_vcard, vcard}, - {export_vcard_search, vcard_search}], - Export = fun({TableFun, Table}) -> - Filename = filename:join([Directory, atom_to_list(Table)++".txt"]), - io:format("Trying to export Mnesia table '~p' on Host '~s' to file '~s'~n", [Table, Host, Filename]), - Res = (catch ejd2odbc:TableFun(Host, Filename)), - io:format(" Result: ~p~n", [Res]) - end, - lists:foreach(Export, Tables), - ok. - - %%% %%% Accounts %%% @@ -1557,3 +1493,6 @@ is_glob_match(String, <<"!", Glob/binary>>) -> not is_regexp_match(String, ejabberd_regexp:sh_to_awk(Glob)); is_glob_match(String, Glob) -> is_regexp_match(String, ejabberd_regexp:sh_to_awk(Glob)). + +mod_opt_type(module_resource) -> fun (A) -> A end; +mod_opt_type(_) -> [module_resource]. |