New function to fetch endpoint items
This commit is contained in:
parent
44eebde9cb
commit
b6ab8c9e94
1 changed files with 32 additions and 1 deletions
|
@ -191,7 +191,7 @@ class ActivityPub
|
|||
*/
|
||||
public static function fetchOutbox($url, $uid)
|
||||
{
|
||||
$data = self::fetchContent($url);
|
||||
$data = self::fetchContent($url, $uid);
|
||||
if (empty($data)) {
|
||||
return;
|
||||
}
|
||||
|
@ -213,6 +213,37 @@ class ActivityPub
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch items from AP endpoints
|
||||
*
|
||||
* @param string $url Address of the endpoint
|
||||
* @param integer $uid Optional user id
|
||||
* @return array Endpoint items
|
||||
*/
|
||||
public static function fetchItems(string $url, int $uid = 0)
|
||||
{
|
||||
$data = self::fetchContent($url, $uid);
|
||||
if (empty($data)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if (!empty($data['orderedItems'])) {
|
||||
$items = $data['orderedItems'];
|
||||
} elseif (!empty($data['first']['orderedItems'])) {
|
||||
$items = $data['first']['orderedItems'];
|
||||
} elseif (!empty($data['first'])) {
|
||||
return self::fetchItems($data['first'], $uid);
|
||||
} else {
|
||||
$items = [];
|
||||
}
|
||||
|
||||
if (!empty($data['next'])) {
|
||||
$items = array_merge($items, self::fetchItems($data['next'], $uid));
|
||||
}
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the given contact url does support ActivityPub
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue