Any object (not just Notice's) can be queued

This commit is contained in:
Craig Andrews
2010-01-20 16:31:48 -05:00
parent 6a93cb2985
commit 77ea02cac3
19 changed files with 109 additions and 291 deletions

50
plugins/RSSCloud/RSSCloudQueueHandler.php Executable file → Normal file
View File

@@ -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);
$notifier = new RSSCloudNotifier();
return $notifier->notify($profile);
}
function finish()
{
}
}
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();