We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit df6c22c4 authored by Sarven Capadisli's avatar Sarven Capadisli

Merge branch '0.7.x' of git@gitorious.org:laconica/dev into 0.7.x

parents efe8c47d 8cf8298d
......@@ -188,11 +188,15 @@ $(document).ready(function(){
alert(result);
}
else {
$("#notices_primary .notices").prepend(document._importNode($("li", xml).get(0), true));
$("#notices_primary .notice:first").css({display:"none"});
$("#notices_primary .notice:first").fadeIn(2500);
NoticeHover();
NoticeReply();
li = $("li", xml).get(0);
id = li.id;
if ($("#"+li.id).length == 0) {
$("#notices_primary .notices").prepend(document._importNode(li, true));
$("#notices_primary .notice:first").css({display:"none"});
$("#notices_primary .notice:first").fadeIn(2500);
NoticeHover();
NoticeReply();
}
}
$("#notice_data-text").val("");
counter();
......
......@@ -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');
......@@ -127,6 +143,7 @@ class CometPlugin extends Plugin
$arr = $act->twitter_status_array($notice, true);
$arr['url'] = $notice->bestUrl();
$arr['html'] = htmlspecialchars($notice->rendered);
$profile = $notice->getProfile();
$arr['user']['profile_url'] = $profile->profileurl;
......@@ -134,6 +151,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)
......
......@@ -23,6 +23,14 @@ var updater = function()
function receive(message)
{
id = message.data.id;
// Don't add it if it already exists
if ($("#notice-"+id).length > 0) {
return;
}
var noticeItem = makeNoticeItem(message.data);
$("#notices_primary .notices").prepend(noticeItem, true);
$("#notices_primary .notice:first").css({display:"none"});
......@@ -34,6 +42,8 @@ var updater = function()
function makeNoticeItem(data)
{
user = data['user'];
html = data['html'].replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
ni = "<li class=\"hentry notice\" id=\"notice-"+data['id']+"\">"+
"<div class=\"entry-title\">"+
"<span class=\"vcard author\">"+
......@@ -42,7 +52,7 @@ var updater = function()
"<span class=\"nickname fn\">"+user['screen_name']+"</span>"+
"</a>"+
"</span>"+
"<p class=\"entry-content\">"+data['text']+"</p>"+
"<p class=\"entry-content\">"+html+"</p>"+
"</div>"+
"<div class=\"entry-content\">"+
"<dl class=\"timestamp\">"+
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment