X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FModule%2FXrd.php;h=249c143ffbd7168fd2ee901e8c67e66b4d9aba90;hb=f2adec6a7f5a7f36026dea9189a545e2466e1610;hp=ae020d35546add6ee2b72c823960c76dbea50b56;hpb=d8ed2ed76d94747a4e11801910d1f9afe913d942;p=friendica.git diff --git a/src/Module/Xrd.php b/src/Module/Xrd.php index ae020d3554..249c143ffb 100644 --- a/src/Module/Xrd.php +++ b/src/Module/Xrd.php @@ -1,14 +1,34 @@ . + * + */ namespace Friendica\Module; use Friendica\BaseModule; use Friendica\Core\Hook; -use Friendica\Database\DBA; use Friendica\Core\Renderer; -use Friendica\Core\System; -use Friendica\Model\User; +use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Photo; +use Friendica\Model\User; +use Friendica\Protocol\ActivityNamespace; use Friendica\Protocol\Salmon; use Friendica\Util\Strings; @@ -17,9 +37,9 @@ use Friendica\Util\Strings; */ class Xrd extends BaseModule { - public static function rawContent() + public static function rawContent(array $parameters = []) { - $app = self::getApp(); + $app = DI::app(); // @TODO: Replace with parameter from router if ($app->argv[0] == 'xrd') { @@ -28,7 +48,7 @@ class Xrd extends BaseModule } $uri = urldecode(Strings::escapeTags(trim($_GET['uri']))); - if (defaults($_SERVER, 'HTTP_ACCEPT', '') == 'application/jrd+json') { + if (($_SERVER['HTTP_ACCEPT'] ?? '') == 'application/jrd+json') { $mode = 'json'; } else { $mode = 'xml'; @@ -39,7 +59,7 @@ class Xrd extends BaseModule } $uri = urldecode(Strings::escapeTags(trim($_GET['resource']))); - if (defaults($_SERVER, 'HTTP_ACCEPT', '') == 'application/xrd+xml') { + if (($_SERVER['HTTP_ACCEPT'] ?? '') == 'application/xrd+xml') { $mode = 'xml'; } else { $mode = 'json'; @@ -65,6 +85,11 @@ class Xrd extends BaseModule $owner = User::getOwnerDataById($user['uid']); + if (empty($owner)) { + DI::logger()->warning('No owner data for user id', ['uri' => $uri, 'name' => $name, 'user' => $user]); + throw new \Friendica\Network\HTTPException\NotFoundException(); + } + $alias = str_replace('/profile/', '/~', $owner['url']); $avatar = Photo::selectFirst(['type'], ['uid' => $owner['uid'], 'profile' => true]); @@ -74,9 +99,9 @@ class Xrd extends BaseModule } if ($mode == 'xml') { - self::printXML($alias, $app->getBaseURL(), $user, $owner, $avatar); + self::printXML($alias, DI::baseUrl()->get(), $user, $owner, $avatar); } else { - self::printJSON($alias, $app->getBaseURL(), $owner, $avatar); + self::printJSON($alias, DI::baseUrl()->get(), $owner, $avatar); } } @@ -95,11 +120,11 @@ class Xrd extends BaseModule ], 'links' => [ [ - 'rel' => NAMESPACE_DFRN, + 'rel' => ActivityNamespace::DFRN , 'href' => $owner['url'], ], [ - 'rel' => NAMESPACE_FEED, + 'rel' => ActivityNamespace::FEED, 'type' => 'application/atom+xml', 'href' => $owner['poll'], ], @@ -119,7 +144,7 @@ class Xrd extends BaseModule 'href' => $baseURL . '/hcard/' . $owner['nickname'], ], [ - 'rel' => NAMESPACE_POCO, + 'rel' => ActivityNamespace::POCO, 'href' => $owner['poco'], ], [