author | Kim Alvefur <zash@zash.se> |
Mon, 07 Mar 2022 00:35:29 +0100 | |
changeset 12392 | 50fcd3879482 |
parent 11588 | 8bea29d1f82d |
child 12981 | 74b9e05af71e |
permissions | -rw-r--r-- |
8260
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 |
-- XEP-0157: Contact Addresses for XMPP Services for Prosody |
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 |
-- |
9337
a86736e0163c
mod_server_contact_info: Update copyright header
Kim Alvefur <zash@zash.se>
parents:
9336
diff
changeset
|
3 |
-- Copyright (C) 2011-2018 Kim Alvefur |
8260
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 |
-- |
9337
a86736e0163c
mod_server_contact_info: Update copyright header
Kim Alvefur <zash@zash.se>
parents:
9336
diff
changeset
|
5 |
-- This project is MIT/X11 licensed. Please see the |
a86736e0163c
mod_server_contact_info: Update copyright header
Kim Alvefur <zash@zash.se>
parents:
9336
diff
changeset
|
6 |
-- COPYING file in the source package for more information. |
8260
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 |
-- |
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 |
|
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 |
local array = require "util.array"; |
11587
4ee7a6a8753e
mod_server_contact_info: Apply JID normalization
Kim Alvefur <zash@zash.se>
parents:
11014
diff
changeset
|
10 |
local jid = require "util.jid"; |
11588
8bea29d1f82d
mod_server_contact_info: Generate properly escaped URIs from 'admins'
Kim Alvefur <zash@zash.se>
parents:
11587
diff
changeset
|
11 |
local url = require "socket.url"; |
8260
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 |
|
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 |
-- Source: http://xmpp.org/registrar/formtypes.html#http:--jabber.org-network-serverinfo |
9336
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
14 |
local form_layout = require "util.dataforms".new({ |
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
15 |
{ var = "FORM_TYPE"; type = "hidden"; value = "http://jabber.org/network/serverinfo"; }; |
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
16 |
{ name = "abuse", var = "abuse-addresses", type = "list-multi" }, |
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
17 |
{ name = "admin", var = "admin-addresses", type = "list-multi" }, |
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
18 |
{ name = "feedback", var = "feedback-addresses", type = "list-multi" }, |
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
19 |
{ name = "sales", var = "sales-addresses", type = "list-multi" }, |
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
20 |
{ name = "security", var = "security-addresses", type = "list-multi" }, |
11014
6b27cb706b89
mod_server_contact_info: Add status-addresses field
Kim Alvefur <zash@zash.se>
parents:
9431
diff
changeset
|
21 |
{ name = "status", var = "status-addresses", type = "list-multi" }, |
9336
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
22 |
{ name = "support", var = "support-addresses", type = "list-multi" }, |
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
23 |
}); |
8260
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 |
|
9431
8e7feec95e8d
mod_server_contact_info: Comment on fallback to using 'admins'
Kim Alvefur <zash@zash.se>
parents:
9337
diff
changeset
|
25 |
-- JIDs of configured service admins are used as fallback |
9336
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
26 |
local admins = module:get_option_inherited_set("admins", {}); |
8260
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 |
|
9336
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
28 |
local contact_config = module:get_option("contact_info", { |
11588
8bea29d1f82d
mod_server_contact_info: Generate properly escaped URIs from 'admins'
Kim Alvefur <zash@zash.se>
parents:
11587
diff
changeset
|
29 |
admin = array.collect(admins / jid.prep / function(admin) return url.build({scheme = "xmpp"; path = admin}); end); |
9336
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
30 |
}); |
8260
c24837f57259
mod_server_contact_info: Import from prosody-modules 2c59f2f0c37d (fixes #778)
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 |
|
9336
fd704adc62e1
mod_server_contact_info: Simplify
Kim Alvefur <zash@zash.se>
parents:
8260
diff
changeset
|
32 |
module:add_extension(form_layout:form(contact_config, "result")); |