]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Pull conversation URL from Conversation instead of assuming it's local
authorZach Copley <zach@status.net>
Fri, 26 Feb 2010 22:47:38 +0000 (14:47 -0800)
committerZach Copley <zach@status.net>
Fri, 26 Feb 2010 22:47:38 +0000 (14:47 -0800)
lib/noticelist.php

index 7d1d2828fcb94d2cbdbef8e77d409288bd9608f1..88a9252414325ba8d38cb2f0f327770ff186133a 100644 (file)
@@ -541,18 +541,39 @@ class NoticeListItem extends Widget
     {
         $hasConversation = false;
         if (!empty($this->notice->conversation)) {
-            $conversation = Notice::conversationStream($this->notice->conversation, 1, 1);
+            $conversation = Notice::conversationStream(
+                $this->notice->conversation,
+                1,
+                1
+            );
             if ($conversation->N > 0) {
                 $hasConversation = true;
             }
         }
         if ($hasConversation) {
-            $this->out->text(' ');
-            $convurl = common_local_url('conversation',
-                                         array('id' => $this->notice->conversation));
-            $this->out->element('a', array('href' => $convurl.'#notice-'.$this->notice->id,
-                                           'class' => 'response'),
-                                _('in context'));
+            $conv = Conversation::staticGet(
+                'id',
+                $this->notice->conversation
+            );
+            $convurl = $conv->uri;
+            if (!empty($convurl)) {
+                $this->out->text(' ');
+                $this->out->element(
+                    'a',
+                    array(
+                    'href' => $convurl.'#notice-'.$this->notice->id,
+                    'class' => 'response'),
+                    _('in context')
+                );
+            } else {
+                $msg = sprintf(
+                    "Couldn't find Conversation ID %d to make 'in context'"
+                    . "link for Notice ID %d",
+                    $this->notice->conversation,
+                    $this->notice->id
+                );
+                common_log(LOG_WARNING, $msg);
+            }
         }
     }