Software /
code /
prosody
Changeset
7119:50b9a7e86de9
MUC: Separate form data from form in disco#info event
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 03 Feb 2016 02:05:49 +0100 |
parents | 7116:ecba5fee4867 |
children | 7120:a6afe52159f1 |
files | plugins/muc/description.lib.lua plugins/muc/muc.lib.lua plugins/muc/name.lib.lua |
diffstat | 3 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/muc/description.lib.lua Mon Feb 01 21:28:07 2016 +0000 +++ b/plugins/muc/description.lib.lua Wed Feb 03 02:05:49 2016 +0100 @@ -24,8 +24,8 @@ name = "muc#roomconfig_roomdesc"; type = "text-single"; label = "Description"; - value = get_description(event.room) or ""; }); + event.formdata["muc#roomconfig_roomdesc"] = get_description(event.room) or ""; end module:hook("muc-disco#info", add_form_option); module:hook("muc-config-form", add_form_option);
--- a/plugins/muc/muc.lib.lua Mon Feb 01 21:28:07 2016 +0000 +++ b/plugins/muc/muc.lib.lua Wed Feb 03 02:05:49 2016 +0100 @@ -310,16 +310,17 @@ local form = dataform.new { { name = "FORM_TYPE", type = "hidden", value = "http://jabber.org/protocol/muc#roominfo" }; }; - module:fire_event("muc-disco#info", {room = self; reply = reply; form = form;}); - reply:add_child(form:form(nil, "result")); + local formdata = {}; + module:fire_event("muc-disco#info", {room = self; reply = reply; form = form, formdata = formdata ;}); + reply:add_child(form:form(formdata, "result")); return reply; end module:hook("muc-disco#info", function(event) event.reply:tag("feature", {var = "http://jabber.org/protocol/muc"}):up(); end); module:hook("muc-disco#info", function(event) - local count = iterators.count(event.room:each_occupant()); - table.insert(event.form, { name = "muc#roominfo_occupants", label = "Number of occupants", value = tostring(count) }); + table.insert(event.form, { name = "muc#roominfo_occupants", label = "Number of occupants" }); + event.formdata["muc#roominfo_occupants"] = tostring(iterators.count(event.room:each_occupant())); end); function room_mt:get_disco_items(stanza)
--- a/plugins/muc/name.lib.lua Mon Feb 01 21:28:07 2016 +0000 +++ b/plugins/muc/name.lib.lua Wed Feb 03 02:05:49 2016 +0100 @@ -30,8 +30,8 @@ name = "muc#roomconfig_roomname"; type = "text-single"; label = "Name"; - value = get_name(event.room) or ""; }); + event.formdata["muc#roomconfig_roomname"] = get_description(event.room) or ""; end); module:hook("muc-config-submitted/muc#roomconfig_roomname", function(event)