plugins/muc/mod_muc: Add 'local_only' flag to mod_muc, so rooms don't get restored...
authordaurnimator <quae@daurnimator.com>
Fri, 17 Oct 2014 20:35:46 +0000 (16:35 -0400)
committerdaurnimator <quae@daurnimator.com>
Fri, 17 Oct 2014 20:35:46 +0000 (16:35 -0400)
plugins/muc/mod_muc.lua

index 5428d2707e09097faa9f19115f4f50eaab6e1021..db85a73fdf03511b90cd3b0574c2afa570fa37bd 100644 (file)
@@ -122,12 +122,14 @@ function get_room_from_jid(room_jid)
        return room
 end
 
-function each_room()
-       for room_jid in pairs(persistent_rooms_storage:get(nil) or {}) do
-               if rooms[room_jid] == nil then -- Don't restore rooms that already exist
-                       local room = restore_room(room_jid);
-                       if room == nil then
-                               module:log("error", "Missing data for room '%s', omitting from iteration", room_jid);
+function each_room(local_only)
+       if not local_only then
+               for room_jid in pairs(persistent_rooms_storage:get(nil) or {}) do
+                       if rooms[room_jid] == nil then -- Don't restore rooms that already exist
+                               local room = restore_room(room_jid);
+                               if room == nil then
+                                       module:log("error", "Missing data for room '%s', omitting from iteration", room_jid);
+                               end
                        end
                end
        end
@@ -217,7 +219,7 @@ end
 function shutdown_component()
        local x = st.stanza("x", {xmlns = "http://jabber.org/protocol/muc#user"})
                :tag("status", { code = "332"}):up();
-       for room in each_room() do
+       for room in each_room(true) do
                room:clear(x);
        end
 end