aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2014-10-15 14:28:16 -0400
committerdaurnimator <quae@daurnimator.com>2014-10-15 14:28:16 -0400
commit2d7ee5e98605ef239bcf9042606015d6fef3b90d (patch)
treec721ce6d3686b3e16baba8b713e1dfc17f39356a
parent49c32aaaeb47bdcef6522136cd9b096ce84e97b9 (diff)
downloadprosody-2d7ee5e98605ef239bcf9042606015d6fef3b90d.tar.gz
prosody-2d7ee5e98605ef239bcf9042606015d6fef3b90d.zip
plugins/muc/muc.lib: Fix passing actor along as a boolean (thanks fippo)
-rw-r--r--plugins/muc/muc.lib.lua8
1 files changed, 6 insertions, 2 deletions
diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua
index eb6738aa..19614e82 100644
--- a/plugins/muc/muc.lib.lua
+++ b/plugins/muc/muc.lib.lua
@@ -1000,7 +1000,9 @@ function room_mt:set_affiliation(actor, jid, affiliation, reason)
local target_affiliation = self._affiliations[jid]; -- Raw; don't want to check against host
local is_downgrade = valid_affiliations[target_affiliation or "none"] > valid_affiliations[affiliation or "none"];
- if actor ~= true then
+ if actor == true then
+ actor = nil -- So we can pass it safely to 'publicise_occupant_status' below
+ else
local actor_affiliation = self:get_affiliation(actor);
if actor_affiliation == "owner" then
if jid_bare(actor) == jid then -- self change
@@ -1098,7 +1100,9 @@ function room_mt:set_role(actor, occupant_jid, role, reason)
end
role = role ~= "none" and role or nil; -- coerces `role == false` to `nil`
- if actor ~= true then
+ if actor == true then
+ actor = nil -- So we can pass it safely to 'publicise_occupant_status' below
+ else
-- Can't do anything to other owners or admins
local occupant_affiliation = self:get_affiliation(occupant.bare_jid);
if occupant_affiliation == "owner" and occupant_affiliation == "admin" then