]> granicus.if.org Git - ejabberd/commitdiff
Fix problem in dfee843 when non-occupant admin kicks an occupant (#1135)
authorBadlop <badlop@process-one.net>
Thu, 2 Jun 2016 22:08:58 +0000 (00:08 +0200)
committerBadlop <badlop@process-one.net>
Thu, 2 Jun 2016 22:10:25 +0000 (00:10 +0200)
src/mod_muc_room.erl

index 499c4dc01c040dfce9b45b104d165b9e2dab6b1b..61fa854f0c6d7c69cf7e43f2a07b477af83d7e3f 100644 (file)
@@ -3145,14 +3145,7 @@ send_kickban_presence1(MJID, UJID, Reason, Code, Affiliation,
                     StateData#state.users),
     SAffiliation = affiliation_to_list(Affiliation),
     BannedJIDString = jid:to_string(RealJID),
-    case MJID /= <<"">> of
-       true ->
-               {ok, #user{nick = ActorNick}} =
-               (?DICT):find(jid:tolower(MJID),
-                            StateData#state.users);
-       false ->
-               ActorNick = <<"">>
-    end,
+    ActorNick = get_actor_nick(MJID, StateData),
     lists:foreach(fun ({_LJID, Info}) ->
                          JidAttrList = case Info#user.role == moderator orelse
                                               (StateData#state.config)#config.anonymous
@@ -3207,6 +3200,14 @@ send_kickban_presence1(MJID, UJID, Reason, Code, Affiliation,
                  end,
                  (?DICT):to_list(StateData#state.users)).
 
+get_actor_nick(<<"">>, StateData) ->
+    <<"">>;
+get_actor_nick(MJID, StateData) ->
+    case (?DICT):find(jid:tolower(MJID), StateData#state.users) of
+       {ok, #user{nick = ActorNick}} -> ActorNick;
+       _ -> <<"">>
+    end.
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Owner stuff