summaryrefslogtreecommitdiff
path: root/plugins/RSSCloud
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/RSSCloud')
-rw-r--r--plugins/RSSCloud/RSSCloudPlugin.php41
-rw-r--r--[-rwxr-xr-x]plugins/RSSCloud/RSSCloudQueueHandler.php50
2 files changed, 11 insertions, 80 deletions
diff --git a/plugins/RSSCloud/RSSCloudPlugin.php b/plugins/RSSCloud/RSSCloudPlugin.php
index 2de162628..9f444c8bb 100644
--- a/plugins/RSSCloud/RSSCloudPlugin.php
+++ b/plugins/RSSCloud/RSSCloudPlugin.php
@@ -138,6 +138,9 @@ class RSSCloudPlugin extends Plugin
case 'RSSCloudNotifier':
include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudNotifier.php';
return false;
+ case 'RSSCloudQueueHandler':
+ include_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudQueueHandler.php';
+ return false;
case 'RSSCloudRequestNotifyAction':
case 'LoggingAggregatorAction':
include_once INSTALLDIR . '/plugins/RSSCloud/' .
@@ -194,32 +197,6 @@ class RSSCloudPlugin extends Plugin
}
/**
- * broadcast the message when not using queuehandler
- *
- * @param Notice &$notice the notice
- * @param array $queue destination queue
- *
- * @return boolean hook return
- */
-
- function onUnqueueHandleNotice(&$notice, $queue)
- {
- if (($queue == 'rsscloud') && ($this->_isLocal($notice))) {
-
- common_debug('broadcasting rssCloud bound notice ' . $notice->id);
-
- $profile = $notice->getProfile();
-
- $notifier = new RSSCloudNotifier();
- $notifier->notify($profile);
-
- return false;
- }
-
- return true;
- }
-
- /**
* Determine whether the notice was locally created
*
* @param Notice $notice the notice in question
@@ -261,19 +238,15 @@ class RSSCloudPlugin extends Plugin
}
/**
- * Add RSSCloudQueueHandler to the list of valid daemons to
- * start
+ * Register RSSCloud notice queue handler
*
- * @param array $daemons the list of daemons to run
+ * @param QueueManager $manager
*
* @return boolean hook return
- *
*/
-
- function onGetValidDaemons($daemons)
+ function onEndInitializeQueueManager($manager)
{
- array_push($daemons, INSTALLDIR .
- '/plugins/RSSCloud/RSSCloudQueueHandler.php');
+ $manager->connect('rsscloud', 'RSSCloudQueueHandler');
return true;
}
diff --git a/plugins/RSSCloud/RSSCloudQueueHandler.php b/plugins/RSSCloud/RSSCloudQueueHandler.php
index 693dd27c1..295c26189 100755..100644
--- a/plugins/RSSCloud/RSSCloudQueueHandler.php
+++ b/plugins/RSSCloud/RSSCloudQueueHandler.php
@@ -1,4 +1,3 @@
-#!/usr/bin/env php
<?php
/*
* StatusNet - the distributed open-source microblogging tool
@@ -18,61 +17,20 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-define('INSTALLDIR', realpath(dirname(__FILE__) . '/../..'));
-
-$shortoptions = 'i::';
-$longoptions = array('id::');
-
-$helptext = <<<END_OF_ENJIT_HELP
-Daemon script for pushing new notices to RSSCloud subscribers.
-
- -i --id Identity (default none)
-
-END_OF_ENJIT_HELP;
-
-require_once INSTALLDIR . '/scripts/commandline.inc';
-require_once INSTALLDIR . '/lib/queuehandler.php';
-require_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudNotifier.php';
-require_once INSTALLDIR . '/plugins/RSSCloud/RSSCloudSubscription.php';
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
class RSSCloudQueueHandler extends QueueHandler
{
- var $notifier = null;
-
function transport()
{
return 'rsscloud';
}
- function start()
- {
- $this->log(LOG_INFO, "INITIALIZE");
- $this->notifier = new RSSCloudNotifier();
- return true;
- }
-
- function handle_notice($notice)
+ function handle($notice)
{
$profile = $notice->getProfile();
- return $this->notifier->notify($profile);
- }
-
- function finish()
- {
+ $notifier = new RSSCloudNotifier();
+ return $notifier->notify($profile);
}
-
-}
-
-if (have_option('i')) {
- $id = get_option_value('i');
-} else if (have_option('--id')) {
- $id = get_option_value('--id');
-} else if (count($args) > 0) {
- $id = $args[0];
-} else {
- $id = null;
}
-$handler = new RSSCloudQueueHandler($id);
-
-$handler->runOnce();