Queue notices for rssCloud

This commit is contained in:
Zach Copley 2009-11-03 17:53:17 -08:00
parent 46ac99cf4d
commit aa9f81193e

View File

@ -130,20 +130,51 @@ class RSSCloudPlugin extends Plugin
} }
} }
function onEndNoticeSave($notice){ /**
* Add an RSSCloud queue item for each notice
*
* @param Notice $notice the notice
* @param array &$transports the list of transports (queues)
*
* @return boolean hook return
*/
function onStartEnqueueNotice($notice, &$transports)
{
array_push($transports, 'rsscloud');
return true;
}
common_debug("RSSCloudPlugin oneEndNoticeSave()"); /**
* 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))) {
$user = User::staticGet('id', $notice->profile_id); // broadcast the notice here
$feed = common_local_url('api', array('apiaction' => 'statuses', common_debug('broadcasting rssCloud bound notice ' . $notice->id);
'method' => 'user_timeline',
'argument' => $user->nickname . '.rss'));
// XXX: Dave's hub for testing return false;
// $endpoint = 'http://rpc.rsscloud.org:5337/rsscloud/ping'; }
return true;
}
// $notifier = new RSSCloudNotifier(); /**
// $notifier->postUpdate($endpoint, $feed); * Determine whether the notice was locally created
*
* @param Notice $notice
*
* @return boolean locality
*/
function _isLocal($notice)
{
return ($notice->is_local == Notice::LOCAL_PUBLIC ||
$notice->is_local == Notice::LOCAL_NONPUBLIC);
} }
} }