use Friendica\App;
use Friendica\Core\Config;
use Friendica\Core\System;
+use Friendica\Module\Hostxrd;
use Friendica\Module\Nodeinfo;
require_once 'mod/hostxrd.php';
if ($a->argc > 1) {
switch ($a->argv[1]) {
case "host-meta":
- hostxrd_init($a);
+ Hostxrd::printHostMeta();
break;
case "x-social-relay":
wk_social_relay();
+++ /dev/null
-<?php
-/**
- * @file mod/hostxrd.php
- */
-use Friendica\App;
-use Friendica\Core\Config;
-use Friendica\Core\Renderer;
-use Friendica\Core\System;
-use Friendica\Protocol\Salmon;
-use Friendica\Util\Crypto;
-
-function hostxrd_init(App $a)
-{
- header('Access-Control-Allow-Origin: *');
- header("Content-type: text/xml");
- $pubkey = Config::get('system', 'site_pubkey');
-
- if (! $pubkey) {
- $res = Crypto::newKeypair(1024);
-
- Config::set('system','site_prvkey', $res['prvkey']);
- Config::set('system','site_pubkey', $res['pubkey']);
- }
-
- $tpl = Renderer::getMarkupTemplate('xrd_host.tpl');
- echo Renderer::replaceMacros($tpl, [
- '$zhost' => $a->getHostName(),
- '$zroot' => System::baseUrl(),
- '$domain' => System::baseUrl(),
- '$bigkey' => Salmon::salmonKey(Config::get('system', 'site_pubkey'))]
- );
-
- exit();
-}
--- /dev/null
+<?php
+
+namespace Friendica\Module;
+
+use Friendica\BaseModule;
+use Friendica\Core\Renderer;
+use Friendica\Protocol\Salmon;
+use Friendica\Util\Crypto;
+
+/**
+ * Prints the host-meta text
+ */
+class Hostxrd extends BaseModule
+{
+ public static function rawContent()
+ {
+ parent::rawContent();
+
+ self::printHostMeta();
+ }
+
+ /**
+ * Prints the host-meta output of this node
+ *
+ * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+ */
+ public static function printHostMeta()
+ {
+ $app = self::getApp();
+ $config = $app->getConfig();
+
+ header("Content-type: text/xml");
+ $pubkey = $config->get('system', 'site_pubkey');
+
+ if (!$pubkey) {
+ $res = Crypto::newKeypair(1024);
+
+ $config->set('system','site_prvkey', $res['prvkey']);
+ $config->set('system','site_pubkey', $res['pubkey']);
+ }
+
+ $tpl = Renderer::getMarkupTemplate('xrd_host.tpl');
+ echo Renderer::replaceMacros($tpl, [
+ '$zhost' => $app->getHostName(),
+ '$zroot' => $app->getBaseURL(),
+ '$domain' => $app->getBaseURL(),
+ '$bigkey' => Salmon::salmonKey($config->get('system', 'site_pubkey'))]
+ );
+
+ exit();
+ }
+}