%%--------------------------------------------------------------------
init([ServerHost, Opts]) ->
?INFO_MSG("pubsub init ~p ~p",[ServerHost,Opts]),
- mnesia:create_table(pubsub_presence,
- [{disc_copies, [node()]},
- {attributes, record_info(fields, pubsub_presence)}]),
Host = gen_mod:get_opt_host(ServerHost, Opts, "pubsub.@HOST@"),
ServedHosts = gen_mod:get_opt(served_hosts, Opts, []),
Access = gen_mod:get_opt(access_createnode, Opts, all),
+ update_database(Host),
+ mnesia:create_table(pubsub_presence,
+ [{disc_copies, [node()]},
+ {attributes, record_info(fields, pubsub_presence)}]),
mod_disco:register_feature(ServerHost, ?NS_PUBSUB),
ejabberd_hooks:add(disco_local_identity, ServerHost,
?MODULE, disco_local_identity, 75),
{?NS_PUBSUB_OWNER, ejabberd_sm, iq_sm}]),
ejabberd_router:register_route(Host),
{Plugins, NodeTree} = init_plugins(Host, ServerHost, Opts),
- update_database(Host),
ets:new(gen_mod:get_module_proc(Host, pubsub_state), [set, named_table]),
ets:insert(gen_mod:get_module_proc(Host, pubsub_state), {nodetree, NodeTree}),
ets:insert(gen_mod:get_module_proc(Host, pubsub_state), {plugins, Plugins}),