Changeset

1015:0fc9e1f086c1

mod_broadcast: Allow admins to broadcast
author Matthew Wild <mwild1@gmail.com>
date Sun, 19 May 2013 22:09:54 +0100
parents 1014:ed7431fd3b47
children 1016:9f7c97e55593
files mod_broadcast/mod_broadcast.lua
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mod_broadcast/mod_broadcast.lua	Sat May 18 15:31:14 2013 +0100
+++ b/mod_broadcast/mod_broadcast.lua	Sun May 19 22:09:54 2013 +0100
@@ -1,3 +1,4 @@
+local is_admin = require "core.usermanager".is_admin;
 local allowed_senders = module:get_option_set("broadcast_senders", {});
 
 local jid_bare = require "util.jid".bare;
@@ -18,12 +19,13 @@
 
 function send_message(event)
 	local stanza = event.stanza;
-	if allowed_senders:contains(jid_bare(stanza.attr.from)) then
+	local from = stanza.attr.from;
+	if is_admin(from) or allowed_senders:contains(jid_bare(from)) then
 		local c = send_to_online(stanza);
-		module:log("debug", "Broadcast stanza from %s to %d online users", stanza.attr.from, c);
+		module:log("debug", "Broadcast stanza from %s to %d online users", from, c);
 		return true;
 	else
-		module:log("warn", "Broadcasting is not allowed for %s", stanza.attr.from);
+		module:log("warn", "Broadcasting is not allowed for %s", from);
 	end
 end