aboutsummaryrefslogtreecommitdiff
path: root/mod/messages/read.php
blob: f09bd116ff60e5a9955d52fdc094fa7bf9118c66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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);

?>