. defined('GNUSOCIAL') || die(); /** * Queue handler for letting modules handle stuff. * * The module queue handler accepts notices over the "module" queue * and simply passes them through the "HandleQueuedNotice" event. * * This gives plugins a chance to do background processing without * actually registering their own queue and ensuring that things * are queued into it. * * Fancier modules may wish to instead hook the 'GetQueueHandlerClass' * event with their own class, in which case they must ensure that * their notices get enqueued when they need them. */ class PluginQueueHandler extends QueueHandler { function transport() { return 'plugin'; } function handle($notice): bool { if (!($notice instanceof Notice)) { common_log(LOG_ERR, "Got a bogus notice, not broadcasting"); return true; } try { Event::handle('HandleQueuedNotice', array(&$notice)); } catch (NoProfileException $unp) { // We can't do anything about this, so just skip return true; } return true; } }