From 4b83d627506486b108cbc42034fa19b7469027f2 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Wed, 9 Sep 2015 16:29:58 +0200 Subject: [PATCH] Split classes into their own files --- lib/activitystreamjsondocument.php | 118 ----------------------------- lib/activitystreamslink.php | 35 +++++++++ lib/activitystreamsmedialink.php | 41 ++++++++++ lib/jsonactivitycollection.php | 44 +++++++++++ 4 files changed, 120 insertions(+), 118 deletions(-) create mode 100644 lib/activitystreamslink.php create mode 100644 lib/activitystreamsmedialink.php create mode 100644 lib/jsonactivitycollection.php diff --git a/lib/activitystreamjsondocument.php b/lib/activitystreamjsondocument.php index 0466045fef..12c3882c25 100644 --- a/lib/activitystreamjsondocument.php +++ b/lib/activitystreamjsondocument.php @@ -175,121 +175,3 @@ class ActivityStreamJSONDocument extends JSONActivityCollection } } - -/** - * A class for representing MediaLinks in JSON Activities - * - * @category Feed - * @package StatusNet - * @author Zach Copley - * @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 - * @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); - } -} - diff --git a/lib/activitystreamslink.php b/lib/activitystreamslink.php new file mode 100644 index 0000000000..2c91deda0e --- /dev/null +++ b/lib/activitystreamslink.php @@ -0,0 +1,35 @@ + + * @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); + } +} diff --git a/lib/activitystreamsmedialink.php b/lib/activitystreamsmedialink.php new file mode 100644 index 0000000000..c8612afc85 --- /dev/null +++ b/lib/activitystreamsmedialink.php @@ -0,0 +1,41 @@ + + * @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) + ); + } +} diff --git a/lib/jsonactivitycollection.php b/lib/jsonactivitycollection.php new file mode 100644 index 0000000000..1d1b482e04 --- /dev/null +++ b/lib/jsonactivitycollection.php @@ -0,0 +1,44 @@ +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; + } +} -- 2.39.5