use wcf\data\conversation\label\ConversationLabel;
use wcf\data\conversation\label\ConversationLabelList;
+use wcf\system\cache\runtime\ConversationMessageRuntimeCache;
use wcf\system\cache\runtime\UserProfileRuntimeCache;
use wcf\system\database\util\PreparedStatementConditionBuilder;
use wcf\system\WCF;
$labels = $this->loadLabelAssignments();
- $userIDs = [];
+ $userIDs = $messageIDs = [];
foreach ($this->objects as $conversationID => $conversation) {
if (isset($labels[$conversationID])) {
foreach ($labels[$conversationID] as $label) {
if ($conversation->lastPosterID) {
$userIDs[] = $conversation->lastPosterID;
}
+
+ if ($conversation->firstMessageID) {
+ $messageIDs[] = $conversation->firstMessageID;
+ }
}
- if (!empty($userIDs)) {
+ if ($userIDs !== []) {
UserProfileRuntimeCache::getInstance()->cacheObjectIDs($userIDs);
}
+ if ($messageIDs !== []) {
+ ConversationMessageRuntimeCache::getInstance()->cacheObjectIDs($userIDs);
+ }
}
}