New function to fetch endpoint items
This commit is contained in:
parent
44eebde9cb
commit
b6ab8c9e94
|
@ -191,7 +191,7 @@ class ActivityPub
|
||||||
*/
|
*/
|
||||||
public static function fetchOutbox($url, $uid)
|
public static function fetchOutbox($url, $uid)
|
||||||
{
|
{
|
||||||
$data = self::fetchContent($url);
|
$data = self::fetchContent($url, $uid);
|
||||||
if (empty($data)) {
|
if (empty($data)) {
|
||||||
return;
|
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
|
* Checks if the given contact url does support ActivityPub
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue