Added realtime streams for all and showstream timelines

This commit is contained in:
Sarven Capadisli 2009-09-20 15:14:46 +00:00
parent 44820d296d
commit 49e91ec7d0
2 changed files with 29 additions and 16 deletions

View File

@ -7,8 +7,17 @@ var MeteorUpdater = function()
init: function(server, port, timeline)
{
var screen_name;
Meteor.callbacks["process"] = function(data) {
RealtimeUpdate.receive(JSON.parse(data));
var d = JSON.parse(data);
screen_name = d['user']['screen_name'];
if (timeline == 'public' ||
$('address .url')[0].href+screen_name+'/all' == window.location.href ||
$('address .url')[0].href+screen_name == window.location.href) {
RealtimeUpdate.receive(d);
}
};
Meteor.host = server;

View File

@ -63,20 +63,22 @@ class RealtimePlugin extends Plugin
{
$path = null;
switch ($action->trimmed('action')) {
case 'public':
$path = array('public');
break;
case 'tag':
$tag = $action->trimmed('tag');
if (!empty($tag)) {
$path = array('tag', $tag);
} else {
$a = $action->trimmed('action');
switch ($a) {
case 'public': case 'all': case 'replies': case 'showstream':
$path = array($a);
break;
case 'tag':
$tag = $action->trimmed('tag');
if (!empty($tag)) {
$path = array('tag', $tag);
} else {
return true;
}
break;
default:
return true;
}
break;
default:
return true;
}
$timeline = $this->_pathToChannel($path);
@ -108,11 +110,13 @@ class RealtimePlugin extends Plugin
{
$paths = array();
// XXX: Add other timelines; this is just for the public one
// TODO: Replies timeline
if ($notice->is_local ||
($notice->is_local == 0 && !common_config('public', 'localonly'))) {
$paths[] = array('public');
foreach (array('public', 'all', 'replies', 'showstream') as $a) {
$paths[] = array($a);
}
}
$tags = $this->getNoticeTags($notice);