Messenger Php

/action/messenger.php


<?php

if (!defined('IN_WACKO'))
{
    exit;
}

/* messenger action:
 * https://wackowiki.org/doc/Dev/PatchesHacks/WikiMessenger
 * modify the script for your needs, please conribute your improvements
 */

// Aufrufen: {{messenger}} (ohne parameter). Benötigt: 2 Tabellen in MYSQL-Datenbank & sowie diese Datei, welche in den Ordner "action" eingefügt werden muss.

$prefix $this->db->table_prefix;

$create_table = function() use ($prefix)
{
    
$this->db->sql_query(
        
"CREATE TABLE {$prefix}messenger (
            message_id INT(80) NOT NULL AUTO_INCREMENT,
            user_to_id INT(10) UNSIGNED NOT NULL DEFAULT '0',
            repliedto TINYINT(1) DEFAULT '0',
            folder TINYTEXT NOT NULL,
            user_from_id INT(10) UNSIGNED NOT NULL DEFAULT '0',
            urgent TINYINT(1) DEFAULT NULL,
            subject MEDIUMTEXT NOT NULL,
            message LONGTEXT NOT NULL,
            fltr1 TINYINT(1) DEFAULT '0',
            fltr2 TINYINT(1) DEFAULT '0',
            fltr3 TINYINT(1) DEFAULT '0',
            status TEXT NOT NULL,
            datesent DATETIME NULL DEFAULT NULL,
            viewrecipient TINYINT(1) DEFAULT '1',
        PRIMARY KEY (message_id)
    );"
);

    
$this->db->sql_query(
        
"CREATE TABLE {$prefix}messenger_info (
            msg_info_id INT(80) NOT NULL AUTO_INCREMENT,
            owner_id INT(10) UNSIGNED NOT NULL DEFAULT '0',
            type TINYTEXT NOT NULL,
            info TINYTEXT NOT NULL,
            notes TINYTEXT,
        PRIMARY KEY (msg_info_id)
    );"
);
};

if (
$user_id $this->get_user_id())
{
    
$pagenum        $_GET['page'] ?? null;
    
$folder            $_GET['folder'] ?? null;
    
$which            $_REQUEST['whichfolder'] ?? null;
    if (!
$folder) {$folder $which;}
    
$filterset        $_GET['fltrset'] ?? null;
    
$msg_id            = (int) ($_GET['message_id'] ?? null);
    
$filter            $_GET['fltr'] ?? null;
    
$move2folder    $_REQUEST['move2folder'] ?? null;
    
$action            $_GET['action'] ?? null;
    
$message_id        $msg_id;
    
$id                = (int) ($_GET['id'] ?? null);
    
$to                = (int) ($_GET['to'] ?? null);
    
?>

    <script>
    <!-- Begin
    function textCounter(field, countfield, maxlimit)
    {
        if (field.value.length > maxlimit)        // if too long...trim it!
            field.value = field.value.substring(0, maxlimit);
                else                            // otherwise, update 'characters left' counter
            countfield.value = maxlimit - field.value.length;
    }
    // End -->
    </script>

    <table>
        <tr>
            <td> <a href="<?php echo $this->href('''', ['action' => 'inbox']); ?>">Posteingang</a> </td>
            <td> | <a href="<?php echo $this->href('''', ['action' => 'compose']); ?>">Verfassen</a> </td>
            <td> | <b>Ordner</b></td>
            <td>

    <?php
    $results 
$this->db->load_all(
        
"SELECT DISTINCT info
        FROM 
{$prefix}messenger_info
        WHERE type = 'folder'
            AND owner_id = " 
. (int) $user_id "
        ORDER BY info ASC"
);

    
#echo '<form method="post" action="' . $this->href() . '">';
    
echo $this->form_open('message_folder');
    echo 
'<select name="whichfolder">';

    foreach (
$results as $row)
    {
        
extract ($row);

        if (
$_REQUEST['whichfolder'] == $info)
        {
            echo 
'<option selected value="' $info '">' $info '</option>';
        }
        else
        {
            echo 
'<option value="' $info '">' $info '</option>';
        }
    }

    echo 
'</select><input type="submit" value="Anzeigen"></form>';
    
?>
            </td>
            <td> | <a href="<?php echo $this->href('''', ['action' => 'sent']); ?>">Postausgang</a> </td>
            <td> | <b>Verwalten: </b><a href="<?php echo $this->href('''', ['action' => 'folders']); ?>">Ordner</a> | <a href="<?php echo $this->href('''', ['action' => 'contacts']); ?>">Kontaktliste</a> </td>
            <td> | <a href="<?php echo $this->href('''', ['action' => 'users']); ?>">Benutzer</a></td>
            <td> | <a href="<?php echo $this->href('''', ['action' => 'help']); ?>">Hilfe</a></td>
        </tr>
    </table>

    <?php
    
if (! in_array($action, ['compose''forward''contacts''folders''users''help''reply''delete''store']))
    {
        if (
$action == 'inbox' || (($action == '' || $action == 'view')
            && @
$_REQUEST['whichfolder'] == '' && $folder == ''))
        {
            
$which2 $pagenum '<b>    Posteingang</b>';
        }
        else if (
$action == 'sent' || $action == 'view2')
        {
            
$which2 $pagenum '<b>    gesendete Nachrichten</b>';
        }
        else if (
$folder != '')
        {
            
$which    $folder;
            
$which2    '<a href="' $this->href('''', ['folder' => $folder]) . '">' $which '</a>';
        }

        echo 
"<br><b>Ordner: </b>" $which2;
    }

    
// code for moving messages to folders
    
if ($move2folder)
    {
        
$rs $this->db->sql_query(
            
"UPDATE {$prefix}messenger SET
                folder = " 
$this->db->q($move2folder) . "
            WHERE message_id = " 
. (int) $message_id "
                AND user_to_id = " 
. (int) $user_id);

        if (
$rs)
        {
            echo 
'<br><strong>Die Nachricht wurde in Ordner ' $move2folder .' verschoben.';
        }
        else
        {
            echo 
'Die Nachricht wurde nicht verschoben!';
        }
    }

    
// shows inbox
    
else if (($action == '' || $action == 'inbox')
        && @
$_REQUEST['whichfolder'] == '' && (!$folder))
    {
        if (
$filter == 1)        {$search "AND fltr1 = '1' ";}
        else if (
$filter == 2)    {$search "AND fltr2 = '1' ";}
        else if (
$filter == 3)    {$search "AND fltr3 = '1' ";}
        else if (
$filter == 0)    {$search "AND fltr1 = '0' AND fltr2 = '0' AND fltr3 = '0' ";}
        else                    {
$search '';}

        
// setting the filter conditions into the database
        
$filters $this->db->load_all(
            
"SELECT fltr1, fltr2, fltr3, message_id
                FROM 
{$prefix}messenger
                WHERE user_to_id = " 
. (int) $user_id "
                    AND folder = 'inbox'
                    AND viewrecipient = '1'
                ORDER BY datesent DESC"
);

        foreach (
$filters as $row)
        {
            
// code to set filters in database
            
if ($filterset && ($row['message_id'] == $msg_id))
            {
                
// code to determine setting of filters on server
                
if ($row['fltr1'] != 1) {$filtervar1 1;} else {$filtervar1 0;}
                if (
$row['fltr2'] != 1) {$filtervar2 1;} else {$filtervar2 0;}
                if (
$row['fltr3'] != 1) {$filtervar3 1;} else {$filtervar3 0;}

                
// code to set which filter is being set
                
if ($filterset == 1)        {$filter 'fltr1'$set $filtervar1;}
                else if (
$filterset == 2)    {$filter 'fltr2'$set $filtervar2;}
                else if (
$filterset == 3)    {$filter 'fltr3'$set $filtervar3;}

                
$this->db->sql_query(
                    
"UPDATE {$prefix}messenger SET " .
                        
$filter " = " $set "
                    WHERE message_id = " 
. (int) $msg_id "
                        AND user_to_id = " 
. (int) $user_id);
            }
        }

        
//needed for pagination of sent box
        
$limit 10;

        
$selector =
            
"FROM {$prefix}messenger m
                LEFT JOIN 
{$prefix}user u ON (m.user_from_id = u.user_id)
            WHERE m.user_to_id = " 
. (int) $user_id " " .
            
$search "
                AND m.folder = 'inbox'
                AND m.viewrecipient = '1' "
;

        
// count pages
        
$count $this->db->load_single(
            
"SELECT COUNT(message_id) AS n " .
            
$selector
            
true);

        
$pagination $this->pagination($count['n'], $limit'm' , ['action' => 'inbox']);

        
$result $this->db->load_all(
            
"SELECT m.*, u.user_name " .
            
$selector .
            
"ORDER BY m.datesent DESC " .
            
$pagination['limit']);

        echo 
'<table class="hl-line" cellpadding="2" cellspacing="3" width="800" valign="top">';
        echo 
"<tr><td colspan='4' align='center'>";

        
// to paginate the "inbox" page messeges
        
$this->print_pagination($pagination);

        echo 
"</td></tr>";
        echo 
"<tr bgcolor=#93B2DD>\n";
        echo 
"<td width='400'><table border='0' cellpadding='0' cellspacing='0' width='100%'>
                <tr><td width='100'> <b>Betreff:</b></td><td align='right'>"
;
        echo 
"</td></tr></table></td>\n";
        echo 
"<td width='100'> <b>Absender:</b></td>\n";
        echo 
"<td width='250'><b> Verschieben in Ordner:</b></td>\n";
        echo 
"<td width='80'><b>Löschen:</b></td>\n";
        echo 
"</tr>\n";

        foreach (
$result as $row )
        {
            
// Extracting & formatting date
            
$datetime date('dMy g:i a'strtotime($row['datesent']));

            
// setzt Zeichen für Status der Nachricht (wichtig/gelesen/beantwortet)
            
if ($row['status'] == 'pending')
            {
                
$status "<a title='Diese Nachricht wurde noch nicht gelesen!'><font color=Red>*</font></a>";
            }
            else
            {
                
$status '';
            }

            if (
$row['urgent'] == 1)
            {
                
$urgent_flag "<a title='Dies ist eine dringende Nachricht!'><font color=Red><strong>!</strong></font></a>";
            }
            else
            {
                
$urgent_flag '';
            }

            if (
$row['repliedto'] == 1)
            {
                
$replied "<a title='Auf diese Nachricht wurde bereits geantwortet!'><font color='grey'><strong> beantwortet am: </strong></grey></a>";
            }
            else
            {
                
$replied '';
            }

            echo 
"<tr><td>$status$urgent_flag <a href=" $this->href('''', ['action' => 'view''message_id' => $row['message_id'], 'page' => 'viewmessage']) . $pagenum ">" strip_tags($row['subject']) . "</a><small>" $replied "(" $datetime ")</small>";
            
// put in asterisks if indicated to do so in database
            
echo "</td>";
            echo 
"<td>" $this->format($row['user_name']) . "<small> [<a href=" $this->href('''', ['action' => 'contacts''contact' => $row['user_from_id']])  . ">-></a>]</small></td><td align='left' width='155'>";

            
// code to put in drop down box to move to a new folder
            
$resultdrop2 $this->db->load_all(
                
"SELECT DISTINCT info
                FROM 
{$prefix}messenger_info
                WHERE type='folder'
                    AND owner_id = " 
. (int) $user_id "
                ORDER BY info ASC"
);

            
#echo '<form method=post action="' . $this->href('', '', ['message_id' => $row['message_id']]) . '">';
            
echo $this->form_open('move_folder', ['href_param' => 'message_id=' $row['message_id']]);
            echo 
'<select name="move2folder">';

            foreach (
$resultdrop2 as $row2)
            {
                
extract ($row2);
                echo 
'<option value="' $info '">' $info '</option>';
            }

            echo 
"</select><input type='submit' value='Verschieben'></form>";
            echo 
"</td><td> <a href=\"javascript: if (confirm('Bist Du sicher, dass Du diesen Eintrag löschen möchtest?')){ window.self.location='" $this->href('''', ['action' => 'delete''id' => $row['message_id']]) . "' }\">Löschen</a><br></td>";
        }
        echo 
"</table>";

        if (
$count['n'] == 0)
        {
            echo 
"<br>    Zur Zeit sind keine Nachrichten im Posteingang <br><br>";
        }
    }
    
// send a new message to a user
    
else if ($action == 'compose')
    {
        
$users $this->db->load_all(
            
"SELECT user_id, user_name
            FROM 
{$prefix}user
            ORDER BY user_name ASC"
);

        echo 
"<br><b>Nachricht verfassen</b><br><br>";
        echo 
"<table width='675'><tr><td>";
        
#echo "<form name='myform' action=" . $this->href('', '', ['action' => 'store']) . " method='post'>";
        
echo $this->form_open('message_store', ['href_param' => 'action=store']);
        echo 
"<table>";
        echo 
"<tr>
                <td>Betreff:</td>
                <td><input type='text' name='subject' maxlength='65' size='30' value='' required></td>
            </tr>"
;
        echo 
'<tr>
                <td>Empfänger:</td>
                <td>
                    <select name="to" required>
                        <option value="">Wähle einen Empfänger</option>'
;
                        foreach (
$users as $user)
                        {
                            echo 
'<option value="' $user['user_id'] . '"' . ($to == $user['user_id'] ? ' selected' '') . '>' $user['user_name'] . '</option>';
                        }
        echo        
'</select>
                </td>
            </tr>'
;
        echo 
"<tr>
                <td>Nachricht:</td>
                <td><textarea rows='16' cols='45' name='message' onKeyDown=\"textCounter(this.form.message,this.form.remLen,2000);\" onKeyUp=\"textCounter(this.form.message,this.form.remLen,2000);\"></textarea><br>
                    <input readonly type='text' name='remLen' size='4' maxlength='4' value='2000'> Zeichen stehen noch zur Verfügung.</td>
            </tr>"
;
        echo 
"<tr>
                <td><button type='submit'>Abschicken!</button></td>
                <td align='right'>Dringend? <input type='checkbox' name='urgent' value='1'></td>
            </tr>"
;
        echo 
'</table>';
        echo 
"</form>";
        echo 
"</td><td width='200' valign='top'>";
    
?>
        Um einen User zu Deiner Kontaktliste hinzuzufügen bitte <a href="<?php echo $this->href('''', ['action' => 'users']); ?>">hier</a> klicken!<br><br>
    <?php
        
echo "<b>Kontakt-Liste:<br></b><small>(Klick auf den Namen um den User<br>als Empfänger einzusetzen)</small><br><br>";

        
$contacts $this->db->load_all(
            
"SELECT i.info, u.user_name
            FROM 
{$prefix}messenger_info i
                LEFT JOIN 
{$prefix}user u ON (i.info = u.user_id)
            WHERE i.type = 'contact'
                AND i.owner_id = " 
. (int) $user_id "
            ORDER BY i.info ASC"
);

        foreach (
$contacts as $row)
        {
            echo 
"<a href=" $this->href('''', ['action' => 'compose''to' => (int) $row['info']]) . ">" $row['user_name'] . "</a><br>";
        }

        echo 
"</td></tr></table>";
    }

    
// Antwort an den Absender einer Nachricht schicken
    
else if ($action == 'reply')
    {
        
$row $this->db->load_single(
            
"SELECT *
            FROM 
{$prefix}messenger
            WHERE user_to_id = " 
. (int) $user_id "
                AND message_id = " 
. (int) $message_id);

        
$user $this->db->load_single(
            
"SELECT user_id, user_name
            FROM 
{$prefix}user
            WHERE user_id = " 
. (int) $to "
                LIMIT 1"
);

        echo 
"<br><b>Antwort erstellen</b><br><br>";
        echo 
"<table width='400'><tr><td>";
        
#echo "<form name='myform' action=" . $this->href('', '', ['action' => 'store', 'replyto' => $msg_id]) . " method='post'>";
        
echo $this->form_open('message_reply', ['href_param' => 'action=store&replyto' $msg_id]);
        echo 
'<tr>
                <td>Betreff:</td>
                <td><input readonly type="text" name="subject" maxlength="65" size="30" value="' 
$row['subject'] . '" required></td>
            </tr>'
;
        echo 
'<tr>
                <td>Empfänger:</td>
                <td>
                    <select name="to" readonly  required>
                        <option value="' 
$user['user_id'] . '">' $user['user_name'] . '</option>
                    </select>
                </td>
            </tr>'
;

        
$origmsg    =     " \n \n++++++++++ Original Message ++++++++++\n" .
                        
strip_tags($row['message']) .
                        
"\n+++++++++++++++++++++++++++++++++";

        echo 
"<tr><td>Nachricht:</td>
                <td><textarea rows='16' cols='45' name='message' onKeyDown=\"textCounter(this.form.message,this.form.remLen,2000);\" onKeyUp=\"textCounter(this.form.message,this.form.remLen,2000);\">" 
$origmsg "</textarea><br>
                    <input readonly type='text' name='remLen' size='4' maxlength='4' value='2000'> Zeichen stehen noch zur Verfügung.</td></tr>"
;
        echo 
"<tr><td><button type='submit'>Abschicken!</button></td><td align='right'>Dringend? <input type='checkbox' name='urgent' value='1'></td></tr>";
        echo 
'</table>';
        echo 
"</form>";
    }

    
// Nachricht weiterleiten
    
else if ($action == 'forward' && $message_id != '')
    {
        
$row $this->db->load_single(
            
"SELECT *
            FROM 
{$prefix}messenger
            WHERE user_to_id = " 
. (int) $user_id "
                AND message_id = " 
. (int) $message_id);

        echo 
"<br><b>Nachricht weiterleiten</b><br><br>";
        echo 
'<table width="675"><tr><td>';
        
#echo "<form name='myform' action=" . $this->href('', '', ['action' => 'store']) . " method='post'>";
        
echo $this->form_open('message_forward', ['href_param' => 'action=store']);
        echo 
'<table>';
        
$subject2 'FWD: ' $row['subject'];
        echo 
"<tr>
                <td>Betreff:</td>
                <td><input type='text' name='subject' maxlength='65' size='30' value='
$subject2' required></td>
            </tr>"
;
        echo 
"<tr>
                <td>Empfänger:</td>
                <td><input type='text' name='to' maxlength='65' size='30' value='
$to' required></td></tr>";

        
$origmsg    =    " \n \n++++++++++++ Forward ++++++++++++++\n" .
                        
strip_tags($row['message']) .
                        
"\n+++++++++++++++++++++++++++++++++";

        echo 
"<tr><td>Nachricht:</td>
                <td><textarea rows='16' cols='45' name='message' onKeyDown=\"textCounter(this.form.message,this.form.remLen,2500);\" onKeyUp=\"textCounter(this.form.message,this.form.remLen,2500);\">
$origmsg</textarea><br>
                    <input readonly type='text' name='remLen' size='4' maxlength='4' value='2500'>Zeichen stehen noch zur Verfügung.</td></tr>"
;
        echo 
"<tr>
                <td><button type=submit>Abschicken!</button></td>
                <td align='right'>Dringend? <input type='checkbox' name='urgent' value='1'></td>
            </tr>"
;
        echo 
'</table>';
        echo 
"</form>";
        echo 
"</td><td width='200' valign='top'>";
    
?>
        Um einen User zu Deiner Kontaktliste hinzuzufügen bitte <a href="<?php echo $this->href('''', ['action' => 'users']); ?>">hier</a> klicken!<br><br>
    <?php
        
echo "<b>Kontakt-Liste:<br></b><small>(Klick auf den Namen um den User<br>als Empfänger einzusetzen)</small><br><br>";

        
$contacts $this->db->load_all(
            
"SELECT i.info, u.user_name
            FROM 
{$prefix}messenger_info i
                LEFT JOIN 
{$prefix}user u ON (i.info = u.user_id)
            WHERE i.type='contact'
                AND i.owner_id = " 
. (int) $user_id "
            ORDER BY i.info ASC"
);

        foreach (
$contacts as $row)
        {
            echo 
'<a href="' $this->href('''', ['action' => 'forward''to' => (int) $row['info'], 'message_id' => $message_id]) . '">' $row['user_name'] . '</a><br>';
        }

        echo 
"</td></tr></table>";
    }

    
// schreibt versendete Nachrichten (original/weitergeleitet) in die Datenbank
    
if ($action == 'store')
    {
        
$urgent        $_POST['urgent'] ?? null;
        
$to            $_POST['to'] ?? null;
        
$to            addslashes($to);
        
$subject    $_POST['subject'] ?? null;
        
$subject    addslashes($subject);
        
$message    $_POST['message'] ?? null;
        
$message    strip_tags($message);
        
$message    addslashes($message);
        
$replyto    $_GET['replyto'] ?? null;
        
$date        date('YmdHis');

        
// prüft ob der Nutzer existiert und versendet die Nachricht
        
if ($subject == '' || $message == '' || $to == '')
        {
            
?>
                <br><center><span class="cite">Ein Feld wurde nicht ausgefüllt. Es müssen alle Felder ausgefüllt sein!</span></center><br><br>
                <a href="<?php echo $this->href('''', ['action' => 'compose']); ?>">Zurück</a>
            <?php
        
}
        else
        {
            if (
$this->load_user(''$to))
            {
                
$this->db->sql_query(
                    
"INSERT INTO {$prefix}messenger
                        (user_to_id, folder, user_from_id, subject, message, datesent, status, urgent)
                    VALUES
                        ('
$to', 'inbox', '$user_id', '$subject', '$message', '$date', 'pending', '$urgent')");

                echo 
'Nachricht gesendet an ' $to .'!';

                
// to set the database so that the message has been replied to
                
$this->db->sql_query(
                    
"UPDATE {$prefix}messenger SET
                        repliedto = '1'
                    WHERE message_id = '
$replyto'
                        AND user_to_id = " 
. (int) $user_id);
            }
            else
            {
                
?>
                <br><center><span class="cite">Die Nachricht konnte nicht versendet werden, da der eingetragende Empfänger kein registrierter Benutzer ist.<br><br>
                Überprüfe die Schreibweise (Gross- / Kleinschreibung)!</span><br><br></center>
                <a href="<?php echo $this->href('''', ['action' => 'compose']); ?>">Zurück</a>
                <?php
            
}
        }
    }
    
// zeigt den Ordner "versendete Nachrichten"
    
else if ($action == 'sent')
    {
        
// needed for pagination of sent box
        
$limit 10;

        
$selector =
            
"FROM {$prefix}messenger m
                LEFT JOIN 
{$prefix}user u ON (m.user_to_id = u.user_id)
            WHERE m.user_from_id = " 
. (int) $user_id " ";

        
// count pages
        
$count $this->db->load_single(
            
"SELECT COUNT(message_id) AS n " .
            
$selector
            
true);

        
$pagination $this->pagination($count['n'], $limit'm' , ['action' => 'sent']);

        
$result $this->db->load_all(
            
"SELECT m.*, u.user_name " .
            
$selector .
            
"ORDER BY m.datesent DESC " .
            
$pagination['limit']);

        echo 
'<table class="hl-line" cellpadding="2" cellspacing="3" width="750" valign="top">';
        echo 
"<tr><td colspan='3' align='center'>";

        
// to paginate the "sent" page messages
        
$this->print_pagination($pagination);

        echo 
"</td></tr>";
        echo 
"<tr bgcolor=#93B2DD>\n";
        echo 
"<td width='400'> <b>Betreff:</b></td>\n";
        echo 
"<td width='85'> <b>Empfänger:</b></td>\n";
        echo 
"<td width='75'> <b>Gelesen?</b></td>\n";
        echo 
"</tr>\n";

        foreach (
$result as $row)
        {
            
$datetime date("dMy g:i a"strtotime($row['datesent']));
            echo 
"<tr>
                    <td><a href=" 
$this->href('''', ['action' => 'view2''message_id' => $row['message_id'], 'page' => 'view2']) . $pagenum ">" strip_tags($row['subject']) . "</a><small> (" $datetime ")</small></td>
                    <td>" 
$this->format($row['user_name'])."<small> [<a href=" $this->href('''', ['action' => 'contacts''contact' => $row['user_to_id']]) . ">-></a>]</small></td>
                    <td width=50> 
$row[status]<br></td>
                </tr>"
;
        }

        echo 
"</table>";
        
#echo '<br><br>Löscht der Empfänger eine Nachricht, wird sie auch hier automatisch entfernt!';
    
}

    
// show selected folder
    
else if (((@$_REQUEST['whichfolder'] != '') || ($folder)) && ($action != 'view'))
    {
        if (
$filter == 1)
        {
            
$search "AND fltr1 = '1' ";
        }
        else if (
$filter == 2)
        {
            
$search "AND fltr2 = '1' ";
        }
        else if (
$filter == 3)
        {
            
$search "AND fltr3 = '1' ";
        }
        else if (
$filter == 0)
        {
            
$search "AND fltr1 = '0' AND fltr2 = '0' AND fltr3 = '0' ";
        }
        else
        {
            
$search '';
        }

        if (isset(
$_REQUEST['whichfolder']) && $_REQUEST['whichfolder'] != '')
        {
            
$showfolder $_REQUEST['whichfolder'];
        }
        else
        {
            
$showfolder $folder;
        }

        echo 
'<table class="hl-line" cellpadding="2" cellspacing="3" width="800" valign="top">';
        echo 
"<tr bgcolor=#93B2DD>\n";
        echo 
"<td><table border='0' cellpadding='0' cellspacing='0' width='100%'>
                <tr><td width='400'><b> Betreff:</b></td><td align='right'>"
;

        if (
$filter == 1) {$red        "<u>*</u>";} else {$red "*";}
        if (
$filter == 2) {$blue    "<u>*</u>";} else {$blue "*";}
        if (
$filter == 3) {$green    "<u>*</u>";} else {$green "*";}
        if (
$filter == 0) {$none    "<u>N</u>";} else {$none "N";}

        echo 
"</td></tr></table></td>\n" .
                
"<td width='100'><b> Absender:</b></td>\n" .
                
"<td width='250'><b> In Ordner verschieben:</b></td>\n" .
                
"<td width='80'><b> Löschen:</b></td>\n" .
            
"</tr>\n";

        
$result $this->db->load_all(
            
"SELECT fltr1, fltr2, fltr3, message_id
            FROM 
{$prefix}messenger
            WHERE user_to_id = " 
. (int) $user_id " " .
            
$search "
                AND folder = " 
$this->db->q($folder) . "
                AND viewrecipient = '1'
            ORDER BY datesent DESC"
);

        foreach (
$result as $row)
        {
            
// code to set filters in database
            
if (($filterset) && ($row['message_id'] == $msg_id))
            {
                
// code to determine setting of filters on server
                
if ($row['fltr1'] != 1) {$filtervar1=1;} else {$filtervar1 0;}
                if (
$row['fltr2'] != 1) {$filtervar2=1;} else {$filtervar2 0;}
                if (
$row['fltr3'] != 1) {$filtervar3=1;} else {$filtervar3 0;}

                
// code to set which filter is being set
                
if ($filterset == 1)
                {
                    
$filter    'fltr1';
                    
$set    $filtervar1;
                }
                else if (
$filterset == 2)
                {
                    
$filter    'fltr2';
                    
$set    $filtervar2;
                }
                else if (
$filterset == 3)
                {
                    
$filter    'fltr3';
                    
$set    $filtervar3;
                }

                
$this->db->sql_query(
                    
"UPDATE {$prefix}messenger SET " .
                        
$filter " = " . (int) $set "
                    WHERE message_id = " 
. (int) $msg_id "
                        AND user_to_id = " 
. (int) $user_id);
            }
        }

        
$result $this->db->load_all(
            
"SELECT m.*, u.user_name
            FROM 
{$prefix}messenger m
                LEFT JOIN 
{$prefix}user u ON (m.user_from_id = u.user_id)
            WHERE m.user_to_id = " 
. (int) $user_id " " .
            
$search "
                AND m.folder = " 
$this->db->q($showfolder) . "
            ORDER BY m.datesent DESC"
);

        
$numrows count($result);

        foreach (
$result as $row)
        {
            
$datetime date("dMy g:i a"strtotime($row['datesent']));

            if (
$row['status'] == 'unread')
            {
                
$status "<a title='This message has not been read yet!'><font color=Red>*</font></a>";
            }
            else
            {
                
$status '';
            }

            if (
$row['urgent'] == 1)
            {
                
$urgent_flag "<a title='This is an urgent message!'><font color=Red><strong>!</strong></font></a>";
            }
            else
            {
                
$urgent_flag '';
            }

            if (
$row['repliedto'] == 1)
            {
                
$replied "<a title='You have replied to this message!'><font color='black'><strong>+</strong></black></a>";
            }
            else
            {
                
$replied ' ';
            }

            echo 
'<tr><td>' $status $urgent_flag '<a href="' $this->href('''', ['action' => 'view''message_id' => $row['message_id'], 'folder' => $which]) . '">' strip_tags($row['subject']) . '</a>' $replied '<small>(' $datetime ')</small>';

            
// put in asterisks if indicated to do so in database
            
if ($row['fltr1'] == 1) {echo "<font color='red'><strong>*</strong></font>";}    else {echo '    ';}
            if (
$row['fltr2'] == 1) {echo "<font color='blue'><strong>*</strong></font>";}    else {echo '    ';}
            if (
$row['fltr3'] == 1) {echo "<font color='green'><strong>*</strong></font>";}    else {echo '    ';}

            echo 
"</td><td width=125>" $this->format($row['user_name']) . "<small> [<a href=" $this->href('''', ['action' => 'contacts''contact' => $row['user_from_id']]) . ">-></a>]</small></td><td>";

            
// code to put in drop down box to move to a new folder
            
$resultdrop2 $this->db->load_all(
                
"SELECT DISTINCT info
                FROM 
{$prefix}messenger_info
                WHERE type = 'folder'
                    AND owner_id = " 
. (int) $user_id "
                ORDER BY info ASC"
);

            
#echo '<form method="post" action="' . $this->href('', '', ['message_id' => $row['message_id'], 'folder' => $which]) . '">';
            
echo $this->form_open('edit_contacts', ['href_param' => 'message_id=' $row['message_id'] . '&folder=' $which]);
            echo 
'<select name="move2folder">';

            foreach (
$resultdrop2 as $row2)
            {
                
extract ($row2);
                echo 
'<option value="' $info '">' $info '</option>';
            }

            echo 
'</select><input type="submit" value="Verschieben"></form>';
            echo 
"</td><td> <a href=\"javascript: if (confirm('Bist Du sicher, dass Du diesen Eintrag löschen möchtest?')){ window.self.location='" $this->href('''', ['action' => 'delete''id' => $row['message_id']]) . "' }\">Löschen</a><br></td>";
        }

        echo 
"</table>";

        if (
$numrows == 0)
        {
            echo 
"<br>    Zur Zeit sind keine Nachrichten in diesem Ordner! <br><br>";
        }
    }
    
// view individual messages
    
else if ($action == 'view')
    {
        
$row $this->db->load_single(
            
"SELECT *
            FROM 
{$prefix}messenger
            WHERE user_to_id = " 
. (int) $user_id "
                AND message_id = " 
. (int) $msg_id);

        if ((
$filterset) && ($row['message_id'] == $msg_id))
        {
            
// code to determine setting of filters on server
            
if ($row['fltr1'] != 1) {$filtervar1 1;} else {$filtervar1 0;}
            if (
$row['fltr2'] != 1) {$filtervar2 1;} else {$filtervar2 0;}
            if (
$row['fltr3'] != 1) {$filtervar3 1;} else {$filtervar3 0;}

            
// code to set which filter is being set
            
if ($filterset == 1)
            {
                
$filter    'fltr1';
                
$set    $filtervar1;
            }
            else if (
$filterset == 2)
            {
                
$filter    'fltr2';
                
$set    $filtervar2;
            }
            else if (
$filterset == 3)
            {
                
$filter    'fltr3';
                
$set    $filtervar3;
            }

            
$this->db->sql_query(
                
"UPDATE {$prefix}messenger SET " .
                    
$filter " = " . (int) $set "
                WHERE message_id = " 
. (int) $msg_id "
                    AND user_to_id = " 
. (int) $user_id);
        }

        
$row $this->db->load_single(
            
"SELECT m.*, u.user_name
            FROM 
{$prefix}messenger m
                LEFT JOIN 
{$prefix}user u ON (m.user_from_id = u.user_id)
            WHERE m.user_to_id = " 
. (int) $user_id "
                AND m.message_id = " 
. (int) $msg_id);

        if (
$row['repliedto'] == 1)
        {
            
$replied "<a title='You have replied to this message at least once!'><small>replied to<small></a>";
        }
        else
        {
            
$replied ' ';
        }

        
// code to set filters in database
        
if ($row['user_to_id'] == $user_id)
        {
            
$datetime date("dMy g:i a"strtotime($row['datesent']));

            echo 
"<table border='1' bordercolor='#666699' width='600'>
                <tr><td width='350'><strong> Betreff: </strong>" 
strip_tags($row['subject']) . " ";

            
// put in asterisks if indicated to do so in database
            
if ($row['fltr1'] == 1) {echo "<font color='red'><strong>*</strong></font>";} else {echo "    ";}
            if (
$row['fltr2'] == 1) {echo "<font color='blue'><strong>*</strong></font>";} else {echo "    ";}
            if (
$row['fltr3'] == 1) {echo "<font color='green'><strong>*</strong></font>";} else {echo "    ";}

            echo 
"</td><td>";
            echo 
"</td><td><strong> Von: </strong>" $this->format($row['user_name']) . "<small> [<a href=" $this->href('''', ['action' => 'contacts''contact' => $row['user_from_id']]) . ">-></a>]</small></td></tr>";
            echo 
'<tr><td colspan="3"><strong> Nachricht: </strong>' strip_tags($row['message']) . '</td></tr>
                <tr><td>
                    <a href="' 
$this->href('''', ['action' => 'reply''to' => $row['user_from_id'], 'message_id' => $row['message_id']]) . '"> Antworten</a>
                    / <a href="' 
$this->href('''', ['action' => 'forward''message_id' => $row['message_id']]) . '">Weiterleiten</a>' .
                
" / <a href=\"javascript: if (confirm('Bist Du sicher, dass Du diesen Eintrag löschen möchtest?')){ window.self.location='" $this->href('''', ['action' => 'delete''id' => $row['message_id']]) . "' }\">Löschen</a></td><td>".$replied."</td><td><small><strong> Gesendet am:</strong> $datetime</small></td></tr></table><br>";

            
$rs $this->db->sql_query(
                
"UPDATE {$prefix}messenger SET
                    status = 'gelesen'
                WHERE message_id = " 
. (int) $msg_id);
        }
        else
        {
            echo 
'Das ist nicht Deine Post!';
        }
    }

    
// added filter for viewing "folder sorted" messages
    
else if ($action == 'view2')
    {
        
$row $this->db->load_single(
            
"SELECT m.*, u.user_name
            FROM 
{$prefix}messenger m
                LEFT JOIN 
{$prefix}user u ON (m.user_to_id = u.user_id)
            WHERE m.user_from_id = " 
. (int) $user_id "
                AND m.message_id = " 
. (int) $msg_id);

        if (
$row['user_from_id'] == $user_id)
        {
            
$datetime date('dMy g:i a'strtotime($row['datesent']));

            echo 
"<table border = '1' bordercolor = 'black' width = '600'>
                    <tr><td colspan='2' valign='top'><strong>Betreff:</strong> " 
strip_tags($row['subject']) . "</td></tr>
                    <tr>"
;
            echo 
'<td colspan="2"><strong>Empfänger:</strong> ' $this->format($row['user_name']) . '<small> [<a href="' $this->href('''', ['action' => 'contacts''contact' => $row['user_to_id']]) . '">-></a>]</small></td></tr>
                    <tr><td colspan="2"><strong>Nachricht: </strong>' 
$row['message'] . '</td></tr>
                    <tr><td colspan="2"><small><strong>Gesendet: </strong>' 
$datetime '</small></td></tr></table>';
        }
    }

    
// Nachrichten löschen (geändert - Nachrichten werden jetzt komplett aus Datenbank entfernt)
    
else if ($action == 'delete')
    {
        
$rs $this->db->sql_query(
            
"DELETE FROM {$prefix}messenger
            WHERE message_id = " 
. (int) $id);

        if (
$rs)
        {
            echo 
'Die Nachricht wurde gelöscht.';
        }
        else
        {
            echo 
'Die Nachricht wurde nicht gelöscht.';
        }
    }

    
// Kontaktliste verwalten
    
else if ($action == 'contacts')
    {
        
$add_contact    $_GET['contact'] ?? '';
        
$field1_label    ' Name:';
        
$field2_label    ' Bemerkung:';
        
$delete_contact    $_GET['delete_contact'] ?? null;
        
$field1_value    $_POST['field1_value'] ?? null;
        if (
$field1_value) {$insert '1';} else {$insert '';}
        
$field2_value    $_POST['field2_value'] ?? null;
        
$category        'contact';

        if (
$insert)
        {
            if (
$this->load_user(''$field1_value))
            {
                
$this->db->sql_query(
                    
"INSERT INTO {$prefix}messenger_info
                        (info, notes, owner_id, type)
                    VALUES
                        (\"
$field1_value\", \"$field2_value\", \"$user_id\", \"$category\")");
            }
        }

        if (
$delete_contact)
        {
            
$this->db->sql_query(
                
"DELETE FROM {$prefix}messenger_info
                WHERE msg_info_id = 
$delete_contact
                    AND owner_id = " 
. (int) $user_id);
        }

        
$users $this->db->load_all(
            
"SELECT user_id, user_name
            FROM 
{$prefix}user
            ORDER BY user_name ASC"
);

        
$result    $this->db->load_all(
            
"SELECT i.msg_info_id, i.owner_id, i.type, i.info, i.notes, u.user_name
            FROM 
{$prefix}messenger_info i
                LEFT JOIN 
{$prefix}user u ON (i.info = u.user_id)
            WHERE i.owner_id = " 
. (int) $user_id "
                AND i.type = " 
$this->db->q($category) . "
            ORDER BY i.info ASC"
);

        echo 
"<br><b>Kontaktliste:</b><br><br>";
        echo 
"<table border='1' cellspacing='0' width= 70% align=left>\n";
        echo 
"<tr>\n";
        echo 
"<td><strong>$field1_label</strong></td>\n";
        echo 
"<td><strong>$field2_label</strong></td>\n";
        echo 
"<td> </td>\n";
        echo 
"</tr>\n";
        
// This is the entry boxes
        #echo '<form action="' . $this->href('', '', ['action' => 'contacts']) . '" method="post">' . "\n";
        
echo $this->form_open('edit_contacts', ['href_param' => 'action=contacts']);
        echo 
"<tr>\n";
        echo 
"<input type='hidden' name='insert' value='1'></td>\n";
        echo 
'<td>
                <select name="field1_value" required>
                        <option value="">Wähle einen Empfänger</option>'
;
                        foreach (
$users as $user)
                        {
                            echo 
'<option value="' $user['user_id'] . '"' . ($add_contact == $user['user_id'] ? ' selected' '') . '>' $user['user_name'] . '</option>';
                        }
        echo        
"</select>
            </td>\n"
;
        echo 
"<td><input type='text' size='35' maxlength='65' name='field2_value'></td>\n";
        echo 
"<td colspan=2 align=center>";
        echo 
'<input type="submit" value="Hinzufügen"></td>' "\n";
        echo 
"</tr>\n";
        echo 
"</form>\n";

        
// This is the data under the entry boxes
        
foreach ($result as $row)
        {
            echo 
"<tr>\n";
            echo 
'<td><a href="' $this->href('''', ['action' => 'compose''to' => $row['info']]) . '">' $row['user_name'] . '</a></td>' "\n";
            echo 
'<td>' strip_tags($row['notes']) . "</td>\n";
            echo 
"<td><a href=\"javascript: if (confirm('Bist Du sicher, dass Du diesen Eintrag löschen möchtest?')){ window.self.location='" $this->href('''', ['action' => 'contacts''delete_contact' => $row['msg_info_id']]) . "' }\"><center>Löschen</center></a></td>\n";
            echo 
"</tr>\n";
        }

        echo 
"</table>";
        echo 
"<table>";
        echo 
"<td width='25' valign='top' ></td>";
        echo 
"<td width='150' valign='top' >";
        echo 
'<left><span class="cite">Klick auf den Benutzernamen um einem Benutzer aus der Kontaktliste eine Nachricht zu schreiben.</span></left><br><br>';
    
?>
        Um einen Benutzer zu Deiner Kontaktliste hinzuzufügen bitte <a href="<?php echo $this->href('''', ['action' => 'users']); ?>">hier</a> klicken!<br><br>Es können <b>nur</b> registrierte Benutzer hinzugefügt werden.
    <?php
        
echo "</td></table>";
    }

    
// Ordner verwalten
    
else if ($action == 'folders')
    {
        
$field1_label    ' Ordner:';
        
$field2_label    " Beschreibung:";
        
$delete_folder    $_GET['delete_folder'] ?? null;
        
$folder            $_GET['folder'] ?? null;
        
$field1_value    $_POST['field1_value'] ?? null;
        if (
$field1_value) {$insert '1';}
        else {
$insert '';}
        
$field2_value    $_POST['field2_value'] ?? null;
        
$category        'folder';

        if (
$insert)
        {
            
$this->db->sql_query(
                
"INSERT INTO {$prefix}messenger_info
                    (info, notes, owner_id, type)
                VALUES
                    (\"
$field1_value\", \"$field2_value\", \"$user_id\", \"$category\")");
        }

        if (
$delete_folder)
        {
            
// delete folder name from messenger_info
            
$this->db->sql_query(
                
"DELETE from {$prefix}messenger_info
                WHERE msg_info_id = '
$delete_folder'
                    AND owner_id = " 
. (int) $user_id "
                    AND type = 'folder'"
);

            
// change files from being stored in folder being deleted to being stored in inbox
            
$this->db->sql_query(
                
"UPDATE {$prefix}messenger SET
                    folder = 'inbox'
                WHERE folder = " 
$this->db->q($folder) . "
                    AND user_to_id = " 
. (int) $user_id);
        }

        
$result    $this->db->load_all(
            
"SELECT msg_info_id, owner_id, type, info, notes
            FROM 
{$prefix}messenger_info
            WHERE owner_id = " 
. (int) $user_id "
                AND type = " 
$this->db->q($category) . "
            ORDER BY info ASC"
);

        echo 
"<br><b>Ordner verwalten:</b><br><br>";
        echo 
"<table border='1' cellspacing='0' width= 65% align=left>\n";
        echo 
"<tr>\n";
        echo 
"<td><strong>$field1_label</strong></td>\n";
        echo 
"<td><strong>$field2_label</strong></td>\n";
        echo 
"<td> </td>\n";
        echo 
"</tr>\n";

        
// This is the entry boxes
        #echo '<form action="' . $this->href('', '', ['action' => 'folders']) . '" method="post">' . "\n";
        
echo $this->form_open('message_folders', ['href_param' => 'action=folders']);
        echo 
"<tr>\n";
        echo 
"<input type='hidden' name='insert' value='1'></td>\n";
        echo 
"<td><input type='text' size='25' maxlength='65' name='field1_value'></td>\n";
        echo 
"<td><input type='text' size='35' maxlength='65' name='field2_value'></td>\n";
        echo 
"<td colspan='2' align='center'>";
        echo 
"<input type='submit' value=\"    Hinzufügen    \"></td>\n";
        echo 
"</tr>\n";
        echo 
"</form>\n";

        
// This is the data under the entry boxes
        
foreach ($result as $row)
        {
            echo 
"<tr>\n";
            echo 
'<td><a href="' $this->href('''', ['folder' => strip_tags($row['info'])]) . '">' strip_tags($row['info']) . "</a></td>\n";
            echo 
"<td>" strip_tags($row['notes']) . "</td>\n";
            echo 
"<td><a href=\"javascript: if (confirm('Bist Du sicher, dass Du diesen Eintrag löschen möchtest?')){ window.self.location='" $this->href('''', ['action' => 'folders''delete_folder' => $row['msg_info_id'], 'folder' => $row['info']]) . "' }\">
                <center>Löschen</center></a></td>\n"
;
        }

        echo 
"</table>";
        echo 
"<table>";
        echo 
"<td width='25' valign='top' ></td>";
        echo 
"<td width='200' valign='top' >";
        echo 
'<span class="cite">Klick auf den Ordnernamen um einen Ordner zu öffnen!</span><br><br><b>Ordner erstellen:</b><br><br>Gib in das leere Feld unter <b>Ordner:</b> den Namen für den neuen Ordner ein.<br><br>In das Feld <b>Beschreibung:</b> kannst Du eine Beschreibung für den Ordner eingeben.<br><br>Nun noch ein Klick auf <b>Hinzufügen</b> und der neue Ordner steht Dir zur Verfügung.';
        echo 
"</td></table>";
    }

    
// code to display user list
    
else if ($action == 'users')
    {
        echo 
"<table width='650'><tr><td>";

        
$users $this->db->load_all(
            
"SELECT user_id, user_name
            FROM 
{$prefix}user
            ORDER BY user_name ASC"
);

        echo 
"<br><b>Benutzer:</b><br><br>";

        foreach (
$users as $user)
        {
            echo 
'<a href="' $this->href('''', ['action' => 'contacts''contact' => $user['user_id']]) . '">' $user['user_name'] . '</a> ';
        }

        echo 
"</td></tr></table>";
        echo 
'<span class="cite"><br><br>Klick auf den Namen um den User zu Deiner Kontaktliste hinzuzufügen!</span><br><br>';
    }

    
// help
    
else if ($action == 'help')
    {
        echo 
"<table width='700'><tr><td>";
        echo 
"<a name= anfang></a>";
        echo 
"<h3><center>Hilfe für das WackoWiki-Message-System</center></h3>";
        echo 
"<br><br>Auf dieser Seite gibt es einige Hilfestellungen zu den Funktionen des WackoWiki-Message-Systems. Die Erklärungen sind kurz gehalten, da die meisten Funktionen selbsterklärend sind.<br>Nachfolgend findest Du ein Inhaltsverzeichnis zu den hier erläuterten Funktionen:<br><br><br>";

        echo 
"<a href=#post>Posteingang</a><br>";
        echo 
"<a href=#verf>Verfassen</a><br>";
        echo 
"<a href=#vers>Postausgang</a><br>";
        echo 
"<a href=#verw>Verwalten</a><br>";
        echo 
"    - <a href=#ordn>Ordner</a><br>";
        echo 
"    - <a href=#kont>Kontaktliste</a><br>";

        echo 
"<a href=#benu>Benutzer</a><br><br>";
        echo 
"<a name= post><center><h3>Posteingang</h3></center></a><br><br>";
        echo 
"Im Posteing werden alle eingetroffenen Nachrichten angezeigt, sowie einige zusätzliche Info`s zu den einzelnen Nachrichten.<br><br>In der folgenden Darstellung siehst Du ein Beispiel, wie der Posteingangsordner aussehen kann:<br><br><br>";

        echo 
"<table>";
        echo 
"<tr bgcolor='#93B2DD'>";
        echo 
"<td width='400'>";
        echo 
"<table border='0' cellspacing='0' cellpadding='0' width='100%'>";
        echo 
"<tr><td width='100'><b> Betreff:</b></td></td></tr></table></td>";
        echo 
"<td width='100'><b> Absender:</b></td>";
        echo 
"<td width='250'><b> Verschieben in Ordner:</b></td>";
        echo 
"<td width='80'><b> Löschen:</b></td></tr></table>";

        echo 
"<table>";
        echo 
"<tr>";
        echo 
"<td width='400'>";
        echo 
"<table border='0' cellspacing='0' cellpadding='0' width='100%'>";
        echo 
"<tr><td width='100'><font color= #ff0000>!*</font><a href=#test>Testnachricht</a> (03Jun06 2:57 pm)</td></td></tr></table></td>";
        echo 
"<td width='100'><a href=#testuser>Testuser</a> [<a href=#pfeil>-></a>]</td>";
        echo 
"<td width='250'><form method=post <select name=\"move2folder\"></select><input type='submit' value='Verschieben'></form></td>";
        echo 
"<td width='80'><a href=#loeschen>Löschen</a></td></tr></table>";

        echo 
"<table>";
        echo 
"<tr>";
        echo 
"<td width='400'>";
        echo 
"<table border='0' cellspacing='0' cellpadding='0' width='100%'>";
        echo 
"<tr><td width='100'><font color= #ff0000>!</font><a href=#test1>Testnachricht1</a><font color= #808080><small><b> beantwortet am:</b> (01Jun06 1:02 pm)</font></small></td></td></tr></table></td>";
        echo 
"<td width='100'><a href=#testuser>Testuser16</a> [<a href=#pfeil>-></a>]</td>";
        echo 
"<td width='250'><right><form method=post <select name=\"move2folder\"></select><input type='submit' value='Verschieben'></form></right></td>";
        echo 
"<td width='80'><a href=#loeschen>Löschen</a></td></tr></table><br>";

        echo 
"<a href=#anfang>Seitenanfang</a><br><br>";
        echo 
"<h4><center>Was bedeuten die Zeichen vor und hinter den Nachrichten?</center></h4><br><br> - Das <b><font color= #ff0000>!</font></b> vor einer Nachricht erscheint, wenn der Absender die Nachricht als <b>dringend</b> markiert hat.<br><br> - Das <b><font color= #ff0000>*</font></b> vor der Nachricht zeigt an, das die Nachricht noch nicht gelesen wurde. Sobald die Nachricht gelesen wurde verschwindet<br>    das <b><font color= #ff0000>*</font></b> und der Absender erhält die Information, dass die Nachricht gelesen wurde.<br><br>";
        echo 
" - Die Daten hinter der Nachricht geben an, wann die Nachricht erhalten bzw. gesendet wurde. Ausserdem wird in einer anderen<br>    Farbe angezeigt ob und wann eine Nachricht beantwortet wurde.<br><br><center><h4>Wie kann ich eine Nachricht öffnen?</center></h4><br><br>Um eine Nachricht zu lesen muss man auf den <b>Betreff</b> der Nachricht klicken, die geöffnet werden soll. Anschliessend wird die Nachricht<br>in einem neuen Fenster dargestellt.<br><br><center><h4>Nachrichten in andere Ordner verschieben!</center></h4><br><br>";
    }
}
else
{
    echo 
'Du must registriert und angemeldet sein um das Message-System nutzen zu können!';
}