Commit | Line | Data |
---|---|---|
9544b6b4 | 1 | <?php |
fea86294 | 2 | |
9544b6b4 | 3 | namespace wcf\data\conversation\message; |
fea86294 | 4 | |
232cdc4b | 5 | use wcf\data\DatabaseObjectDecorator; |
fea86294 | 6 | use wcf\data\user\UserProfile; |
95ed3132 | 7 | use wcf\system\cache\runtime\UserProfileRuntimeCache; |
9544b6b4 | 8 | |
db864366 MS |
9 | /** |
10 | * Represents a viewable conversation message. | |
fea86294 TD |
11 | * |
12 | * @author Marcel Werk | |
13 | * @copyright 2001-2019 WoltLab GmbH | |
14 | * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php> | |
15 | * @package WoltLabSuite\Core\Data\Conversation\Message | |
16 | * | |
17 | * @method ConversationMessage getDecoratedObject() | |
18 | * @mixin ConversationMessage | |
db864366 | 19 | */ |
fea86294 TD |
20 | class ViewableConversationMessage extends DatabaseObjectDecorator |
21 | { | |
fea86294 TD |
22 | /** |
23 | * @inheritDoc | |
24 | */ | |
25 | protected static $baseClass = ConversationMessage::class; | |
26 | ||
27 | /** | |
28 | * user profile object | |
29 | * @var UserProfile | |
30 | */ | |
31 | protected $userProfile; | |
32 | ||
33 | /** | |
34 | * Returns the user profile object. | |
35 | * | |
36 | * @return UserProfile | |
37 | */ | |
38 | public function getUserProfile() | |
39 | { | |
40 | if ($this->userProfile === null) { | |
41 | if ($this->userID) { | |
42 | $this->userProfile = UserProfileRuntimeCache::getInstance()->getObject($this->userID); | |
43 | } else { | |
44 | $this->userProfile = UserProfile::getGuestUserProfile($this->username); | |
45 | } | |
46 | } | |
47 | ||
48 | return $this->userProfile; | |
49 | } | |
50 | ||
51 | /** | |
52 | * Returns the viewable conversation message with the given id. | |
53 | * | |
c85e9df8 | 54 | * @param int $messageID |
fea86294 TD |
55 | * @return ViewableConversationMessage |
56 | */ | |
57 | public static function getViewableConversationMessage($messageID) | |
58 | { | |
59 | $messageList = new ViewableConversationMessageList(); | |
60 | $messageList->setObjectIDs([$messageID]); | |
61 | $messageList->readObjects(); | |
62 | ||
63 | return $messageList->search($messageID); | |
64 | } | |
78fd78a7 | 65 | } |