diff options
author | Zach Copley <zach@status.net> | 2010-02-17 01:12:13 -0800 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2010-02-17 01:12:13 -0800 |
commit | 198c046c896c2a1c4dc9037fa538c14179e827ce (patch) | |
tree | 88af4d9384eeba4cc6e1b219be742ee3666a4be4 /classes/Notice.php | |
parent | ed46a38ecfea0a87e01aacfcde181087d5e0f19f (diff) |
- Set the root of a new local conversation to a new conversation.id
- Output conversation URIs from conversation.uri
Diffstat (limited to 'classes/Notice.php')
-rw-r--r-- | classes/Notice.php | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/classes/Notice.php b/classes/Notice.php index f184b9c52..b0edb6de6 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -309,7 +309,8 @@ class Notice extends Memcached_DataObject // the beginning of a new conversation. if (empty($notice->conversation)) { - $notice->conversation = $notice->id; + $conv = Conversation::create(); + $notice->conversation = $conv->id; $changed = true; } @@ -331,14 +332,15 @@ class Notice extends Memcached_DataObject return $notice; } - function blowOnInsert() + function blowOnInsert($conversation = false) { self::blow('profile:notice_ids:%d', $this->profile_id); self::blow('public'); - if ($this->conversation != $this->id) { - self::blow('notice:conversation_ids:%d', $this->conversation); - } + // XXX: Before we were blowing the casche only if the notice id + // was not the root of the conversation. What to do now? + + self::blow('notice:conversation_ids:%d', $this->conversation); if (!empty($this->repeat_of)) { self::blow('notice:repeats:%d', $this->repeat_of); @@ -1015,24 +1017,25 @@ class Notice extends Memcached_DataObject } } - if (!empty($this->conversation) - && $this->conversation != $this->id) { - $xs->element( - 'link', array( - 'rel' => 'ostatus:conversation', - 'href' => common_local_url( - 'conversation', - array('id' => $this->conversation) - ) + if (!empty($this->conversation)) { + + $conv = Conversation::staticGet('id', $this->conversation); + + if (!empty($conv)) { + $xs->element( + 'link', array( + 'rel' => 'ostatus:conversation', + 'href' => $conv->uri ) ); + } } $reply_ids = $this->getReplies(); foreach ($reply_ids as $id) { $profile = Profile::staticGet('id', $id); - if (!empty($profile)) { + if (!empty($profile)) { $xs->element( 'link', array( 'rel' => 'ostatus:attention', |