fix remove_user not unsubscribing user (EJAB-684)

SVN Revision: 1658
This commit is contained in:
Christophe Romain 2008-10-16 23:07:06 +00:00
parent e950adc0ef
commit a2b8263a20
2 changed files with 7 additions and 3 deletions

View File

@ -3,6 +3,9 @@
* src/mod_pubsub/mod_pubsub.erl: fix badarg issue on get_roster_info
when allowed roster groups is not defined
* src/mod_pubsub/mod_pubsub.erl: fix remove_user not unsubscribing
user (EJAB-684)
2008-10-13 Jerome Sautret <jerome.sautret@process-one.net>
* src/odbc/ejabberd_odbc.erl: log MySQL driver messages.

View File

@ -513,8 +513,9 @@ handle_cast({presence, JID, Pid}, State) ->
end,
{noreply, State};
handle_cast({remove_user, User, Host}, State) ->
Owner = jlib:make_jid(User, Host, ""),
handle_cast({remove_user, LUser, LServer}, State) ->
Host = State#state.host,
Owner = jlib:make_jid(LUser, LServer, ""),
OwnerKey = jlib:jid_tolower(jlib:jid_remove_resource(Owner)),
%% remove user's subscriptions
lists:foreach(fun(Type) ->
@ -532,7 +533,7 @@ handle_cast({remove_user, User, Host}, State) ->
delete_node(NodeKey, NodeName, Owner)
end, tree_action(Host, get_nodes, [OwnerKey])),
%% remove user's nodes
delete_node(Host, ["home", Host, User], Owner),
delete_node(Host, ["home", LServer, LUser], Owner),
{noreply, State};
handle_cast(_Msg, State) ->