Skip to content
This repository was archived by the owner on Apr 22, 2024. It is now read-only.

Commit 150aa36

Browse files
authored
Merge pull request #1993 from aembler/hotfix/private-messages
Fixing error marking a message as read; fixing error with reply disclosing too much.
2 parents bb957f1 + 385c006 commit 150aa36

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

web/concrete/core/controllers/single_pages/profile/messages.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,16 @@ public function reply($boxID, $msgID) {
123123
$msg = UserPrivateMessage::getByID($msgID);
124124
$uID = $msg->getMessageRelevantUserID();
125125
$this->validateUser($uID);
126+
127+
// Make sure we are allowed to view this
128+
$viewingUser = new User();
129+
$viewingUserInfo = UserInfo::getByID($viewingUser->getUserID());
130+
$isSentToUser = (int) $msg->getMessageUserToID() == (int) $viewingUserInfo->getUserID();
131+
if (!$isSentToUser && !$viewingUserInfo->canReadPrivateMessage($msg)) {
132+
$this->redirect('/profile/messages');
133+
return;
134+
}
135+
126136
$this->set('backURL', View::url('/profile/messages', 'view_message', $boxID, $msgID));
127137
$this->set('msgID', $msgID);
128138
$this->set('box', $boxID);

web/concrete/core/models/user_private_message.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public function markAsRead() {
7474
$db = Loader::db();
7575
if ($this->uID != $this->uAuthorID) {
7676
Events::fire('on_private_message_marked_as_read', $this);
77-
$db->Execute('update UserPrivateMessagesTo set msgIsUnread = 0 where msgID = ?', array($this->msgID, $this->msgMailboxID, $this->uID));
77+
$db->Execute('update UserPrivateMessagesTo set msgIsUnread = 0 where msgID = ?', array($this->msgID));
7878
}
7979
}
8080

0 commit comments

Comments
 (0)