25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-12-22 17:28:25 +01:00

fix nodetree plugin resolver

SVN Revision: 1889
This commit is contained in:
Christophe Romain 2009-02-19 11:25:56 +00:00
parent 74763be4dd
commit 6e055f60de
2 changed files with 11 additions and 8 deletions

View File

@ -1,3 +1,7 @@
2009-02-19 Christophe Romain <christophe.romain@process-one.net>
* src/mod_pubsub/mod_pubsub.erl: fix nodetree plugin resolver
2009-02-17 Badlop <badlop@process-one.net> 2009-02-17 Badlop <badlop@process-one.net>
* src/ejabberd_listener.erl: More error detections * src/ejabberd_listener.erl: More error detections

View File

@ -33,14 +33,13 @@
%%% This module uses version 1.12 of the specification as a base. %%% This module uses version 1.12 of the specification as a base.
%%% Most of the specification is implemented. %%% Most of the specification is implemented.
%%% Functions concerning configuration should be rewritten. %%% Functions concerning configuration should be rewritten.
%%% Code is derivated from the original pubsub v1.7, by Alexey Shchepin
%%% TODO %%% TODO
%%% plugin: generate Reply (do not use broadcast atom anymore) %%% plugin: generate Reply (do not use broadcast atom anymore)
-module(mod_pubsub). -module(mod_pubsub).
-author('christophe.romain@process-one.net'). -author('christophe.romain@process-one.net').
-version('1.12-01'). -version('1.12-02').
-behaviour(gen_server). -behaviour(gen_server).
-behaviour(gen_mod). -behaviour(gen_mod).
@ -183,7 +182,7 @@ init([ServerHost, Opts]) ->
ets:new(gen_mod:get_module_proc(ServerHost, pubsub_state), [set, named_table]), ets:new(gen_mod:get_module_proc(ServerHost, pubsub_state), [set, named_table]),
ets:insert(gen_mod:get_module_proc(ServerHost, pubsub_state), {nodetree, NodeTree}), ets:insert(gen_mod:get_module_proc(ServerHost, pubsub_state), {nodetree, NodeTree}),
ets:insert(gen_mod:get_module_proc(ServerHost, pubsub_state), {plugins, Plugins}), ets:insert(gen_mod:get_module_proc(ServerHost, pubsub_state), {plugins, Plugins}),
ets:insert(gen_mod:get_module_proc(ServerHost, pubsub_state), {pep_mapping, PepMapping}), ets:insert(gen_mod:get_module_proc(ServerHost, pubsub_state), {pep_mapping, PepMapping}),
init_nodes(Host, ServerHost), init_nodes(Host, ServerHost),
{ok, #state{host = Host, {ok, #state{host = Host,
server_host = ServerHost, server_host = ServerHost,
@ -761,10 +760,10 @@ iq_disco_info(Host, SNode, From, Lang) ->
[{"category", "pubsub"}, [{"category", "pubsub"},
{"type", "service"}, {"type", "service"},
{"name", translate:translate(Lang, "Publish-Subscribe")}], []}, {"name", translate:translate(Lang, "Publish-Subscribe")}], []},
{xmlelement, "feature", [{"var", ?NS_DISCO_INFO}], []}, {xmlelement, "feature", [{"var", ?NS_DISCO_INFO}], []},
{xmlelement, "feature", [{"var", ?NS_DISCO_ITEMS}], []}, {xmlelement, "feature", [{"var", ?NS_DISCO_ITEMS}], []},
{xmlelement, "feature", [{"var", ?NS_PUBSUB}], []}, {xmlelement, "feature", [{"var", ?NS_PUBSUB}], []},
{xmlelement, "feature", [{"var", ?NS_VCARD}], []}] ++ {xmlelement, "feature", [{"var", ?NS_VCARD}], []}] ++
lists:map(fun(Feature) -> lists:map(fun(Feature) ->
{xmlelement, "feature", [{"var", ?NS_PUBSUB++"#"++Feature}], []} {xmlelement, "feature", [{"var", ?NS_PUBSUB++"#"++Feature}], []}
end, features(Host, SNode))}; end, features(Host, SNode))};
@ -2745,7 +2744,7 @@ tree_call({_User, Server, _Resource}, Function, Args) ->
tree_call(Host, Function, Args) -> tree_call(Host, Function, Args) ->
Module = case ets:lookup(gen_mod:get_module_proc(Host, pubsub_state), nodetree) of Module = case ets:lookup(gen_mod:get_module_proc(Host, pubsub_state), nodetree) of
[{nodetree, N}] -> N; [{nodetree, N}] -> N;
_ -> list_to_atom(?TREE_PREFIX ++ ?STDNODE) _ -> list_to_atom(?TREE_PREFIX ++ ?STDTREE)
end, end,
catch apply(Module, Function, Args). catch apply(Module, Function, Args).
tree_action(Host, Function, Args) -> tree_action(Host, Function, Args) ->