aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/muc/moderated.lib.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2018-06-02 20:15:32 +0200
committerKim Alvefur <zash@zash.se>2018-06-02 20:15:32 +0200
commit8286e6344d13e59b090cdff204e61750dd7a5a29 (patch)
tree719ee4568e427514f501400210b3c4795d140d79 /plugins/muc/moderated.lib.lua
parent7bc9f73c736d558386cfbce9d57a7dddd0b5479b (diff)
downloadprosody-8286e6344d13e59b090cdff204e61750dd7a5a29.tar.gz
prosody-8286e6344d13e59b090cdff204e61750dd7a5a29.zip
MUC: Move voice request into its own lib
Diffstat (limited to 'plugins/muc/moderated.lib.lua')
-rw-r--r--plugins/muc/moderated.lib.lua55
1 files changed, 0 insertions, 55 deletions
diff --git a/plugins/muc/moderated.lib.lua b/plugins/muc/moderated.lib.lua
index 6e82c71f..8354c585 100644
--- a/plugins/muc/moderated.lib.lua
+++ b/plugins/muc/moderated.lib.lua
@@ -7,9 +7,6 @@
-- COPYING file in the source package for more information.
--
-local st = require "util.stanza";
-local jid_resource = require "util.jid".resource;
-
local function get_moderated(room)
return room._data.moderated;
end
@@ -48,58 +45,6 @@ module:hook("muc-get-default-role", function(event)
end
end, 1);
-module:hook("muc-voice-request", function(event)
- if event.occupant.role == "visitor" then
- local form = event.room:get_voice_form_layout()
- local nick = jid_resource(event.occupant.nick);
- local formdata = {
- ["muc#jid"] = event.stanza.attr.from;
- ["muc#roomnick"] = nick;
- };
-
- local message = st.message({ type = "normal"; from = event.room.jid }):add_child(form:form(formdata)):up();
-
- event.room:broadcast(message, function (_, occupant)
- return occupant.role == "moderator";
- end);
- end
-end);
-
-module:hook("muc-voice-response", function(event)
- local actor = event.stanza.attr.from;
- local affected_occupant = event.room:get_occupant_by_real_jid(event.fields["muc#jid"]);
- local occupant = event.occupant;
-
- if occupant.role ~= "moderator" then
- module:log("debug", "%s tried to grant voice but wasn't a moderator", jid_resource(occupant.nick));
- return;
- end
-
- if not event.fields["muc#request_allow"] then
- module:log("debug", "%s did not grant voice", jid_resource(occupant.nick));
- return;
- end
-
- if not affected_occupant then
- module:log("debug", "%s tried to grant voice to unknown occupant %s", jid_resource(occupant.nick), event.fields["muc#jid"]);
- return;
- end
-
- if affected_occupant.role ~= "visitor" then
- module:log("debug", "%s tried to grant voice to %s but they already have it", jid_resource(occupant.nick), jid_resource(occupant.jid));
- return;
- end
-
- module:log("debug", "%s granted voice to %s", jid_resource(event.occupant.nick), jid_resource(occupant.jid));
- local ok, errtype, err = event.room:set_role(actor, affected_occupant.nick, "participant", "Voice granted");
-
- if not ok then
- module:log("debug", "Error granting voice: %s", err or errtype);
- event.origin.send(st.error_reply(event.stanza, errtype, err));
- end
-end);
-
-
return {
get = get_moderated;
set = set_moderated;