Software /
code /
prosody
Comparison
plugins/muc/lock.lib.lua @ 7407:e465b584547b
MUC: Move the locked flag into persisted data (so not to lose it on eviction)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 28 Apr 2016 23:14:09 +0200 |
parent | 6329:6b3eb1611587 |
child | 7408:cf53081ce767 |
comparison
equal
deleted
inserted
replaced
7406:92755ca737c3 | 7407:e465b584547b |
---|---|
12 local lock_rooms = module:get_option_boolean("muc_room_locking", false); | 12 local lock_rooms = module:get_option_boolean("muc_room_locking", false); |
13 local lock_room_timeout = module:get_option_number("muc_room_lock_timeout", 300); | 13 local lock_room_timeout = module:get_option_number("muc_room_lock_timeout", 300); |
14 | 14 |
15 local function lock(room) | 15 local function lock(room) |
16 module:fire_event("muc-room-locked", {room = room;}); | 16 module:fire_event("muc-room-locked", {room = room;}); |
17 room.locked = true; | 17 room._data.locked = true; |
18 end | 18 end |
19 local function unlock(room) | 19 local function unlock(room) |
20 module:fire_event("muc-room-unlocked", {room = room;}); | 20 module:fire_event("muc-room-unlocked", {room = room;}); |
21 room.locked = nil; | 21 room._data.locked = nil; |
22 end | 22 end |
23 local function is_locked(room) | 23 local function is_locked(room) |
24 return not not room.locked; | 24 return not not room._data.locked; |
25 end | 25 end |
26 | 26 |
27 if lock_rooms then | 27 if lock_rooms then |
28 module:hook("muc-room-pre-create", function(event) | 28 module:hook("muc-room-pre-create", function(event) |
29 -- Older groupchat protocol doesn't lock | 29 -- Older groupchat protocol doesn't lock |