aboutsummaryrefslogtreecommitdiff
path: root/mod/messages/pages/messages/read.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/messages/pages/messages/read.php')
-rw-r--r--mod/messages/pages/messages/read.php12
1 files changed, 8 insertions, 4 deletions
diff --git a/mod/messages/pages/messages/read.php b/mod/messages/pages/messages/read.php
index 310485ee2..4223c6bac 100644
--- a/mod/messages/pages/messages/read.php
+++ b/mod/messages/pages/messages/read.php
@@ -8,10 +8,13 @@
gatekeeper();
$message = get_entity(get_input('guid'));
-if (!$message) {
- forward();
+if (!$message || !elgg_instanceof($message, "object", "messages")) {
+ forward('messages/inbox/' . elgg_get_logged_in_user_entity()->username);
}
+// mark the message as read
+$message->readYet = true;
+
elgg_set_page_owner_guid($message->getOwnerGUID());
$page_owner = elgg_get_page_owner_entity();
@@ -35,8 +38,9 @@ if ($inbox) {
);
$body_params = array('message' => $message);
$content .= elgg_view_form('messages/reply', $form_params, $body_params);
-
- if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) {
+ $from_user = get_user($message->fromId);
+
+ if ((elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) && $from_user) {
elgg_register_menu_item('title', array(
'name' => 'reply',
'href' => '#messages-reply-form',