aboutsummaryrefslogtreecommitdiff
path: root/src/mod_configure.erl
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2003-01-26 20:16:53 +0000
committerAlexey Shchepin <alexey@process-one.net>2003-01-26 20:16:53 +0000
commitaed24c637fea62e0a72636fd0a1714a9ecd16a6b (patch)
tree612296a521a90c06d582d5745c09981ea859d93e /src/mod_configure.erl
parent*** empty log message *** (diff)
*** empty log message ***
SVN Revision: 51
Diffstat (limited to 'src/mod_configure.erl')
-rw-r--r--src/mod_configure.erl34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/mod_configure.erl b/src/mod_configure.erl
index 405ad470b..cc2f6727c 100644
--- a/src/mod_configure.erl
+++ b/src/mod_configure.erl
@@ -202,6 +202,25 @@ get_form(["config", "acls"], Lang) ->
}
]};
+get_form(["config", "remusers"], Lang) ->
+ {result, [{xmlelement, "title", [],
+ [{xmlcdata,
+ translate:translate(
+ Lang, "Remove Users")}]},
+ {xmlelement, "instructions", [],
+ [{xmlcdata,
+ translate:translate(
+ Lang, "Choose users to remove")}]}] ++
+ case catch ejabberd_auth:dirty_get_registered_users() of
+ {'EXIT', Reason} ->
+ [];
+ Users ->
+ lists:map(fun(U) ->
+ ?XFIELD("boolean", U, U, "0")
+ end, lists:sort(Users))
+ end
+ };
+
get_form(_, Lang) ->
{error, "503", "Service Unavailable"}.
@@ -254,6 +273,21 @@ set_form(["config", "hostname"], Lang, XData) ->
{error, "406", "Not Acceptable"}
end;
+set_form(["config", "remusers"], Lang, XData) ->
+ lists:foreach(
+ fun({Var, Vals}) ->
+ case Vals of
+ ["1"] ->
+ catch ejabberd_auth:remove_user(Var),
+ catch mod_roster:remove_user(Var),
+ catch mod_offline:remove_user(Var),
+ catch mod_vcard:remove_user(Var);
+ _ ->
+ ok
+ end
+ end, XData),
+ {result, []};
+
set_form(_, Lang, XData) ->
{error, "503", "Service Unavailable"}.