]> granicus.if.org Git - ejabberd/commitdiff
fix remove_user not unsubscribing user (EJAB-684)
authorChristophe Romain <christophe.romain@process-one.net>
Thu, 16 Oct 2008 23:09:51 +0000 (23:09 +0000)
committerChristophe Romain <christophe.romain@process-one.net>
Thu, 16 Oct 2008 23:09:51 +0000 (23:09 +0000)
SVN Revision: 1659

ChangeLog
src/mod_pubsub/mod_pubsub.erl

index 49bb0bac0632fe33c8783eb93b5939b51f6b784b..bb89bfc37704f9fb61e2a02a5cb6175a8a463d8e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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-14  Christophe Romain <christophe.romain@process-one.net>
 
        * src/mod_pubsub/mod_pubsub.erl: fix pubsub_publish_item hook
index aa395743a371fbc10cc92e4388a7bed2927112ab..24f39c9f2e4f94408694f9f37a02c51dc9a01ff0 100644 (file)
@@ -518,8 +518,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) ->
@@ -537,7 +538,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) ->