use old-style plugin initializers as fallback for GoogleAnalytics
[statusnet:statusnet-dev.git] / lib / pluginqueuehandler.php
1 <?php
2 /*
3  * StatusNet - the distributed open-source microblogging tool
4  * Copyright (C) 2008, 2009, StatusNet, Inc.
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Affero General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Affero General Public License for more details.
15  *
16  * You should have received a copy of the GNU Affero General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 if (!defined('STATUSNET') && !defined('LACONICA')) {
21     exit(1);
22 }
23
24 /**
25  * Queue handler for letting plugins handle stuff.
26  *
27  * The plugin queue handler accepts notices over the "plugin" queue
28  * and simply passes them through the "HandleQueuedNotice" event.
29  *
30  * This gives plugins a chance to do background processing without
31  * actually registering their own queue and ensuring that things
32  * are queued into it.
33  *
34  * Fancier plugins may wish to instead hook the 'GetQueueHandlerClass'
35  * event with their own class, in which case they must ensure that
36  * their notices get enqueued when they need them.
37  */
38 class PluginQueueHandler extends QueueHandler
39 {
40     function transport()
41     {
42         return 'plugin';
43     }
44
45     function handle($notice)
46     {
47         Event::handle('HandleQueuedNotice', array(&$notice));
48         return true;
49     }
50 }