mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +01:00
minor bugfix, thanks to brian Cully (EJAB-1089)
SVN Revision: 2714
This commit is contained in:
parent
b2bd51d3e3
commit
1fea1e3f4e
@ -154,17 +154,21 @@ get_parentnodes_tree(Host, NodeID, _From) ->
|
|||||||
get_subnodes(Host, NodeID, _From) ->
|
get_subnodes(Host, NodeID, _From) ->
|
||||||
get_subnodes(Host, NodeID).
|
get_subnodes(Host, NodeID).
|
||||||
|
|
||||||
|
get_subnodes(Host, <<>>) ->
|
||||||
|
get_subnodes_helper(Host, <<>>);
|
||||||
get_subnodes(Host, NodeID) ->
|
get_subnodes(Host, NodeID) ->
|
||||||
case find_node(Host, NodeID) of
|
case find_node(Host, NodeID) of
|
||||||
false -> {error, exmpp_stanza:error(?NS_JABBER_CLIENT, 'item-not-found')};
|
false -> {error, exmpp_stanza:error(?NS_JABBER_CLIENT, 'item-not-found')};
|
||||||
_ ->
|
_ -> get_subnodes_helper(Host, NodeID)
|
||||||
Q = qlc:q([Node || #pubsub_node{nodeid = {NHost, _},
|
|
||||||
parents = Parents} = Node <- mnesia:table(pubsub_node),
|
|
||||||
Host == NHost,
|
|
||||||
lists:member(NodeID, Parents)]),
|
|
||||||
qlc:e(Q)
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
get_subnodes_helper(Host, NodeID) ->
|
||||||
|
Q = qlc:q([Node || #pubsub_node{nodeid = {NHost, _},
|
||||||
|
parents = Parents} = Node <- mnesia:table(pubsub_node),
|
||||||
|
Host == NHost,
|
||||||
|
lists:member(NodeID, Parents)]),
|
||||||
|
qlc:e(Q).
|
||||||
|
|
||||||
get_subnodes_tree(Host, NodeID, From) ->
|
get_subnodes_tree(Host, NodeID, From) ->
|
||||||
Pred = fun (NID, #pubsub_node{parents = Parents}) ->
|
Pred = fun (NID, #pubsub_node{parents = Parents}) ->
|
||||||
lists:member(NID, Parents)
|
lists:member(NID, Parents)
|
||||||
@ -224,6 +228,8 @@ validate_parentage(_Key, _Owners, []) ->
|
|||||||
true;
|
true;
|
||||||
validate_parentage(Key, Owners, [[] | T]) ->
|
validate_parentage(Key, Owners, [[] | T]) ->
|
||||||
validate_parentage(Key, Owners, T);
|
validate_parentage(Key, Owners, T);
|
||||||
|
validate_parentage(Key, Owners, [<<>> | T]) ->
|
||||||
|
validate_parentage(Key, Owners, T);
|
||||||
validate_parentage(Key, Owners, [ParentID | T]) ->
|
validate_parentage(Key, Owners, [ParentID | T]) ->
|
||||||
case find_node(Key, ParentID) of
|
case find_node(Key, ParentID) of
|
||||||
false -> {error, exmpp_stanza:error(?NS_JABBER_CLIENT, 'item_not_found')};
|
false -> {error, exmpp_stanza:error(?NS_JABBER_CLIENT, 'item_not_found')};
|
||||||
|
Loading…
Reference in New Issue
Block a user