Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
pull/1748/head
Maxence Lange 2023-06-15 14:35:42 -01:00 zatwierdzone przez Louis Chemineau
rodzic bea293487e
commit acceb582ed
4 zmienionych plików z 123 dodań i 1424 usunięć

Wyświetl plik

@ -27,6 +27,9 @@
"friendica/json-ld": "^1.0", "friendica/json-ld": "^1.0",
"kornrunner/blurhash": "^1.2" "kornrunner/blurhash": "^1.2"
}, },
"replace": {
"symfony/console": "*"
},
"require-dev": { "require-dev": {
"phpunit/phpunit": "^9.5", "phpunit/phpunit": "^9.5",
"nextcloud/coding-standard": "^1.0.0", "nextcloud/coding-standard": "^1.0.0",
@ -49,4 +52,4 @@
"url": "https://git.friendi.ca/friendica/php-json-ld" "url": "https://git.friendi.ca/friendica/php-json-ld"
} }
] ]
} }

1524
composer.lock wygenerowano

Plik diff jest za duży Load Diff

Wyświetl plik

@ -142,7 +142,7 @@ class StreamRequestBuilder extends CoreRequestBuilder {
protected function timelineHomeLinkCacheActor( protected function timelineHomeLinkCacheActor(
SocialQueryBuilder $qb, string $alias = 'ca', string $aliasFollow = 'f' SocialQueryBuilder $qb, string $alias = 'ca', string $aliasFollow = 'f'
) { ) {
$qb->linkToCacheActors($alias, 'attributed_to_prim'); $qb->linkToCacheActors($alias, 's.attributed_to_prim');
$expr = $qb->expr(); $expr = $qb->expr();
$orX = $expr->orX(); $orX = $expr->orX();

Wyświetl plik

@ -38,6 +38,7 @@ use OCP\AppFramework\Http;
use OCP\Http\WellKnown\IHandler; use OCP\Http\WellKnown\IHandler;
use OCP\Http\WellKnown\IRequestContext; use OCP\Http\WellKnown\IRequestContext;
use OCP\Http\WellKnown\IResponse; use OCP\Http\WellKnown\IResponse;
use OCP\IRequest;
use OCP\IURLGenerator; use OCP\IURLGenerator;
class WebfingerHandler implements IHandler { class WebfingerHandler implements IHandler {
@ -111,7 +112,7 @@ class WebfingerHandler implements IHandler {
* @return IResponse|null * @return IResponse|null
*/ */
public function handleWebfinger(IRequestContext $context, ?IResponse $previousResponse): ?IResponse { public function handleWebfinger(IRequestContext $context, ?IResponse $previousResponse): ?IResponse {
$subject = $context->getHttpRequest()->getParam('resource') ?? ''; $subject = $this->getSubjectFromRequest($context->getHttpRequest());
if (str_starts_with($subject, 'acct:')) { if (str_starts_with($subject, 'acct:')) {
$subject = substr($subject, 5); $subject = substr($subject, 5);
} }
@ -222,4 +223,17 @@ class WebfingerHandler implements IHandler {
return $response; return $response;
} }
private function getSubjectFromRequest(IRequest $request): string {
$subject = $request->getParam('resource') ?? '';
if ($subject !== '') {
return $subject;
}
// work around to extract resource:
// on some setup (i.e. tests) the data are not available from IRequest
parse_str(parse_url($request->getRequestUri(), PHP_URL_QUERY), $query);
return $query['resource'] ?? '';
}
} }