aboutsummaryrefslogtreecommitdiff
path: root/src/mod_admin_extra.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_admin_extra.erl')
-rw-r--r--src/mod_admin_extra.erl111
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].