Split classes into their own files
This commit is contained in:
parent
a541533e04
commit
4b83d62750
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
35
lib/activitystreamslink.php
Normal file
35
lib/activitystreamslink.php
Normal 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);
|
||||
}
|
||||
}
|
41
lib/activitystreamsmedialink.php
Normal file
41
lib/activitystreamsmedialink.php
Normal 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)
|
||||
);
|
||||
}
|
||||
}
|
44
lib/jsonactivitycollection.php
Normal file
44
lib/jsonactivitycollection.php
Normal 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;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user