isRegistered() ) { $gBitSystem->fatalError( KernelTools::tra( "You are not logged in" ) ); } $gBitSystem->isPackageActive( 'messages' ); $gBitSystem->verifyPermission( 'p_messages_send' ); $messages = new Messages(); if( isset( $_REQUEST["msgdel"] ) ) { $messages->expungeMessage( $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 = [ '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, [ 'display_mode' => 'display' ]);