]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/activitystreamjsondocument.php
Merge branch 'nightly' into 'nightly'
[quix0rs-gnu-social.git] / lib / activitystreamjsondocument.php
index 0466045fef46c059a7e9a65c6bf2a4d47552e88e..11b4e51ec86e0ee863c051fb6bb69bcc1d94001d 100644 (file)
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET'))
-{
-    exit(1);
-}
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 /**
  * A class for generating JSON documents that represent an Activity Streams
@@ -72,7 +69,7 @@ class ActivityStreamJSONDocument extends JSONActivityCollection
      * @param User $cur the current authenticated user
      */
 
-    function __construct($cur = null, $title = null, $items = null, $links = null, $url = null)
+    function __construct($cur = null, $title = null, array $items=[], $links = null, $url = null)
     {
         parent::__construct($items, $url);
 
@@ -175,121 +172,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);
-    }
-}
-