]> git.mxchange.org Git - friendica.git/commitdiff
refactor Nodeinfo for more strait implementation
authorPhilipp Holzer <admin@philipp.info>
Wed, 1 May 2019 16:42:44 +0000 (18:42 +0200)
committerPhilipp Holzer <admin@philipp.info>
Wed, 1 May 2019 16:43:06 +0000 (18:43 +0200)
src/Module/NodeInfo.php

index 7fad79fd3957ec112205e488a0a47cf8ed02f28e..c8d75b8e16f0ffa45a7d0e971a33465217e554c5 100644 (file)
@@ -13,14 +13,37 @@ use Friendica\Core\System;
  */
 class NodeInfo extends BaseModule
 {
+       public static function init()
+       {
+               $config = self::getApp()->getConfig();
+
+               if (!$config->get('system', 'nodeinfo')) {
+                       System::httpExit(404);
+               }
+       }
+
+       public static function rawContent()
+       {
+               $app = self::getApp();
+
+               // @TODO: Replace with parameter from router
+               // if the first argument is ".well-known", print the well-known text
+               if (($app->argc > 1) && ($app->argv[0] == '.well-known')) {
+                       self::printWellKnown($app);
+               // otherwise print the nodeinfo
+               } else {
+                       self::printNodeInfo($app);
+               }
+       }
+
        /**
-        * Prints the Nodeinfo for a well-known request
+        * Prints the well-known nodeinfo redirect
         *
         * @param App $app
         *
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public static function printWellKnown(App $app)
+       private static function printWellKnown(App $app)
        {
                $config = $app->getConfig();
 
@@ -39,24 +62,15 @@ class NodeInfo extends BaseModule
                exit;
        }
 
-       public static function init()
+       /**
+        * Print the nodeinfo
+        *
+        * @param App $app
+        */
+       private static function printNodeInfo(App $app)
        {
-               $app = self::getApp();
                $config = $app->getConfig();
 
-               if (!$config->get('system', 'nodeinfo')) {
-                       System::httpExit(404);
-               }
-
-               if (($app->argc != 2) || ($app->argv[1] != '1.0')) {
-                       self::printWellKnown($app);
-               }
-       }
-
-       public static function rawContent()
-       {
-               $config = self::getApp()->getConfig();
-
                $smtp = (function_exists('imap_open') && !$config->get('system', 'imap_disabled') && !$config->get('system', 'dfrn_only'));
 
                $nodeinfo = [