summaryrefslogtreecommitdiff
path: root/read.php
blob: 71f7d193a878b5f39ded005c7d53d7369045e509 (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
<?php
/**
* message package modules
*
* @author   
* @version  $Header: /cvsroot/bitweaver/_bit_messages/read.php,v 1.11 2009/10/01 13:45:44 wjames5 Exp $
* @package  messages
* @subpackage functions
*/

// Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al.
// All Rights Reserved. See copyright.txt for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See http://www.gnu.org/copyleft/lesser.html for details.

/**
 * required setup
 */
require_once( '../bit_setup_inc.php' );
require_once( MESSAGES_PKG_PATH.'Messages.php' );

if( !$gBitUser->isRegistered() ) {
	$gBitSystem->fatalError( tra( "You are not logged in" ) );
}

$gBitSystem->isPackageActive( 'messages' );
$gBitSystem->verifyPermission( 'p_messages_send' );

$messages = new Messages();

if( isset( $_REQUEST["msgdel"] ) ) {
	$messages->expunge( $gBitUser->mUserId, $_REQUEST['msgdel'] );
}

if( !empty( $_REQUEST['act'] ) ) {
	$messages->flagMessage( $_REQUEST );
}

$gBitSmarty->assign( 'msg_id', $_REQUEST['msg_id'] );

// get prev / next messages
$listHash = $_REQUEST;
$listHash['neighbour'] = 'next';
$next = $messages->getNeighbourMessage( $listHash );
$listHash['neighbour'] = 'prev';
$prev = $messages->getNeighbourMessage( $listHash );
$gBitSmarty->assign('next', $next);
$gBitSmarty->assign('prev', $prev);

// Mark the message as read
$flagHash = array(
	'msg_id' => $_REQUEST['msg_id'],
	'act'    => 'is_read',
	'actval' => 'y',
);
$messages->flagMessage( $flagHash );

// Get the message and assign its data to template vars
$msg = $messages->getMessage( $gBitUser->mUserId, $_REQUEST['msg_id']);
$gBitSmarty->assign( 'msg', $msg );

$gBitSystem->display( 'bitpackage:messages/read.tpl', NULL, array( 'display_mode' => 'display' ));

?>