]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/activitystreamjsondocument.php
Merge branch 'beautify_profile_list' into 'nightly'
[quix0rs-gnu-social.git] / lib / activitystreamjsondocument.php
index 9964f1e60c14e550e643e788d2387aca1358b7ff..12c3882c25d444b299293f27544294762719010d 100644 (file)
@@ -54,6 +54,7 @@ class ActivityStreamJSONDocument extends JSONActivityCollection
 
     /* The current authenticated user */
     protected $cur;
+    protected $scoped = null;
 
     /* Title of the document */
     protected $title;
@@ -75,7 +76,8 @@ class ActivityStreamJSONDocument extends JSONActivityCollection
     {
         parent::__construct($items, $url);
 
-        $this->cur = $cur;
+        $this->cur = $cur ?: common_current_user();
+        $this->scoped = !is_null($this->cur) ? $this->cur->getProfile() : null;
 
         /* Title of the JSON document */
         $this->title = $title;
@@ -138,10 +140,8 @@ class ActivityStreamJSONDocument extends JSONActivityCollection
 
     function addItemFromNotice($notice)
     {
-        $cur = empty($this->cur) ? common_current_user() : $this->cur;
-
-        $act          = $notice->asActivity($cur);
-        $act->extra[] = $notice->noticeInfo($cur);
+        $act          = $notice->asActivity($this->scoped);
+        $act->extra[] = $notice->noticeInfo($this->scoped);
         array_push($this->items, $act->asArray());
         $this->count++;
     }
@@ -165,7 +165,7 @@ class ActivityStreamJSONDocument extends JSONActivityCollection
      */
     function asString()
     {
-        $this->doc['generator'] = 'StatusNet ' . STATUSNET_VERSION; // extension
+        $this->doc['generator'] = 'GNU social ' . GNUSOCIAL_VERSION; // extension
         $this->doc['title'] = $this->title;
         $this->doc['url']   = $this->url;
         $this->doc['totalItems'] = $this->count;
@@ -175,121 +175,3 @@ class ActivityStreamJSONDocument extends JSONActivityCollection
     }
 
 }
-
-/**
- * A class for representing MediaLinks in JSON Activities
- *
- * @category Feed
- * @package  StatusNet
- * @author   Zach Copley <zach@status.net>
- * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link     http://status.net/
- */
-
-class ActivityStreamsMediaLink extends ActivityStreamsLink
-{
-    private $linkDict;
-
-    function __construct(
-        $url       = null,
-        $width     = null,
-        $height    = null,
-        $mediaType = null, // extension
-        $rel       = null, // extension
-        $duration  = null
-    )
-    {
-        parent::__construct($url, $rel, $mediaType);
-        $this->linkDict = array(
-            'width'      => intval($width),
-            'height'     => intval($height),
-            'duration'   => intval($duration)
-        );
-    }
-
-    function asArray()
-    {
-        return array_merge(
-            parent::asArray(),
-            array_filter($this->linkDict)
-        );
-    }
-}
-
-/*
- * Collection primarily as the root of an Activity Streams doc but can be used as the value
- * of extension properties in a variety of situations.
- *
- * A valid Collection object serialization MUST contain at least the url or items properties.
- */
-class JSONActivityCollection {
-
-    /* Non-negative integer specifying the total number of activities within the stream */
-    protected $totalItems;
-
-    /* An array containing a listing of Objects of any object type */
-    protected $items;
-
-    /* IRI referencing a JSON document containing the full listing of objects in the collection */
-    protected $url;
-
-    /**
-     * Constructor
-     *
-     * @param array  $items       array of activity items
-     * @param string $url         url of a doc list all the objs in the collection
-     * @param int    $totalItems  total number of items in the collection
-     */
-    function __construct($items = null, $url = null)
-    {
-        $this->items      = empty($items) ? array() : $items;
-        $this->totalItems = count($items);
-        $this->url        = $url;
-    }
-
-    /**
-     * Get the total number of items in the collection
-     *
-     * @return int total the total
-     */
-    public function getTotalItems()
-    {
-        $this->totalItems = count($items);
-        return $this->totalItems;
-    }
-}
-
-/**
- * A class for representing links in JSON Activities
- *
- * @category Feed
- * @package  StatusNet
- * @author   Zach Copley <zach@status.net>
- * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link     http://status.net/
- */
-
-class ActivityStreamsLink
-{
-    private $linkDict;
-
-    function __construct($url = null, $rel = null, $mediaType = null)
-    {
-        // links MUST have a URL
-        if (empty($url)) {
-            throw new Exception('Links must have a URL.');
-        }
-
-        $this->linkDict = array(
-            'url'   => $url,
-            'rel'   => $rel,      // extension
-            'type'  => $mediaType // extension
-        );
-    }
-
-    function asArray()
-    {
-        return array_filter($this->linkDict);
-    }
-}
-