diff options
author | Badlop <badlop@process-one.net> | 2010-05-24 13:56:52 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2010-05-24 13:58:11 +0200 |
commit | 0bfda4e628760de4e94cd472750159dbfbe30f65 (patch) | |
tree | 89359572ee171e4c453c0fae13408cd7f627eb3e /src | |
parent | Only log when script errors are found (diff) |
New ejabberd commands to update modified modules (EJAB-1237)
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_admin.erl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/ejabberd_admin.erl b/src/ejabberd_admin.erl index f301bcb56..1395ca167 100644 --- a/src/ejabberd_admin.erl +++ b/src/ejabberd_admin.erl @@ -31,6 +31,8 @@ %% Server status/0, reopen_log/0, stop_kindly/2, send_service_message_all_mucs/2, + %% Erlang + update_list/0, update_all/0, update_module/1, %% Accounts register/3, unregister/2, registered_users/1, @@ -95,6 +97,22 @@ commands() -> {leveldesc, string} ]}}}, + #ejabberd_commands{name = update_list, tags = [server], + desc = "List modified modules that can be updated", + module = ?MODULE, function = update_list_modified, + args = [], + result = {modules, {list, {module, string}}}}, + #ejabberd_commands{name = update_all, tags = [server], + desc = "Update all the modified modules", + module = ?MODULE, function = update_all, + args = [], + result = {res, rescode}}, + #ejabberd_commands{name = update_module, tags = [server], + desc = "Update the given module", + module = ?MODULE, function = update_module, + args = [{module, string}], + result = {res, rescode}}, + #ejabberd_commands{name = register, tags = [accounts], desc = "Register a user", module = ?MODULE, function = register, @@ -277,6 +295,22 @@ send_service_message_all_mucs(Subject, AnnouncementText) -> ?MYHOSTS). %%% +%%% ejabberd_update +%%% + +update_list() -> + {ok, _Dir, UpdatedBeams, _Script, _LowLevelScript, _Check} = + ejabberd_update:update_info(), + [atom_to_list(Beam) || Beam <- UpdatedBeams]. + +update_all() -> + [update_module(ModStr) || ModStr <- update_list()]. + +update_module(ModuleNameString) -> + ModuleName = list_to_atom(ModuleNameString), + ejabberd_update:update([ModuleName]). + +%%% %%% Account management %%% |