'(:all)reply-comment.json', 'method' => 'POST', 'action' => function () { $json = file_get_contents('php://input'); $data = json_decode($json); $page = page($data->pageUri); $file = $page->file($data->fileName); $user = kirby()->user($data->userUuid); $comments = $file->comments()->isEmpty() == true ? [] : Yaml::decode($file->comments()->value()); $data = [ 'page' => $page, 'parentId' => $data->parentId, 'file' => $file, 'position' => [ 'pageIndex' => $data->position->pageIndex, ], 'text' => $data->text, 'author' => $user, 'date' => (string) $data->date, 'id' => $data->id, 'type' => 'comment' ]; $newReply = new Reply($data); foreach ($comments as &$comment) { if ($comment['id'] === $newReply->parentId()) { $comment['replies'][] = $newReply->toArray(); } } $newFile = $file->update([ 'comments' => $comments ]); $user->sendNotification($page->parent(), $newReply->toArray()); return getFileData($newFile); } ];