]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Output selfLink from notice asActivity[Object]
authorMikael Nordfeldth <mmn@hethane.se>
Sat, 6 May 2017 10:25:50 +0000 (12:25 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Sat, 6 May 2017 12:38:45 +0000 (14:38 +0200)
classes/Notice.php

index 3d9968629a309669eb926d4e49745e3b23e64385..5762de437b9e42cb916295b14bbc2b670915b695 100644 (file)
@@ -315,6 +315,19 @@ class Notice extends Managed_DataObject
         }
     }
 
+    public function getSelfLink()
+    {
+        if ($this->isLocal()) {
+            return common_local_url('ApiStatusesShow', array('id' => $this->getID(), 'format' => 'atom'));
+        }
+
+        if (!common_valid_http_url($this->self)) {
+            throw new InvalidUrlException($this->url);
+        }
+
+        return $this->self;
+    }
+
     public function getObjectType($canonical=false) {
         if (is_null($this->object_type) || $this->object_type==='') {
             throw new NoObjectTypeException($this);
@@ -2064,9 +2077,12 @@ class Notice extends Managed_DataObject
                 }
             }
 
+            try {
+                $act->selfLink = $this->getSelfLink();
+            } catch (InvalidUrlException $e) {
+                $act->selfLink = null;
+            }
             if ($this->isLocal()) {
-                $act->selfLink = common_local_url('ApiStatusesShow', array('id' => $this->id,
-                                                                           'format' => 'atom'));
                 $act->editLink = $act->selfLink;
             }
 
@@ -2164,6 +2180,11 @@ class Notice extends Managed_DataObject
             $object->title   = sprintf('New %1$s by %2$s', ActivityObject::canonicalType($object->type), $this->getProfile()->getNickname());
             $object->content = $this->getRendered();
             $object->link    = $this->getUrl();
+            try {
+                $object->selfLink = $this->getSelfLink();
+            } catch (InvalidUrlException $e) {
+                $object->selfLink = null;
+            }
 
             $object->extra[] = array('status_net', array('notice_id' => $this->id));