]> git.mxchange.org Git - friendica.git/commitdiff
Add logging and default value when JSON encode->decode fails in JsonLD::compact
authorHypolite Petovan <hypolite@mrpetovan.com>
Mon, 19 Dec 2022 15:22:05 +0000 (10:22 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Mon, 19 Dec 2022 15:22:05 +0000 (10:22 -0500)
- Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1357768936

src/Util/JsonLD.php

index 25ce74fcc7c1c044cebc7843f953e361e0a4baac..51d15cb10afa93f9b844c05a54267feb1d6c76e1 100644 (file)
@@ -140,7 +140,7 @@ class JsonLD
         * @return array Compacted JSON array
         * @throws Exception
         */
-       public static function compact($json, bool $logfailed = true)
+       public static function compact($json, bool $logfailed = true): array
        {
                jsonld_set_document_loader('Friendica\Util\JsonLD::documentLoader');
 
@@ -203,6 +203,11 @@ class JsonLD
 
                $json = json_decode(json_encode($compacted, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE), true);
 
+               if ($json === false) {
+                       Logger::notice('JSON encode->decode failed', ['orig_json' => $orig_json, 'compacted' => $compacted]);
+                       $json = [];
+               }
+
                return $json;
        }