Comparison

plugins/muc/history.lib.lua @ 6991:84e01dbb739e

MUC: Update all config form handlers to take advantage of the new per-option events
author Matthew Wild <mwild1@gmail.com>
date Fri, 11 Dec 2015 15:33:58 +0000
parent 6535:0f940a7ba489
child 7086:6cc7c9da29ed
comparison
equal deleted inserted replaced
6990:f476e2497568 6991:84e01dbb739e
21 local function get_historylength(room) 21 local function get_historylength(room)
22 return math.min(room._data.history_length or default_history_length, max_history_length); 22 return math.min(room._data.history_length or default_history_length, max_history_length);
23 end 23 end
24 24
25 local function set_historylength(room, length) 25 local function set_historylength(room, length)
26 length = assert(tonumber(length), "Length not a valid number"); 26 if length then
27 length = assert(tonumber(length), "Length not a valid number");
28 end
27 if length == default_history_length then length = nil; end 29 if length == default_history_length then length = nil; end
28 room._data.history_length = length; 30 room._data.history_length = length;
29 return true; 31 return true;
30 end 32 end
31 33
36 label = "Maximum Number of History Messages Returned by Room"; 38 label = "Maximum Number of History Messages Returned by Room";
37 value = tostring(get_historylength(event.room)); 39 value = tostring(get_historylength(event.room));
38 }); 40 });
39 end); 41 end);
40 42
41 module:hook("muc-config-submitted", function(event) 43 module:hook("muc-config-submitted/muc#roomconfig_historylength", function(event)
42 local new = event.fields["muc#roomconfig_historylength"]; 44 if set_historylength(event.room, event.value) then
43 if new ~= nil and set_historylength(event.room, new) then
44 event.status_codes["104"] = true; 45 event.status_codes["104"] = true;
45 end 46 end
46 end); 47 end);
47 48
48 local function parse_history(stanza) 49 local function parse_history(stanza)