File

plugins/mod_server_contact_info.lua @ 10049:c523642ea293

util.dependencies: Increase Lua version to warn about to 5.4 No significant problems have been encountered with Lua 5.3 itself, so apart from some odd problems in LuaExpat it seems about time to declare it ready.
author Kim Alvefur <zash@zash.se>
date Wed, 19 Jun 2019 19:16:09 +0200
parent 9428:8e7feec95e8d
child 11010:6b27cb706b89
line wrap: on
line source

-- XEP-0157: Contact Addresses for XMPP Services for Prosody
--
-- Copyright (C) 2011-2018 Kim Alvefur
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--

local array = require "util.array";

-- Source: http://xmpp.org/registrar/formtypes.html#http:--jabber.org-network-serverinfo
local form_layout = require "util.dataforms".new({
	{ var = "FORM_TYPE"; type = "hidden"; value = "http://jabber.org/network/serverinfo"; };
	{ name = "abuse", var = "abuse-addresses", type = "list-multi" },
	{ name = "admin", var = "admin-addresses", type = "list-multi" },
	{ name = "feedback", var = "feedback-addresses", type = "list-multi" },
	{ name = "sales", var = "sales-addresses", type = "list-multi" },
	{ name = "security", var = "security-addresses", type = "list-multi" },
	{ name = "support", var = "support-addresses", type = "list-multi" },
});

-- JIDs of configured service admins are used as fallback
local admins = module:get_option_inherited_set("admins", {});

local contact_config = module:get_option("contact_info", {
	admin = array.collect( admins / function(admin) return "xmpp:" .. admin; end);
});

module:add_extension(form_layout:form(contact_config, "result"));