Software /
code /
prosody
File
plugins/mod_server_contact_info.lua @ 13143:3ec48555b773
mod_storage_sql: Add UPSERT support
Currently limited to SQLite3 for lack of testing on other databases.
Adds a migration to replace the non-UNIQUE prosody_index, renaming it
prosody_unique_index since ALTER INDEX does not seem to be portable.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 10 Jun 2023 15:44:09 +0200 |
parent | 12981:d795e3bbc0e3 |
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 "prosody.util.array"; local dataforms = require "prosody.util.dataforms"; local jid = require "prosody.util.jid"; local url = require "socket.url"; -- Source: http://xmpp.org/registrar/formtypes.html#http:--jabber.org-network-serverinfo local form_layout = dataforms.new({ { var = "FORM_TYPE"; type = "hidden"; value = "http://jabber.org/network/serverinfo" }; { type = "list-multi"; 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 = "status"; var = "status-addresses" }; { type = "list-multi"; name = "support"; var = "support-addresses" }; }); -- 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 / jid.prep / function(admin) return url.build({scheme = "xmpp"; path = admin}); end); }); module:add_extension(form_layout:form(contact_config, "result"));