forked from GNUsocial/gnu-social
add live updating for tag pages
This commit is contained in:
parent
781341d91f
commit
e438334c00
@ -62,6 +62,14 @@ class CometPlugin extends Plugin
|
||||
case 'public':
|
||||
$timeline = '/timelines/public';
|
||||
break;
|
||||
case 'tag':
|
||||
$tag = $action->trimmed('tag');
|
||||
if (!empty($tag)) {
|
||||
$timeline = '/timelines/tag/'.$tag;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
@ -94,6 +102,14 @@ class CometPlugin extends Plugin
|
||||
$timelines[] = '/timelines/public';
|
||||
}
|
||||
|
||||
$tags = $this->getNoticeTags($notice);
|
||||
|
||||
if (!empty($tags)) {
|
||||
foreach ($tags as $tag) {
|
||||
$timelines[] = '/timelines/tag/' . $tag;
|
||||
}
|
||||
}
|
||||
|
||||
if (count($timelines) > 0) {
|
||||
// Require this, since we need it
|
||||
require_once(INSTALLDIR.'/plugins/Comet/bayeux.class.inc.php');
|
||||
@ -134,6 +150,26 @@ class CometPlugin extends Plugin
|
||||
return $arr;
|
||||
}
|
||||
|
||||
function getNoticeTags($notice)
|
||||
{
|
||||
$tags = null;
|
||||
|
||||
$nt = new Notice_tag();
|
||||
$nt->notice_id = $notice->id;
|
||||
|
||||
if ($nt->find()) {
|
||||
$tags = array();
|
||||
while ($nt->fetch()) {
|
||||
$tags[] = $nt->tag;
|
||||
}
|
||||
}
|
||||
|
||||
$nt->free();
|
||||
$nt = null;
|
||||
|
||||
return $tags;
|
||||
}
|
||||
|
||||
// Push this up to Plugin
|
||||
|
||||
function log($level, $msg)
|
||||
|
Loading…
Reference in New Issue
Block a user