# HG changeset patch # User Kim Alvefur # Date 1527662459 -7200 # Node ID e1db146984a0529bdb8b3afabaf09e58c4b562ca # Parent 380f92276e57c96c9e285aa237d1961f3b3f3bad mod_muc_lang: Advertises the room language diff -r 380f92276e57 -r e1db146984a0 mod_muc_lang/mod_muc_lang.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_muc_lang/mod_muc_lang.lua Wed May 30 08:40:59 2018 +0200 @@ -0,0 +1,36 @@ + +module:hook("muc-config-form", function(event) + local room, form = event.room, event.form; + table.insert(form, { + name = "muc#roomconfig_lang", + type = "text-single", + label = "Natural Language for Room Discussions", + value = room._data.language, + }); +end); + +module:hook("muc-config-submitted", function(event) + local room, fields, changed = event.room, event.fields, event.changed; + local new = fields["muc#roomconfig_lang"]; + if new ~= room._data.language then + room._data.archiving = new; + if type(changed) == "table" then + changed["muc#roomconfig_lang"] = true; + else + event.changed = true; + end + end +end); + +module:hook("muc-disco#info", function (event) + local room, form, formdata = event.room, event.form, event.formdata; + + table.insert(form, { + name = "muc#roomconfig_lang", + type = "text-single", + label = "Natural Language for Room Discussions", + value = room._data.language, + }); + formdata["muc#roominfo_lang"] = room._data.language; +end); +