+2008-06-29 Badlop <badlop@process-one.net>
+
+ * src/mod_pubsub/node_pep.erl: Complain if mod_caps disabled and
+ mod_pubsub has PEP plugin enabled (EJAB-677)
+
2008-06-21 Badlop <badlop@process-one.net>
* doc/guide.tex: Explain that S2S outgoing first tries IPv4 and if
-module(node_pep).
-author('christophe.romain@process-one.net').
+-include("ejabberd.hrl").
-include("pubsub.hrl").
-include("jlib.hrl").
init(Host, ServerHost, Opts) ->
node_default:init(Host, ServerHost, Opts),
+ complain_if_modcaps_disabled(ServerHost),
ok.
terminate(Host, ServerHost) ->
set_item(Item) ->
node_default:set_item(Item).
+
+
+%%%
+%%% Internal
+%%%
+
+%% @doc Check mod_caps is enabled, otherwise show warning.
+%% The PEP plugin for mod_pubsub requires mod_caps to be enabled in the host.
+%% Check that the mod_caps module is enabled in that Jabber Host
+%% If not, show a warning message in the ejabberd log file.
+complain_if_modcaps_disabled(ServerHost) ->
+ Modules = ejabberd_config:get_local_option({modules, ServerHost}),
+ ModCaps = [mod_caps_enabled || {mod_caps, _Opts} <- Modules],
+ case ModCaps of
+ [] ->
+ ?WARNING_MSG("The PEP plugin is enabled in mod_pubsub of host ~p. "
+ "This plugin requires mod_caps to be enabled, "
+ "but it isn't.", [ServerHost]);
+ _ ->
+ ok
+ end.