aboutsummaryrefslogtreecommitdiff
path: root/mod/messages/read.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/messages/read.php')
-rw-r--r--mod/messages/read.php64
1 files changed, 64 insertions, 0 deletions
diff --git a/mod/messages/read.php b/mod/messages/read.php
new file mode 100644
index 000000000..f09bd116f
--- /dev/null
+++ b/mod/messages/read.php
@@ -0,0 +1,64 @@
+<?php
+
+ /**
+ * Elgg read a message page
+ *
+ * @package ElggMessages
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.com/
+ */
+
+ // Load Elgg engine
+ require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+
+ // If we're not logged in, forward to the front page
+ gatekeeper();
+
+ $mbox_type = get_input('type', 'inbox');
+
+ // Get the full message object to read
+ $message = get_entity(get_input("message"));
+
+ // If no message, must have been deleted, send user to inbox/sent mail
+ if (!$message) {
+ $owner = get_loggedin_user();
+ if ($mbox_type == 'sent') {
+ forward("mod/messages/sent.php");
+ } else {
+ forward("pg/messages/{$owner->username}");
+ }
+ }
+
+ // If the message is being read from the inbox, mark it as read, otherwise don't.
+ // This stops a user who checks out a message they have sent having it being marked
+ // as read for the recipient
+ if(get_input('type') != "sent"){
+
+ // Mark the message as being read now
+ if ($message->getSubtype() == "messages") {
+
+ //set the message metadata to 1 which equals read
+ $message->readYet = 1;
+
+ }
+
+ }
+
+ // Get the logged in user
+ $page_owner = $_SESSION['user'];
+ set_page_owner($page_owner->getGUID());
+
+ // Display it
+ $area2 = elgg_view("messages/messages",array(
+ 'entity' => $message,
+ 'entity_owner' => $page_owner,
+ 'full' => true
+ ));
+ $body = elgg_view_layout("two_column_left_sidebar", '', $area2);
+
+ // Display page
+ page_draw(sprintf(elgg_echo('messages:message')),$body);
+
+?> \ No newline at end of file