Mercurial > prosody-modules
comparison mod_invites_register_web/mod_invites_register_web.lua @ 4167:3a03ae9a0882
mod_invites_register_web: Support linking to a web chat after successful registration
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Mon, 05 Oct 2020 16:45:06 +0100 |
parents | ca099bd28bf5 |
children | e56b6b6852ae |
comparison
equal
deleted
inserted
replaced
4166:7678b4880719 | 4167:3a03ae9a0882 |
---|---|
1 local id = require "util.id"; | 1 local id = require "util.id"; |
2 local http_formdecode = require "net.http".formdecode; | 2 local http_formdecode = require "net.http".formdecode; |
3 local usermanager = require "core.usermanager"; | 3 local usermanager = require "core.usermanager"; |
4 local modulemanager = require "core.modulemanager"; | |
4 local nodeprep = require "util.encodings".stringprep.nodeprep; | 5 local nodeprep = require "util.encodings".stringprep.nodeprep; |
5 local st = require "util.stanza"; | 6 local st = require "util.stanza"; |
6 local url_escape = require "util.http".urlencode; | 7 local url_escape = require "util.http".urlencode; |
7 local render_html_template = require"util.interpolation".new("%b{}", st.xml_escape, { | 8 local render_html_template = require"util.interpolation".new("%b{}", st.xml_escape, { |
8 urlescape = url_escape; | 9 urlescape = url_escape; |
11 | 12 |
12 module:depends("register_apps"); | 13 module:depends("register_apps"); |
13 | 14 |
14 local site_name = module:get_option_string("site_name", module.host); | 15 local site_name = module:get_option_string("site_name", module.host); |
15 local site_apps = module:shared("register_apps/apps"); | 16 local site_apps = module:shared("register_apps/apps"); |
17 | |
18 local webchat_url = module:get_option_string("webchat_url"); | |
19 | |
20 -- If not provided, but mod_conversejs is loaded, default to that | |
21 if not webchat_url and modulemanager.get_modules_for_host(module.host):contains("conversejs") then | |
22 local conversejs = module:depends("conversejs"); | |
23 webchat_url = conversejs.module:http_url(); | |
24 end | |
16 | 25 |
17 module:depends("http"); | 26 module:depends("http"); |
18 | 27 |
19 local invites = module:depends("invites"); | 28 local invites = module:depends("invites"); |
20 local invites_page = module:depends("invites_page"); | 29 local invites_page = module:depends("invites_page"); |
164 site_name = site_name; | 173 site_name = site_name; |
165 username = prepped_username; | 174 username = prepped_username; |
166 domain = module.host; | 175 domain = module.host; |
167 password = password; | 176 password = password; |
168 app = app_info; | 177 app = app_info; |
178 webchat_url = webchat_url; | |
169 }); | 179 }); |
170 else | 180 else |
171 local err_id = id.short(); | 181 local err_id = id.short(); |
172 module:log("warn", "Registration failed (%s): %s", err_id, tostring(err)); | 182 module:log("warn", "Registration failed (%s): %s", err_id, tostring(err)); |
173 return render_html_template(error_template, { | 183 return render_html_template(error_template, { |