Software /
code /
prosody-modules
Comparison
mod_muc_lang/mod_muc_lang.lua @ 3069:e1db146984a0
mod_muc_lang: Advertises the room language
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 30 May 2018 08:40:59 +0200 |
child | 3073:ef8fe8bec5b1 |
comparison
equal
deleted
inserted
replaced
3068:380f92276e57 | 3069:e1db146984a0 |
---|---|
1 | |
2 module:hook("muc-config-form", function(event) | |
3 local room, form = event.room, event.form; | |
4 table.insert(form, { | |
5 name = "muc#roomconfig_lang", | |
6 type = "text-single", | |
7 label = "Natural Language for Room Discussions", | |
8 value = room._data.language, | |
9 }); | |
10 end); | |
11 | |
12 module:hook("muc-config-submitted", function(event) | |
13 local room, fields, changed = event.room, event.fields, event.changed; | |
14 local new = fields["muc#roomconfig_lang"]; | |
15 if new ~= room._data.language then | |
16 room._data.archiving = new; | |
17 if type(changed) == "table" then | |
18 changed["muc#roomconfig_lang"] = true; | |
19 else | |
20 event.changed = true; | |
21 end | |
22 end | |
23 end); | |
24 | |
25 module:hook("muc-disco#info", function (event) | |
26 local room, form, formdata = event.room, event.form, event.formdata; | |
27 | |
28 table.insert(form, { | |
29 name = "muc#roomconfig_lang", | |
30 type = "text-single", | |
31 label = "Natural Language for Room Discussions", | |
32 value = room._data.language, | |
33 }); | |
34 formdata["muc#roominfo_lang"] = room._data.language; | |
35 end); | |
36 |