Mercurial > prosody-modules
annotate mod_muc_lang/mod_muc_lang.lua @ 5265:f845c218e52c
mod_http_oauth2: Allow revoking a token without OAuth client credentials
If you have a valid token, and you're not supposed to have it, revoking
it seems the most responsible thing to do with it, so it should be
allowed, while if you are supposed to have it, you should also be
allowed to revoke it.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 21 Mar 2023 22:02:38 +0100 |
parents | ef5d52ca31bb |
children |
rev | line source |
---|---|
3546
ef5d52ca31bb
mod_muc_lang: Abort on Prosody 0.11 which supports this natively (thanks Ge0rG)
Kim Alvefur <zash@zash.se>
parents:
3076
diff
changeset
|
1 assert(module:depends"muc".rooms, "This module is not required with Prosody >= 0.11"); |
3069
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 module:hook("muc-config-form", function(event) |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 local room, form = event.room, event.form; |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 table.insert(form, { |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 name = "muc#roomconfig_lang", |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 type = "text-single", |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 label = "Natural Language for Room Discussions", |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 value = room._data.language, |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 }); |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 end); |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 module:hook("muc-config-submitted", function(event) |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 local room, fields, changed = event.room, event.fields, event.changed; |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 local new = fields["muc#roomconfig_lang"]; |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 if new ~= room._data.language then |
3073
ef8fe8bec5b1
mod_muc_lang: Fix to use correct data field
Kim Alvefur <zash@zash.se>
parents:
3069
diff
changeset
|
17 room._data.language = new; |
3069
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 if type(changed) == "table" then |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 changed["muc#roomconfig_lang"] = true; |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 else |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 event.changed = true; |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 end |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 end |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 end); |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 module:hook("muc-disco#info", function (event) |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 local room, form, formdata = event.room, event.form, event.formdata; |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 table.insert(form, { |
3074
57396a32fc05
mod_muc_lang: Fix to use correct field name in disco#info
Kim Alvefur <zash@zash.se>
parents:
3073
diff
changeset
|
30 name = "muc#roominfo_lang", |
3069
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 value = room._data.language, |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 }); |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 formdata["muc#roominfo_lang"] = room._data.language; |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 end); |
e1db146984a0
mod_muc_lang: Advertises the room language
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 |