Split classes into their own files

This commit is contained in:
Mikael Nordfeldth 2015-09-09 16:29:58 +02:00
parent a541533e04
commit 4b83d62750
4 changed files with 120 additions and 118 deletions

View File

@ -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);
}
}

View File

@ -0,0 +1,35 @@
<?php
/**
* 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);
}
}

View File

@ -0,0 +1,41 @@
<?php
/**
* 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)
);
}
}

View File

@ -0,0 +1,44 @@
<?php
/*
* 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;
}
}