Queue notices for rssCloud
This commit is contained in:
parent
46ac99cf4d
commit
aa9f81193e
|
@ -130,21 +130,52 @@ class RSSCloudPlugin extends Plugin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onEndNoticeSave($notice){
|
/**
|
||||||
|
* Add an RSSCloud queue item for each notice
|
||||||
common_debug("RSSCloudPlugin oneEndNoticeSave()");
|
*
|
||||||
|
* @param Notice $notice the notice
|
||||||
$user = User::staticGet('id', $notice->profile_id);
|
* @param array &$transports the list of transports (queues)
|
||||||
$feed = common_local_url('api', array('apiaction' => 'statuses',
|
*
|
||||||
'method' => 'user_timeline',
|
* @return boolean hook return
|
||||||
'argument' => $user->nickname . '.rss'));
|
*/
|
||||||
|
function onStartEnqueueNotice($notice, &$transports)
|
||||||
// XXX: Dave's hub for testing
|
{
|
||||||
// $endpoint = 'http://rpc.rsscloud.org:5337/rsscloud/ping';
|
array_push($transports, 'rsscloud');
|
||||||
|
return true;
|
||||||
// $notifier = new RSSCloudNotifier();
|
|
||||||
// $notifier->postUpdate($endpoint, $feed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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))) {
|
||||||
|
|
||||||
|
// broadcast the notice here
|
||||||
|
common_debug('broadcasting rssCloud bound notice ' . $notice->id);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user