public static function storeReceivers(int $uriid, array $receivers)
{
foreach (['as:to' => Tag::TO, 'as:cc' => Tag::CC, 'as:bto' => Tag::BTO, 'as:bcc' => Tag::BCC, 'as:audience' => Tag::AUDIENCE, 'as:attributedTo' => Tag::ATTRIBUTED] as $element => $type) {
- if (!empty($receivers[$element])) {
- foreach ($receivers[$element] as $receiver) {
- if ($receiver == ActivityPub::PUBLIC_COLLECTION) {
- $name = Receiver::PUBLIC_COLLECTION;
- } elseif ($path = parse_url($receiver, PHP_URL_PATH)) {
- $name = trim($path, '/');
- } elseif ($host = parse_url($receiver, PHP_URL_HOST)) {
- $name = $host;
- } else {
- Logger::warning('Unable to coerce name from receiver', ['element' => $element, 'type' => $type, 'receiver' => $receiver]);
- $name = '';
- }
-
- $target = Tag::getTargetType($receiver);
- Logger::debug('Got target type', ['type' => $target, 'url' => $receiver]);
- Tag::store($uriid, $type, $name, $receiver, $target);
+ foreach ($receivers[$element] ?? [] as $receiver) {
+ if ($receiver == ActivityPub::PUBLIC_COLLECTION) {
+ $name = Receiver::PUBLIC_COLLECTION;
+ } elseif ($path = parse_url($receiver, PHP_URL_PATH)) {
+ $name = trim($path, '/');
+ } elseif ($host = parse_url($receiver, PHP_URL_HOST)) {
+ $name = $host;
+ } else {
+ Logger::warning('Unable to coerce name from receiver', ['element' => $element, 'type' => $type, 'receiver' => $receiver]);
+ $name = '';
}
+
+ $target = Tag::getTargetType($receiver);
+ Logger::debug('Got target type', ['type' => $target, 'url' => $receiver]);
+ Tag::store($uriid, $type, $name, $receiver, $target);
}
}
}
private static function storeCapabilities(int $uriid, array $capabilities)
{
foreach (['pixelfed:canAnnounce' => Tag::CAN_ANNOUNCE, 'pixelfed:canLike' => Tag::CAN_LIKE, 'pixelfed:canReply' => Tag::CAN_REPLY] as $element => $type) {
- if (!empty($capabilities[$element])) {
- foreach ($capabilities[$element] as $capability) {
- if ($capability == ActivityPub::PUBLIC_COLLECTION) {
- $name = Receiver::PUBLIC_COLLECTION;
- } elseif (empty($capability) || ($capability == '[]')) {
- continue;
- } elseif ($path = parse_url($capability, PHP_URL_PATH)) {
- $name = trim($path, '/');
- } elseif ($host = parse_url($capability, PHP_URL_HOST)) {
- $name = $host;
- } else {
- Logger::warning('Unable to coerce name from capability', ['element' => $element, 'type' => $type, 'capability' => $capability]);
- $name = '';
- }
- Tag::store($uriid, $type, $name, $capability);
+ foreach ($capabilities[$element] ?? [] as $capability) {
+ if ($capability == ActivityPub::PUBLIC_COLLECTION) {
+ $name = Receiver::PUBLIC_COLLECTION;
+ } elseif (empty($capability) || ($capability == '[]')) {
+ continue;
+ } elseif ($path = parse_url($capability, PHP_URL_PATH)) {
+ $name = trim($path, '/');
+ } elseif ($host = parse_url($capability, PHP_URL_HOST)) {
+ $name = $host;
+ } else {
+ Logger::warning('Unable to coerce name from capability', ['element' => $element, 'type' => $type, 'capability' => $capability]);
+ $name = '';
}
+ Tag::store($uriid, $type, $name, $capability);
}
}
}