18 local multitable_new = require "util.multitable".new; |
18 local multitable_new = require "util.multitable".new; |
19 local register_actions = require "core.actions".register; |
19 local register_actions = require "core.actions".register; |
20 local st = require "util.stanza"; |
20 local st = require "util.stanza"; |
21 |
21 |
22 local hosts = hosts; |
22 local hosts = hosts; |
|
23 local prosody = prosody; |
23 |
24 |
24 local loadfile, pcall = loadfile, pcall; |
25 local loadfile, pcall = loadfile, pcall; |
25 local setmetatable, setfenv, getfenv = setmetatable, setfenv, getfenv; |
26 local setmetatable, setfenv, getfenv = setmetatable, setfenv, getfenv; |
26 local pairs, ipairs = pairs, ipairs; |
27 local pairs, ipairs = pairs, ipairs; |
27 local t_insert, t_concat = table.insert, table.concat; |
28 local t_insert, t_concat = table.insert, table.concat; |
356 |
357 |
357 function api:hook(event, handler) |
358 function api:hook(event, handler) |
358 if self.host ~= '*' then |
359 if self.host ~= '*' then |
359 hosts[self.host].events.add_handler(event, handler); |
360 hosts[self.host].events.add_handler(event, handler); |
360 else |
361 else |
361 self:log("error", "Global module attempting to hook a host-specific event: %s", event); |
362 prosody.events.add_handler(event, handler); |
362 end |
363 end |
363 end |
364 end |
364 |
365 |
365 -------------------------------------------------------------------- |
366 -------------------------------------------------------------------- |
366 |
367 |