]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fix JSON error when comment has no reactions 35245/head
authorJoas Schilling <coding@schilljs.com>
Fri, 6 May 2022 08:35:17 +0000 (10:35 +0200)
committerJoas Schilling <coding@schilljs.com>
Fri, 18 Nov 2022 10:13:54 +0000 (11:13 +0100)
Signed-off-by: Joas Schilling <coding@schilljs.com>
lib/private/Comments/Manager.php

index abbe4c66c953912b24829f988b1ac4eb67da30ed..aca0cd9c6d82bb5379995d8445c195ce563a1427 100644 (file)
@@ -109,18 +109,24 @@ class Manager implements ICommentsManager {
                $data['children_count'] = (int)$data['children_count'];
                $data['reference_id'] = $data['reference_id'] ?? null;
                if ($this->supportReactions()) {
-                       $list = json_decode($data['reactions'], true);
-                       // Ordering does not work on the database with group concat and Oracle,
-                       // So we simply sort on the output.
-                       if (is_array($list)) {
-                               uasort($list, static function ($a, $b) {
-                                       if ($a === $b) {
-                                               return 0;
-                                       }
-                                       return ($a > $b) ? -1 : 1;
-                               });
+                       if ($data['reactions'] !== null) {
+                               $list = json_decode($data['reactions'], true);
+                               // Ordering does not work on the database with group concat and Oracle,
+                               // So we simply sort on the output.
+                               if (is_array($list)) {
+                                       uasort($list, static function ($a, $b) {
+                                               if ($a === $b) {
+                                                       return 0;
+                                               }
+                                               return ($a > $b) ? -1 : 1;
+                                       });
+                                       $data['reactions'] = $list;
+                               } else {
+                                       $data['reactions'] = [];
+                               }
+                       } else {
+                               $data['reactions'] = [];
                        }
-                       $data['reactions'] = $list;
                }
                return $data;
        }