Skip to content

Commit 8c5cc12

Browse files
Cyperghostdtdesign
authored andcommitted
Handle guest objects
1 parent 1b83209 commit 8c5cc12

File tree

4 files changed

+7
-3
lines changed

4 files changed

+7
-3
lines changed

ts/WoltLabSuite/Core/Api/Messages/RenderQuote.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { ApiResult, apiResultFromError, apiResultFromValue } from "../Result";
1313

1414
type Response = {
1515
objectID: number;
16-
authorID: number;
16+
authorID: number | null;
1717
author: string;
1818
time: string;
1919
link: string;

ts/WoltLabSuite/Core/Component/Quote/List.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,9 @@ class QuoteList {
9090
</div>
9191
</article>`);
9292

93+
// TODO dont query the DOM
9394
fragment.querySelectorAll<HTMLButtonElement>(".jsInsertQuote").forEach((button) => {
9495
button.addEventListener("click", () => {
95-
// TODO dont query the DOM
9696
// TODO use rawMessage to insert if available otherwise use message
9797
dispatchToCkeditor(this.#editor).insertQuote({
9898
author: message.author,

ts/WoltLabSuite/Core/Component/Quote/Storage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ interface Message {
1818
time: string;
1919
title: string;
2020
link: string;
21-
authorID: number;
21+
authorID: number | null;
2222
author: string;
2323
avatar: string;
2424
}

wcfsetup/install/files/lib/system/endpoint/controller/core/messages/RenderQuote.class.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Psr\Http\Message\ServerRequestInterface;
88
use wcf\data\IEmbeddedMessageObject;
99
use wcf\data\IMessage;
10+
use wcf\data\user\UserProfile;
1011
use wcf\http\Helper;
1112
use wcf\system\cache\runtime\UserProfileRuntimeCache;
1213
use wcf\system\endpoint\GetRequest;
@@ -34,6 +35,9 @@ public function __invoke(ServerRequestInterface $request, array $variables): Res
3435
\assert($object instanceof IMessage);
3536

3637
$userProfile = UserProfileRuntimeCache::getInstance()->getObject($object->getUserID());
38+
if ($userProfile === null) {
39+
$userProfile = UserProfile::getGuestUserProfile($object->getUsername());
40+
}
3741

3842
if ($object instanceof IEmbeddedMessageObject) {
3943
$object->loadEmbeddedObjects();

0 commit comments

Comments
 (0)