aboutsummaryrefslogtreecommitdiff
path: root/src/gen_mod.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/gen_mod.erl')
-rw-r--r--src/gen_mod.erl17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gen_mod.erl b/src/gen_mod.erl
index 7ba6db182..eed3e4405 100644
--- a/src/gen_mod.erl
+++ b/src/gen_mod.erl
@@ -107,6 +107,23 @@ get_opt(Opt, Opts, Default) ->
Val
end.
+get_module_opt(global, Module, Opt, Default) ->
+ Hosts = ?MYHOSTS,
+ [Value | Values] = lists:map(
+ fun(Host) ->
+ get_module_opt(Host, Module, Opt, Default)
+ end,
+ Hosts),
+ Same_all = lists:all(
+ fun(Other_value) ->
+ Other_value == Value
+ end,
+ Values),
+ case Same_all of
+ true -> Value;
+ false -> Default
+ end;
+
get_module_opt(Host, Module, Opt, Default) ->
OptsList = ets:lookup(ejabberd_modules, {Module, Host}),
case OptsList of