]> git.mxchange.org Git - friendica.git/commitdiff
Transform ApiResponse::createXML() into dynamic method
authorPhilipp <admin@philipp.info>
Fri, 12 Nov 2021 18:56:37 +0000 (19:56 +0100)
committerPhilipp <admin@philipp.info>
Fri, 12 Nov 2021 18:56:37 +0000 (19:56 +0100)
src/DI.php
src/Module/Api/ApiResponse.php
tests/legacy/ApiTest.php

index 692d87870d0f6ce905c76cda049eeec6cbfe5940..ead125cff26138f1ef46458ba319f9c72808a38a 100644 (file)
@@ -430,6 +430,15 @@ abstract class DI
                return self::$dice->create(Model\Log\ParsedLogIterator::class);
        }
 
+       //
+       // "Module" namespace
+       //
+
+       public static function apiResponse(): Module\Api\ApiResponse
+       {
+               return self::$dice->create(Module\Api\ApiResponse::class);
+       }
+
        //
        // "Network" namespace
        //
index 768dacb5fb7294be8c82a5ad949dadf7a7998ee8..270185025a0c308bdb8b836410a10126fc18c804 100644 (file)
@@ -40,15 +40,17 @@ class ApiResponse
         *
         * @return string The XML data
         */
-       public static function createXML(array $data, string $root_element): string
+       public function createXML(array $data, string $root_element): string
        {
                $childname = key($data);
                $data2     = array_pop($data);
 
-               $namespaces = ['' => 'http://api.twitter.com',
-                       'statusnet'      => 'http://status.net/schema/api/1/',
-                       'friendica'      => 'http://friendi.ca/schema/api/1/',
-                       'georss'         => 'http://www.georss.org/georss'];
+               $namespaces = [
+                       ''          => 'http://api.twitter.com',
+                       'statusnet' => 'http://status.net/schema/api/1/',
+                       'friendica' => 'http://friendi.ca/schema/api/1/',
+                       'georss'    => 'http://www.georss.org/georss'
+               ];
 
                /// @todo Auto detection of needed namespaces
                if (in_array($root_element, ['ok', 'hash', 'config', 'version', 'ids', 'notes', 'photos'])) {
@@ -91,7 +93,7 @@ class ApiResponse
                        case 'atom':
                        case 'rss':
                        case 'xml':
-                               $ret = static::createXML($data, $root_element);
+                               $ret = DI::apiResponse()->createXML($data, $root_element);
                                break;
                        case 'json':
                        default:
index 4ea5c784a61760457b91963cdedaa607d23e4a87..c5d28f2d52509e22650368381fe9e2676b55f4ce 100644 (file)
@@ -1114,7 +1114,7 @@ class ApiTest extends FixtureTest
                        'xmlns:georss="http://www.georss.org/georss">' . "\n" .
                        '  <data>some_data</data>' . "\n" .
                        '</root_element>' . "\n",
-                       ApiResponse::createXML(['data' => ['some_data']], 'root_element')
+                       DI::apiResponse()->createXML(['data' => ['some_data']], 'root_element')
                );
        }
 
@@ -1130,7 +1130,7 @@ class ApiTest extends FixtureTest
                        '<ok>' . "\n" .
                        '  <data>some_data</data>' . "\n" .
                        '</ok>' . "\n",
-                       ApiResponse::createXML(['data' => ['some_data']], 'ok')
+                       DI::apiResponse()->createXML(['data' => ['some_data']], 'ok')
                );
        }