diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_console.lua | 9 | ||||
-rw-r--r-- | plugins/mod_message.lua | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/plugins/mod_console.lua b/plugins/mod_console.lua index 9be37db4..0f2c6711 100644 --- a/plugins/mod_console.lua +++ b/plugins/mod_console.lua @@ -162,7 +162,7 @@ end def_env.module = {}; -local function get_hosts_set(hosts) +local function get_hosts_set(hosts, module) if type(hosts) == "table" then if hosts[1] then return set.new(hosts); @@ -172,8 +172,9 @@ local function get_hosts_set(hosts) elseif type(hosts) == "string" then return set.new { hosts }; elseif hosts == nil then + local mm = require "modulemanager"; return set.new(array.collect(keys(prosody.hosts))) - / function (host) return prosody.hosts[host].type == "local"; end; + / function (host) return prosody.hosts[host].type == "local" or module and mm.is_loaded(host, module); end; end end @@ -203,7 +204,7 @@ end function def_env.module:unload(name, hosts) local mm = require "modulemanager"; - hosts = get_hosts_set(hosts); + hosts = get_hosts_set(hosts, name); -- Unload the module for each host local ok, err, count = true, nil, 0; @@ -225,7 +226,7 @@ end function def_env.module:reload(name, hosts) local mm = require "modulemanager"; - hosts = get_hosts_set(hosts); + hosts = get_hosts_set(hosts, name); -- Reload the module for each host local ok, err, count = true, nil, 0; diff --git a/plugins/mod_message.lua b/plugins/mod_message.lua index 72ccfdd0..b56aef0a 100644 --- a/plugins/mod_message.lua +++ b/plugins/mod_message.lua @@ -67,3 +67,5 @@ module:hook("message/bare", function(data) return process_to_bare(stanza.attr.to or (origin.username..'@'..origin.host), origin, stanza); end); + +module:add_feature("msgoffline"); |