From: Evan Prodromou Date: Thu, 26 Feb 2009 21:45:43 +0000 (-0800) Subject: save conversation id when saving a notice X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=baf5afb26339f410a24a7ae5064d6c7a9029e86c;p=quix0rs-gnu-social.git save conversation id when saving a notice --- diff --git a/classes/Notice.php b/classes/Notice.php index ce5243841f..c321311acc 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -156,13 +156,20 @@ class Notice extends Memcached_DataObject $notice->query('BEGIN'); - $notice->reply_to = $reply_to; $notice->created = common_sql_now(); $notice->content = common_shorten_links($content); $notice->rendered = common_render_content($notice->content, $notice); $notice->source = $source; $notice->uri = $uri; + if (!empty($reply_to)) { + $reply_notice = Notice::staticGet('id', $reply_to); + if (!empty($reply_notice)) { + $notice->reply_to = $reply_to; + $notice->conversation = $reply_notice->conversation; + } + } + if (Event::handle('StartNoticeSave', array(&$notice))) { $id = $notice->insert(); @@ -707,6 +714,7 @@ class Notice extends Memcached_DataObject if ($recipient_notice) { $orig = clone($this); $this->reply_to = $recipient_notice->id; + $this->conversation = $recipient_notice->conversation; $this->update($orig); } } @@ -756,6 +764,14 @@ class Notice extends Memcached_DataObject } } + // If it's not a reply, make it the root of a new conversation + + if (empty($this->conversation)) { + $orig = clone($this); + $this->conversation = $this->id; + $this->update($orig); + } + foreach (array_keys($replied) as $recipient) { $user = User::staticGet('id', $recipient); if ($user) {