mirror of
https://github.com/processone/ejabberd.git
synced 2024-06-02 21:17:12 +02:00
Add pubsub subscribe/unsubscribe hook
This commit is contained in:
parent
c585f74730
commit
639c2fb640
|
@ -2103,6 +2103,9 @@ subscribe_node(Host, Node, From, JID, Configuration) ->
|
||||||
Type = TNode#pubsub_node.type,
|
Type = TNode#pubsub_node.type,
|
||||||
Options = TNode#pubsub_node.options,
|
Options = TNode#pubsub_node.options,
|
||||||
send_items(Host, Node, Nidx, Type, Options, Subscriber, last),
|
send_items(Host, Node, Nidx, Type, Options, Subscriber, last),
|
||||||
|
ServerHost = serverhost(Host),
|
||||||
|
ejabberd_hooks:run(pubsub_subscribe_node, ServerHost,
|
||||||
|
[ServerHost, Host, Node, Subscriber, SubId]),
|
||||||
case Result of
|
case Result of
|
||||||
default -> {result, Reply({subscribed, SubId})};
|
default -> {result, Reply({subscribed, SubId})};
|
||||||
_ -> {result, Result}
|
_ -> {result, Result}
|
||||||
|
@ -2149,7 +2152,11 @@ unsubscribe_node(Host, Node, From, Subscriber, SubId) ->
|
||||||
node_call(Host, Type, unsubscribe_node, [Nidx, From, Subscriber, SubId])
|
node_call(Host, Type, unsubscribe_node, [Nidx, From, Subscriber, SubId])
|
||||||
end,
|
end,
|
||||||
case transaction(Host, Node, Action, sync_dirty) of
|
case transaction(Host, Node, Action, sync_dirty) of
|
||||||
{result, {_, default}} -> {result, []};
|
{result, {_, default}} ->
|
||||||
|
ServerHost = serverhost(Host),
|
||||||
|
ejabberd_hooks:run(pubsub_unsubscribe_node, ServerHost,
|
||||||
|
[ServerHost, Host, Node, Subscriber, SubId]),
|
||||||
|
{result, []};
|
||||||
% {result, {_, Result}} -> {result, Result};
|
% {result, {_, Result}} -> {result, Result};
|
||||||
Error -> Error
|
Error -> Error
|
||||||
end.
|
end.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user