gnu-social/lib/activitystreams/jsonactivitycollection.php

46 lines
1.3 KiB
PHP
Raw Permalink Normal View History

2015-09-09 15:29:58 +01:00
<?php
if (!defined('GNUSOCIAL')) { exit(1); }
2015-09-09 15:29:58 +01:00
/*
* 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(array $items=[], $url = null)
2015-09-09 15:29:58 +01:00
{
$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;
}
}