Software /
code /
prosody-modules
Diff
mod_mam_muc/mod_mam_muc.lua @ 1542:ccb9dc624ebd
mod_mam_muc: Split logic for determining if logging is enabled into a function
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 30 Oct 2014 12:39:57 +0100 |
parent | 1541:ef032840bc92 |
child | 1543:57fb9ce21f9c |
line wrap: on
line diff
--- a/mod_mam_muc/mod_mam_muc.lua Wed Oct 29 12:37:26 2014 +0100 +++ b/mod_mam_muc/mod_mam_muc.lua Thu Oct 30 12:39:57 2014 +0100 @@ -43,12 +43,23 @@ return end +local function logging_enabled(room) + if log_all_rooms then + return true; + end + local enabled = room._data.logging; + if enabled == nil then + return log_by_default; + end + return enabled; +end + local send_history, save_to_history; -- Override history methods for all rooms. module:hook("muc-room-created", function (event) local room = event.room; - if log_all_rooms or room._data.logging then + if logging_enabled(room) then room.send_history = send_history; room.save_to_history = save_to_history; end @@ -56,7 +67,7 @@ function module.load() for _, room in pairs(rooms) do - if log_all_rooms or room._data.logging then + if logging_enabled(room) then room.send_history = send_history; room.save_to_history = save_to_history; end @@ -74,16 +85,12 @@ if not log_all_rooms then module:hook("muc-config-form", function(event) local room, form = event.room, event.form; - local logging_enabled = room._data.logging; - if logging_enabled == nil then - logging_enabled = log_by_default; - end table.insert(form, { name = muc_form_enable_logging, type = "boolean", label = "Enable Logging?", - value = logging_enabled, + value = logging_enabled(room), } ); end); @@ -276,9 +283,7 @@ local room = jid_split(self.jid); -- Policy check - if not ( log_all_rooms == true -- Logging forced on all rooms - or (self._data.logging == nil and log_by_default == true) - or self._data.logging ) then return end -- Don't log + if not logging_enabled(self) then return end -- Don't log module:log("debug", "We're logging this") -- And stash it