view plugins/muc/description.lib.lua @ 12525:8087f5357f53 0.12

mod_smacks: Fix bounce of stanzas directed to full JID on unclean disconnect Fixes #1758 Introduced in 1ea01660c79a In e62025f949f9 to and from was inverted since it changed from acting on a reply to acting on the original stanza (or a clone thereof) Unsure of the purpose of this check, you don't usually send stanzas to your own full JID. Perhaps guarding against routing loops? The check was present in the original commit of mod_smacks, prosody-modules rev 9a7671720dec
author Kim Alvefur <zash@zash.se>
date Fri, 27 May 2022 12:05:47 +0200
parents 1c709e3d2e5e
children
line wrap: on
line source

-- Prosody IM
-- Copyright (C) 2008-2010 Matthew Wild
-- Copyright (C) 2008-2010 Waqas Hussain
-- Copyright (C) 2014 Daurnimator
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--

local function get_description(room)
	return room._data.description;
end

local function set_description(room, description)
	if description == "" then description = nil; end
	if get_description(room) == description then return false; end
	room._data.description = description;
	return true;
end

local function add_disco_form(event)
	table.insert(event.form, {
		name = "muc#roominfo_description";
		label = "Description";
		value = "";
	});
	event.formdata["muc#roominfo_description"] = get_description(event.room);
end

local function add_form_option(event)
	table.insert(event.form, {
		name = "muc#roomconfig_roomdesc";
		type = "text-single";
		label = "Description";
		desc = "A brief description of the room";
		value = get_description(event.room) or "";
	});
end

module:hook("muc-disco#info", add_disco_form);
module:hook("muc-config-form", add_form_option, 100-2);

module:hook("muc-config-submitted/muc#roomconfig_roomdesc", function(event)
	if set_description(event.room, event.value) then
		event.status_codes["104"] = true;
	end
end);

return {
	get = get_description;
	set = set_description;
};