/**
  * View a reported private message as it shows in the messenger
  *
  * @access	private
  * @return	void
  */
 private function _viewReportedMessage()
 {
     //-----------------------------------------
     // Do we have permission?
     //-----------------------------------------
     $this->registry->getClass('reportLibrary')->buildQueryPermissions();
     if (!in_array($this->memberData['member_group_id'], explode(',', $this->registry->getClass('reportLibrary')->plugins['messages']->_extra['plugi_messages_add']))) {
         $this->registry->getClass('output')->showError('no_permission_addreport', 20115);
     }
     //-----------------------------------------
     // First see if we are already in map...
     //-----------------------------------------
     $topicId = intval($this->request['topicID']);
     $mapRecord = $this->DB->buildAndFetch(array('select' => '*', 'from' => 'message_topic_user_map', 'where' => "map_user_id={$this->memberData['member_id']} AND map_topic_id={$topicId}"));
     //-----------------------------------------
     // Doesn't exist?
     //-----------------------------------------
     if (!$mapRecord['map_user_id']) {
         define('FROM_REPORT_CENTER', true);
         require_once IPSLib::getAppDir('members') . '/sources/classes/messaging/messengerFunctions.php';
         $messengerFunctions = new messengerFunctions($this->registry);
         //-----------------------------------------
         // Add ourselves
         //-----------------------------------------
         try {
             $messengerFunctions->addTopicParticipants($topicId, array($this->memberData['members_display_name']), $this->memberData['member_id']);
         } catch (Exception $e) {
         }
     } else {
         $update = array();
         if (!$mapRecord['map_user_active']) {
             $update['map_user_active'] = 1;
         }
         if ($mapRecord['map_folder_id'] == 'finished') {
             $update['map_folder_id'] = 'myconvo';
         }
         if ($mapRecord['map_user_banned']) {
             $update['map_user_banned'] = 0;
         }
         if (count($update)) {
             $this->DB->update('message_topic_user_map', $update, "map_user_id={$this->memberData['member_id']} AND map_topic_id={$topicId}");
         }
     }
     $this->registry->output->silentRedirect($this->settings['base_url'] . "app=members&module=messaging&section=view&do=showConversation&topicID=" . $topicId . "&st=" . $this->request['st'] . "#msg" . $this->request['msg']);
 }