Comparison

plugins/muc/muc.lib.lua @ 10048:e5532fbdd163

MUC: Reflow event tables to improve readability Also makes it easier to read diffs of added fields.
author Kim Alvefur <zash@zash.se>
date Wed, 19 Jun 2019 08:51:39 +0200
parent 9862:f5623a1b33e5
child 10212:a53126b7fe22
comparison
equal deleted inserted replaced
10047:177a8b92204b 10048:e5532fbdd163
389 if is_last_session then 389 if is_last_session then
390 x:tag("status", {code = "333"}); 390 x:tag("status", {code = "333"});
391 end 391 end
392 self:publicise_occupant_status(new_occupant or occupant, x); 392 self:publicise_occupant_status(new_occupant or occupant, x);
393 if is_last_session then 393 if is_last_session then
394 module:fire_event("muc-occupant-left", {room = self; nick = occupant.nick; occupant = occupant;}); 394 module:fire_event("muc-occupant-left", {
395 room = self;
396 nick = occupant.nick;
397 occupant = occupant;
398 });
395 end 399 end
396 return true; 400 return true;
397 end 401 end
398 402
399 -- Give the room creator owner affiliation 403 -- Give the room creator owner affiliation
866 self:save_occupant(occupant); 870 self:save_occupant(occupant);
867 occupants_updated[occupant] = true; 871 occupants_updated[occupant] = true;
868 end 872 end
869 for occupant in pairs(occupants_updated) do 873 for occupant in pairs(occupants_updated) do
870 self:publicise_occupant_status(occupant, x); 874 self:publicise_occupant_status(occupant, x);
871 module:fire_event("muc-occupant-left", { room = self; nick = occupant.nick; occupant = occupant;}); 875 module:fire_event("muc-occupant-left", {
876 room = self;
877 nick = occupant.nick;
878 occupant = occupant;
879 });
872 end 880 end
873 end 881 end
874 882
875 function room_mt:destroy(newjid, reason, password) 883 function room_mt:destroy(newjid, reason, password)
876 local x = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user"}) 884 local x = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user"})
1314 1322
1315 if next(occupants_updated) ~= nil then 1323 if next(occupants_updated) ~= nil then
1316 for occupant, old_role in pairs(occupants_updated) do 1324 for occupant, old_role in pairs(occupants_updated) do
1317 self:publicise_occupant_status(occupant, x, nil, actor, reason); 1325 self:publicise_occupant_status(occupant, x, nil, actor, reason);
1318 if occupant.role == nil then 1326 if occupant.role == nil then
1319 module:fire_event("muc-occupant-left", {room = self; nick = occupant.nick; occupant = occupant;}); 1327 module:fire_event("muc-occupant-left", {
1328 room = self;
1329 nick = occupant.nick;
1330 occupant = occupant;
1331 });
1320 elseif is_semi_anonymous and 1332 elseif is_semi_anonymous and
1321 (old_role == "moderator" and occupant.role ~= "moderator") or 1333 (old_role == "moderator" and occupant.role ~= "moderator") or
1322 (old_role ~= "moderator" and occupant.role == "moderator") then -- Has gained or lost moderator status 1334 (old_role ~= "moderator" and occupant.role == "moderator") then -- Has gained or lost moderator status
1323 -- Send everyone else's presences (as jid visibility has changed) 1335 -- Send everyone else's presences (as jid visibility has changed)
1324 for real_jid in occupant:each_session() do 1336 for real_jid in occupant:each_session() do
1430 end 1442 end
1431 occupant.role = role; 1443 occupant.role = role;
1432 self:save_occupant(occupant); 1444 self:save_occupant(occupant);
1433 self:publicise_occupant_status(occupant, x, nil, actor, reason); 1445 self:publicise_occupant_status(occupant, x, nil, actor, reason);
1434 if role == nil then 1446 if role == nil then
1435 module:fire_event("muc-occupant-left", {room = self; nick = occupant.nick; occupant = occupant;}); 1447 module:fire_event("muc-occupant-left", {
1448 room = self;
1449 nick = occupant.nick;
1450 occupant = occupant;
1451 });
1436 end 1452 end
1437 return true; 1453 return true;
1438 end 1454 end
1439 1455
1440 local whois = module:require "muc/whois"; 1456 local whois = module:require "muc/whois";