forked from GNUsocial/gnu-social
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…
x
Reference in New Issue
Block a user