X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FModule%2FNodeInfo120.php;h=34880c4e3885662bd6421b4e34149107905a1ae0;hb=99284222c1d7fb4adca9077e3057faf3b36f7180;hp=330c5e10d5f160ef80c83f14e7dcf56864021f96;hpb=27deb4d188d2a250c15e5df21c849ce114089105;p=friendica.git diff --git a/src/Module/NodeInfo120.php b/src/Module/NodeInfo120.php index 330c5e10d5..34880c4e38 100644 --- a/src/Module/NodeInfo120.php +++ b/src/Module/NodeInfo120.php @@ -1,6 +1,6 @@ get('system', 'imap_disabled') && !$config->get('system', 'dfrn_only')); + $this->config = $config; + } + protected function rawContent(array $request = []) + { $nodeinfo = [ - 'version' => '2.0', - 'software' => [ + 'version' => '2.0', + 'software' => [ 'name' => 'friendica', - 'version' => FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, + 'version' => App::VERSION . '-' . DB_UPDATE_VERSION, ], 'protocols' => ['dfrn', 'activitypub'], - 'services' => [], - 'usage' => [], - 'openRegistrations' => intval($config->get('config', 'register_policy')) !== Register::CLOSED, + 'services' => Nodeinfo::getServices(), + 'usage' => Nodeinfo::getUsage(), + 'openRegistrations' => intval($this->config->get('config', 'register_policy')) !== Register::CLOSED, 'metadata' => [ - 'nodeName' => $config->get('config', 'sitename'), + 'nodeName' => $this->config->get('config', 'sitename'), ], ]; - if (!empty($config->get('system', 'diaspora_enabled'))) { + if (!empty($this->config->get('system', 'diaspora_enabled'))) { $nodeinfo['protocols'][] = 'diaspora'; } - if (empty($config->get('system', 'ostatus_disabled'))) { + if (empty($this->config->get('system', 'ostatus_disabled'))) { $nodeinfo['protocols'][] = 'ostatus'; } - $nodeinfo['usage'] = Nodeinfo::getUsage(); - - $nodeinfo['services'] = Nodeinfo::getServices(); - if (Addon::isEnabled('twitter')) { $nodeinfo['services']['inbound'][] = 'twitter'; } @@ -73,14 +80,13 @@ class NodeInfo120 extends BaseModule $nodeinfo['services']['inbound'][] = 'rss2.0'; $nodeinfo['services']['outbound'][] = 'atom1.0'; - if ($imap) { + if (function_exists('imap_open') && !$this->config->get('system', 'imap_disabled')) { $nodeinfo['services']['inbound'][] = 'imap'; } - $nodeinfo['metadata']['explicitContent'] = $config->get('system', 'explicit_content', false) == true; + $nodeinfo['metadata']['explicitContent'] = $this->config->get('system', 'explicit_content', false) == true; - header('Content-type: application/json; charset=utf-8'); - echo json_encode($nodeinfo, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - exit; + $this->response->setType(ICanCreateResponses::TYPE_JSON, 'application/json; charset=utf-8'); + $this->response->addContent(json_encode($nodeinfo, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); } }