From 958a4e177ba331c8a1e6ccd333ab5892a8f86bfc Mon Sep 17 00:00:00 2001
From: Philipp Hancke <fippo@goodadvice.pages.de>
Date: Thu, 20 Nov 2014 09:01:45 +0000
Subject: mod_pubsub: Add support for including the publisher in item
 broadcasts

---
 plugins/mod_pubsub/mod_pubsub.lua | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'plugins')

diff --git a/plugins/mod_pubsub/mod_pubsub.lua b/plugins/mod_pubsub/mod_pubsub.lua
index 8c777f54..de027b58 100644
--- a/plugins/mod_pubsub/mod_pubsub.lua
+++ b/plugins/mod_pubsub/mod_pubsub.lua
@@ -11,6 +11,7 @@ local autocreate_on_publish = module:get_option_boolean("autocreate_on_publish",
 local autocreate_on_subscribe = module:get_option_boolean("autocreate_on_subscribe", false);
 local pubsub_disco_name = module:get_option("name");
 if type(pubsub_disco_name) ~= "string" then pubsub_disco_name = "Prosody PubSub Service"; end
+local expose_publisher = module:get_option_boolean("expose_publisher", false)
 
 local service;
 
@@ -36,10 +37,13 @@ function handle_pubsub_iq(event)
 	end
 end
 
-function simple_broadcast(kind, node, jids, item)
+function simple_broadcast(kind, node, jids, item, actor)
 	if item then
 		item = st.clone(item);
 		item.attr.xmlns = nil; -- Clear the pubsub namespace
+		if expose_publisher and actor then
+			item.attr.publisher = actor
+		end
 	end
 	local message = st.message({ from = module.host, type = "headline" })
 		:tag("event", { xmlns = xmlns_pubsub_event })
-- 
cgit v1.2.3