diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2018-01-23 10:54:52 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2018-01-23 10:54:52 +0300 |
commit | ba2b650464bd3aae2b6b0f3a3177476360cb6d08 (patch) | |
tree | 5d55501f76edcdcfe145ba0c3367a54ea0314e5c /src/ejabberd_web_admin.erl | |
parent | Do not try to start ezlib application too frequently (diff) |
Introduce new gen_mod callback: mod_options/1
The callback is supposed to provide known options and their default
values, as long as the documentation. Passing default values into
get_mod functions is now deprecated: all defaults should be provided
by the Mod:mod_options/1 callback.
Diffstat (limited to 'src/ejabberd_web_admin.erl')
-rw-r--r-- | src/ejabberd_web_admin.erl | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/ejabberd_web_admin.erl b/src/ejabberd_web_admin.erl index 52e721a9..da9664a4 100644 --- a/src/ejabberd_web_admin.erl +++ b/src/ejabberd_web_admin.erl @@ -74,26 +74,20 @@ get_acl_rule([<<"vhosts">>], _) -> %% The pages of a vhost are only accesible if the user is admin of that vhost: get_acl_rule([<<"server">>, VHost | _RPath], Method) when Method =:= 'GET' orelse Method =:= 'HEAD' -> - AC = gen_mod:get_module_opt(VHost, ejabberd_web_admin, - access, configure), - ACR = gen_mod:get_module_opt(VHost, ejabberd_web_admin, - access_readonly, webadmin_view), + AC = ejabberd_config:get_option({access, VHost}, configure), + ACR = ejabberd_config:get_option({access_readonly, VHost}, webadmin_view), {VHost, [AC, ACR]}; get_acl_rule([<<"server">>, VHost | _RPath], 'POST') -> - AC = gen_mod:get_module_opt(VHost, ejabberd_web_admin, - access, configure), + AC = ejabberd_config:get_option({access, VHost}, configure), {VHost, [AC]}; %% Default rule: only global admins can access any other random page get_acl_rule(_RPath, Method) when Method =:= 'GET' orelse Method =:= 'HEAD' -> - AC = gen_mod:get_module_opt(global, ejabberd_web_admin, - access, configure), - ACR = gen_mod:get_module_opt(global, ejabberd_web_admin, - access_readonly, webadmin_view), + AC = ejabberd_config:get_option(access, configure), + ACR = ejabberd_config:get_option(access_readonly, webadmin_view), {global, [AC, ACR]}; get_acl_rule(_RPath, 'POST') -> - AC = gen_mod:get_module_opt(global, ejabberd_web_admin, - access, configure), + AC = ejabberd_config:get_option(access, configure), {global, [AC]}. %%%================================== @@ -1274,7 +1268,7 @@ get_offlinemsg_module(Server) -> end. get_lastactivity_menuitem_list(Server) -> - case gen_mod:db_type(Server, mod_last) of + case gen_mod:get_module_opt(Server, mod_last, db_type) of mnesia -> [{<<"last-activity">>, <<"Last Activity">>}]; _ -> [] end. |