LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /logd/mail.php

Hier klicken für den Source, ODER
Weitere Dateien, von denen du den Quelltext sehen kannst:
(Das Lesen des Source, um sich spielerische Vorteile zu verschaffen, ist nicht erlaubt. Solltest du Schwachstellen oder Fehler entdecken, bist du als Spieler verpflichtet, diese zu melden.)

Source von: /logd/mail.php

<?php
require_once "common.php";
require_once 
"func/systemmail.php";
require_once 
"func/petitionmail.php";
require_once 
"func/popup.php";
require_once 
"func/mail_reason.php";

// (C) COPYRIGHT 2005-2009 Kevz
output('<script language="JavaScript">
<!--
function CountMax($var) {
var wert,max;
max = $var;
wert = max-document.mail.body.value.length;
if (wert < 0) {
alert("Es dürfen nicht mehr als " + max + " Zeichen eingegeben werden!");
document.mail.body.value = document.mail.body.value.substring(0,max);
wert = max-document.mail.body.value.length;
document.mail.rv_counter.value = wert;

} else {
document.mail.rv_counter.value = max - document.mail.body.value.length;
}
}
//-->
</script> '
,true);


/* SQL:

CREATE TABLE `block` (
`id` INT( 11 ) NOT NULL auto_increment,
`blocked` INT( 11 ) UNSIGNED NOT NULL ,
`blocker` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY ( `id` )
) TYPE = MYISAM ;

CREATE TABLE `mailadressen` (
  `row_id` int(11) NOT NULL auto_increment,
  `acctid` int(11) NOT NULL default '0',
  `player` varchar(255) NOT NULL default '',
  `descr` varchar(80) NOT NULL default '',
  PRIMARY KEY  (`row_id`),
  KEY `acctid` (`acctid`)
);

CREATE TABLE mail2 (
  messageid int(11) unsigned NOT NULL auto_increment,
  msgfrom int(11) unsigned NOT NULL default '0',
  msgto int(11) unsigned NOT NULL default '0',
  subject varchar(50) NOT NULL default '',
  body text NOT NULL,
  sent datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (messageid),
  KEY msgto (msgto)
) TYPE=MyISAM;

Kathegorien Update :

SQL :
*****
ALTER TABLE `mail2` ADD `reason` int(4) unsigned NOT NULL default '0';


PHP :
*****

füge folgendes ein in die common.php :


///////////////////////////////////////// Kathegorien ändern start /////////////////////////////////////////


//$mail_reason = array (0=>"Sonstiges", 1=>"X-Posting", 2=>"Rassenwechsel", 3=>"Namenswechsel");


///////////////////////////////////////// Kathegorien ändern ende  /////////////////////////////////////////


um weitere Kathegorien ein zu binden den array entsprechend erweitern und zusätzlich die ebenso markierte Stelle in der "mail.php" erweitern

*/




/**************************************
 *                                    *
 * Kopfdaten, stehen immer da         *
 *                                    *
 *************************************/

popup_header("Taubenschlag");
output("<a href='mail.php' class='motd'>Eingefangene Brieftauben</a><a href='mail.php?op=address' class='motd'>Brief schreiben</a>`n`n",true);
output("<a href='mail.php?op=buch' class='motd'>Freunde</a>",true);  // www.plueschdrache.de Adressbuch
output("<a href='mail.php?op=block' class='motd'>Feinde</a>`n`n",true); // www.anaras.ch Blockliste
output("<a href='mail.php?op=outbox' class='motd'>Abgeschickte Brieftauben</a>`n`n",true);

/**************************************
 *                                    *
 * Wir gucken jetzt mal was genau     *
 * gemacht wird                       *
 *                                    *
 *************************************/

switch($_GET['op']) {


/**************************************
 *                                    *
 * Die einzelnen Optionen,            *
 * die ausgeführt werden              *
 *                                    *
 *************************************/


case "del":
    
/**************************************
     *                                    *
     * Eine Mail löschen                  *
     *                                    *
     *************************************/
    
$sql "DELETE FROM mail WHERE msgto='".$session['user']['acctid']."' AND messageid='$_GET[id]'";
    
db_query($sql);
    
header("Location: mail.php");
    exit();

    break;

case 
"delout":
    
/**************************************
     *                                    *
     * Eigene Mail löschen                *
     *                                    *
     *************************************/
    
$sql "DELETE FROM mail WHERE msgfrom='".$session['user']['acctid']."' AND messageid='$_GET[id]'";
    
db_query($sql);
    
header("Location: mail.php");
    exit();

    break;

case 
"system":
    
/**************************************
     *                                    *
     *    Systemmails löschen               *
     *                                    *
     *************************************/
        
$sql "DELETE FROM mail WHERE msgto='".$session['user']['acctid']."' AND msgfrom='0'";
        
db_query($sql);
        
header("Location: mail.php");
        exit();
    
    break;
    
case 
"process":
    
/**************************************
     *                                    *
     * mehrere Mails löschen              *
     *                                    *
     *************************************/

    // keine Mails ausgewählt
    
if (!is_array($_POST['msg']) || count($_POST['msg'])<1){
        
$session['message'] = "`\$`bDu kannst 0 Nachrichten nicht löschen! Was das heißt? Du hast \"Markierte löschen\" geklickt, aber es sind keine Nachrichten markiert. Was für eine Welt ist das nur, in der Leute Knöpfe ohne Funktion drücken?!?`b`0";
        
header("Location: mail.php");

    
// Mails ausgewählt
    
} else {
        
$sql "DELETE FROM mail WHERE msgto='".$session['user']['acctid']."' AND messageid IN ('".join("','",$_POST['msg'])."')";
        
db_query($sql);
        
header("Location: mail.php");
        exit();
    }

    break;

case 
"processout":
    
/**************************************
     *                                    *
     * mehrere eigene Mails löschen       *
     *                                    *
     *************************************/

    // keine Mails ausgewählt
    
if (!is_array($_POST['msg']) || count($_POST['msg'])<1){
        
$session['message'] = "`\$`bDu kannst 0 Nachrichten nicht löschen! Was das heißt? Du hast \"Markierte löschen\" geklickt, aber es sind keine Nachrichten markiert. Was für eine Welt ist das nur, in der Leute Knöpfe ohne Funktion drücken?!?`b`0";
        
header("Location: mail.php");

    
// Mails ausgewählt
    
} else {
        
$sql "DELETE FROM mail WHERE msgfrom='".$session['user']['acctid']."' AND messageid IN ('".join("','",$_POST['msg'])."')";
        
db_query($sql);
        
header("Location: mail.php");
        exit();
    }

    break;

case 
"send":
    
/**************************************
     *                                    *
     * Eine Mail senden                   *
     *                                    *
     *************************************/

    
if (empty($_POST['petitionid'])) {
        
$sql "SELECT acctid FROM accounts WHERE login='$_POST[to]' OR acctid='$_POST[to]'";
        
$result db_query($sql);
        if (
db_num_rows($result)>0){
            
$row1 db_fetch_assoc($result);
            
$sql "SELECT count(messageid) AS count FROM mail WHERE msgto='".$row1['acctid']."' AND seen=0";
            
$result db_query($sql);
            
$row db_fetch_assoc($result);
            
$sqlb "SELECT blocked FROM block WHERE blocker='".$row1['acctid']."' AND blocked='".$session['user']['acctid']."'";
            
$resultb db_query($sqlb);
            
$block db_fetch_assoc($resultb);
            
$sqlb1 "SELECT blocked FROM block WHERE blocker='".$session['user']['acctid']."' AND blocked='".$row1['acctid']."'";
            
$resultb1 db_query($sqlb1);
            
$block1 db_fetch_assoc($resultb1);
            if(
db_num_rows($resultb)>0){
                
output("`\$`bDiese Person hat dich geblockt!`b`n`n`0");

            } else if(
db_num_rows($resultb1)>0){
                
output("`\$`bDu hast diese Person geblockt!`b`n`n`0");

            } else if (
$row['count']>getsetting("inboxlimit",50)) {
                
output("Die Mailbox dieser Person ist voll! Du kannst ihr keine Nachricht schicken.");

            }else{
                
$_POST['subject']=closetags(str_replace("`n","",$_POST['subject']),'`c`i`b');
                
$_POST['body']=str_replace("`n","\n",$_POST['body']);
                
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
                
$_POST['body']=str_replace("\r","\n",$_POST['body']);
                
$_POST['body']=addslashes(substr(stripslashes($_POST['body']),0,(int)getsetting("mailsizelimit",1024)));
                
$_POST['body'] = closetags($_POST['body'],'`c`i`b');
                
systemmail($row1['acctid'],$_POST['subject'],$_POST['body'],$session['user']['acctid']);
                
output("Deine Nachricht wurde gesendet!`n");

                if (
$_POST['insert']=='insert'){
                    
$sql "INSERT INTO mail2 (msgfrom,msgto,reason,subject,body,sent) VALUES ('".$session['user']['acctid']."','".$row1['acctid']."','".$_POST['reason']."','".$_POST['subject']."','".$_POST['body']."',now())";
                     
db_query($sql);
                    
output("Und in das universelle Anschreibdingsbums übertragen!`n");
                 }

            }
        }else{
            
output("Konnte den Empfänger nicht finden. Bitte versuche es nochmal.`n");
        }
    } else {
//        print_r($_POST);
        
$sql "SELECT count(messageid) AS count FROM petitionmail WHERE petitionid='$_POST[petitionid]' AND msgto='".$session['user']['acctid']."'";
        
$row db_fetch_assoc(db_query($sql));
        
$sql "SELECT aufgebot FROM petitions WHERE petitionid='$_POST[petitionid]' AND author='".$session['user']['acctid']."'";
        
$row2 db_fetch_assoc(db_query($sql));
        if (
$row['count']==0) {
            
output('Du kannst nur zu deinen eigenen Anfragen etwas schreiben!');
        } else {
            
$_POST['subject']=closetags(str_replace("`n","",$_POST['subject']),'`c`i`b');
            
$_POST['body']=str_replace("`n","\n",$_POST['body']);
            
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
            
$_POST['body']=str_replace("\r","\n",$_POST['body']);
            
$_POST['body']=substr($_POST['body'],0,(int)getsetting("mailsizelimit",1024));
            
$_POST['body'] = closetags($_POST['body'],'`c`i`b');
            
petitionmail($_POST['subject'],$_POST['body'],$_POST['petitionid'],$session['user']['acctid']);
            
output("Deine Nachricht wurde gesendet!`n");
            if(
$row2['aufgebot']==0){
                
$subjekt="`^Antwort auf Hilfsanfrage Nr. `&".$_POST['petitionid']."`0";
                
$body="`^Auf die von dir bearbeitete Hilfsanfrage mit der Nummer `&".$_POST['petitionid']."`^ wurde eine weitere Antwort geschrieben. ";
                
$body.="Bitte gehe zu den Anfragen und schau dort nach.`0";
            }else{
                
$subjekt="`^Antwort das Aufgebot Nr. `&".$_POST['petitionid']."`0";
                
$body="`^Auf das von dir bearbeitete Aufgebot mit der Nummer `&".$_POST['petitionid']."`^ wurde eine weitere Antwort geschrieben. ";
                
$body.="Bitte gehe zu den Aufgeboten und schau dort nach.`0";
            }
            
systemmail($_POST['petitionadmin'],$subjekt,$body,0);
        }
    }
    break;

/**************************************
 *                                    *
 * Die Standardansichten              *
 *                                    *
 *************************************/


default:
    
/**************************************
     *                                    *
     * Posteingang                        *
     *                                    *
     **************************************/
//    output("`b`iMail Box`i`b");
    
output("`n");

    
output($session['message']);
    
$session['message']="";
    
$sql "SELECT mail.subject,mail.messageid,accounts.name,mail.msgfrom,mail.seen,mail.sent, petitionmail.petitionid, petitionmail.sender FROM mail LEFT JOIN petitionmail USING(messageid) LEFT JOIN accounts ON accounts.acctid=mail.msgfrom WHERE mail.msgto=\"".$session['user']['acctid']."\" ORDER BY mail.seen,mail.sent";
    
$result db_query($sql);
    if (
db_num_rows($result)>0){
        
output("<form action='mail.php?op=process' method='POST'><table>",true);
        for (
$i=0;$i<db_num_rows($result);$i++){
            
$row db_fetch_assoc($result);
/*
            if ((int)$row[msgfrom]==0) {
                if ((int)$row['petitionid']==0)    $row[name]="`i`^System`0`i";
                else $row['name'] = "`i`^Admin`0`i";
            }
*/
        
if ((int)$row['msgfrom']==0) {
            if ((int)
$row['petitionid']==0){
                
$row['name']="`i`^System`0`i";
            }elseif(
$row['sender']>0){
                
$row['name'] = "`i`^Priester`0`i";
            }else{
                
$row['name'] = "`i`^Admin`0`i";
            }
        }


            
output("<tr>",true);
            
output("<td nowrap><input id='checkbox$i' type='checkbox' name='msg[]' value='$row[messageid]'><img src='images/".($row['seen']?"old":"new")."scroll.GIF' width='16' height='16' alt='".($row['seen']?"Alt":"Neu")."'></td>",true);
            
output("<td><a href='mail.php?op=read&id=$row[messageid]'>",true);
            
output($row['subject']);
            
output("</a></td><td><a href='mail.php?op=read&id=$row[messageid]'>",true);
            
output($row['name']);
            
output("</a></td><td><a href='mail.php?op=read&id=$row[messageid]'>".date("M d, h:i a",strtotime($row['sent']))."</a></td>",true);
            
output("</tr>",true);
        }

        
output("</table>",true);
        



        
$out="<input type='button' value='Alle markieren' class='button' onClick='";
        for (
$i=$i-1;$i>=0;$i--){
            
$out.="document.getElementById(\"checkbox$i\").checked=true;";
        }
        
$out.="'>";

        
output($out,true);
        
output("<input type='submit' class='button' value='Markierte freilassen'>",true);
        
output("<input type='button' class='button' onClick=\"location.href='mail.php?op=system'\" value='Systemmails löschen'>",true);
        
output("</form>",true);

    }else{
        
output("`iOoooh, du hast keine Mails. Wie schade.`i");

    }

    
output("`n`n`iDu hast ".db_num_rows($result)." Nachrichten in deiner Mailbox`nUngelesene Nachrichten werden nach ".getsetting("oldmail",14)." Tagen gelöscht.`nGelesene Nachrichten werden nach ".getsetting('oldreadedmail',14)." Tagen gelöscht.`n");
    break;

    
/**********************************
    *      Postausgang                *
    **********************************/

/***********************************************
*Diese Box darf nicht entfernt werden!        *
*-------------------------------------        *
*Outbox von Tweety und Kelko                  *
*                                             *
*www.tugc-lotgd.6x.to                         *
***********************************************/
case "outbox":

//    output("`b`iAusgang`i`b");
    
output("`n");

    
output($session['message']);
    
$session['message']="";
    
$sql "SELECT mail.subject,mail.messageid,accounts.name,mail.msgfrom,mail.seen,mail.sent, petitionmail.petitionid FROM mail LEFT JOIN petitionmail USING(messageid) INNER JOIN accounts ON accounts.acctid=mail.msgto WHERE mail.msgfrom=\"".$session['user']['acctid']."\" ORDER BY mail.seen,mail.sent";
    
$result db_query($sql);
    if (
db_num_rows($result)>0){
        if(
$session['user']['superuser']>1output("<form action='mail.php?op=processout' method='POST'><table>",true);
        else 
output("<table>",true);
        for (
$i=0;$i<db_num_rows($result);$i++){
            
$row db_fetch_assoc($result);

            
output("<tr>",true);
            if (
$row['seen']==&& $session['user']['superuser']>1){
                
output("<td nowrap><input id='checkbox$i' type='checkbox' name='msg[]' value='$row[messageid]'><img src='images/".($row['seen']?"old":"new")."scroll.GIF' width='16' height='16' alt='".($row['seen']?"Alt":"Neu")."'></td>",true);
            } else {
                
output("<td nowrap><img src='images/".($row['seen']?"old":"new")."scroll.GIF' width='16' height='16' alt='".($row['seen']?"Alt":"Neu")."'></td>",true);
            }
            
output("<td><a href='mail.php?op=readSend&id=$row[messageid]'>",true);
            
output($row['subject']);
            
output("</a></td><td><a href='mail.php?op=readSend&id=$row[messageid]'>",true);
            
output($row['name']);
            
output("</a></td><td><a href='mail.php?op=readSend&id=$row[messageid]'>".date("M d, h:i a",strtotime($row['sent']))."</a></td>",true);
            
output("</tr>",true);
        }

        
output("</table>",true);
        if(
$session['user']['superuser']>1output("<input type='submit' class='button' value='Markierte löschen'>",true);
        
output("</form>",true);

       }else{
            
output("`iOoooh, du hast keine Mails. Wie schade.`i");

       }

       
output("`n`n`iDu hast ".db_num_rows($result)." Nachrichten in deiner Mailbox`nUngelesene Nachrichten werden nach ".getsetting("oldmail",14)." Tagen, gelesene nach ".getsetting("oldreadedmail",14)." Tagen, gelöscht.");

    break;
case 
"readSend":
    
/**************************************
     *                                    *
     * Mails ausgang lesen                         *
     *                                    *
     **************************************/

    
$sql "SELECT mail.*,accounts.name, petitionmail.petitionid FROM mail LEFT JOIN petitionmail USING(messageid) LEFT JOIN accounts ON accounts.acctid=mail.msgto WHERE mail.messageid=\"".$_GET['id']."\"";
    
$result db_query($sql) or die(db_error(LINK));
    if (
db_num_rows($result)>0){
        
$row db_fetch_assoc($result);

        
output("`b`2Empfänger:`b `^$row[name]`n");
        
output("`b`2Betreff:`b `^$row[subject]`n");
        
output("`b`2Gesendet:`b `^{$row['sent']}`n");
        
output("<img src='images/uscroll.GIF' width='182' height='11' alt='' align='center'>`n",true);
        
output(str_replace("\n","`n","$row[body]"));
        
output("`n<img src='images/lscroll.GIF' width='182' height='11' alt='' align='center'>`n",true);

    }else{
        
output("Uff, so eine Nachricht wurde nicht gefunden!");

    }
    break;
case 
"read":
    
/**************************************
     *                                    *
     * Mail lesen                         *
     *                                    *
     **************************************/

    
$sql "UPDATE mail SET seen=1 WHERE  msgto=\"".$session['user']['acctid']."\" AND messageid=\"".$_GET['id']."\"";
    
db_query($sql);
    
$sql "UPDATE mail SET `readed`=NOW() WHERE  msgto=\"".$session['user']['acctid']."\" AND messageid=\"".$_GET['id']."\"";
    
db_query($sql);
//    $sql = "UPDATE mail SET `read`=\"".date("Y-m-d H:i:s",strtotime(date("c")))."\" WHERE  msgto=\"".$session[user][acctid]."\" AND messageid=\"".$_GET[id]."\"";
//    db_query($sql);
    
$sql "SELECT mail.*,accounts.name, petitionmail.petitionid, petitionmail.sender FROM mail LEFT JOIN petitionmail USING(messageid) LEFT JOIN accounts ON accounts.acctid=mail.msgfrom WHERE mail.msgto=\"".$session['user']['acctid']."\" AND mail.messageid=\"".$_GET['id']."\"";
    
$result db_query($sql) or die(db_error(LINK));
    if (
db_num_rows($result)>0){
        
$row db_fetch_assoc($result);
/*
        if($row['petitionid']>0){
            $sql = "SELECT aufgebot FROM  petitions WHERE petitionid=".$row['petitionid']." AND author='".$session['user']['acctid']."'";
            $result2 = db_query($sql);
            $row2 = db_fetch_assoc($result2);
        }
*/

        
if ((int)$row['msgfrom']==0) {
            if ((int)
$row['petitionid']==0){
                
$row['name']="`i`^System`0`i";
            }elseif(
$row['sender']>0){
                
$row['name'] = "`i`^Priester`0`i";
            }else{
                
$row['name'] = "`i`^Admin`0`i";
            }
        }

        
output("`b`2Absender:`b `^$row[name]`n");
        
output("`b`2Betreff:`b `^$row[subject]`n");
        
output("`b`2Gesendet:`b `^{$row['sent']}`n");
        
output("<img src='images/uscroll.GIF' width='182' height='11' alt='' align='center'>`n",true);
        
output(str_replace("\n","`n","$row[body]"));
        
output("`n<img src='images/lscroll.GIF' width='182' height='11' alt='' align='center'>`n",true);
        
output("<a href='mail.php?op=write&replyto=$row[messageid]' class='motd'>Antworten</a><a href='mail.php?op=del&id=$row[messageid]' class='motd'>Freilassen</a>",true);

    }else{
        
output("Uff, so eine Nachricht wurde nicht gefunden!");

    }
    break;


case 
"address":
    
/**************************************
     *                                    *
     * Empfänger wählen                   *
     *                                    *
     **************************************/
    
output("<form action='mail.php?op=write' method='POST'>",true);
    
output("`b`2Empfänger:`b`n");
    
output("`2<u>A</u>n: <input name='to' accesskey='a'> <input type='submit' class='button' value='Name suchen'></form>",true);

    break;

case 
"write":
    
/**************************************
     *                                    *
     * Eine Mail schreiben                *
     *                                    *
     **************************************/

    
$subject="";
    
$body="";
    
output("<form action='mail.php?op=send' method='POST' name='mail'>",true);
    if (
$_GET['replyto']!=""){
        
$sql "SELECT mail.body,mail.subject,accounts.login,accounts.name,accounts.acctid, petitionmail.petitionid, petitionmail.msgfrom FROM mail LEFT JOIN petitionmail USING(messageid) LEFT JOIN accounts ON accounts.acctid=mail.msgfrom WHERE mail.msgto=\"".$session['user']['acctid']."\" AND mail.messageid=\"".$_GET['replyto']."\"";
        
$result db_query($sql) or die(db_error(LINK));
        if (
db_num_rows($result)>0){
            
$row db_fetch_assoc($result);
            if (
$row['login']=="" && (int)$row['petitionid']==0) {
                
output("Du kannst nicht auf eine Systemnachricht antworten.`n");
                
$row=array();
            }
        }else{
            
output("Uff, so eine Nachricht wurde nicht gefunden!`n");
        }
    }
    if (
$_GET['to']!=""){
        
$sql "SELECT acctid, login,name,acctid FROM accounts WHERE login=\"$_GET[to]\"";
        
$result db_query($sql);
        if (
db_num_rows($result)>0){
            
$row db_fetch_assoc($result);
        }else{
            
output("Konnte diese Person nicht finden.`n");
        }
    }
    if (
is_array($row)){
        if (
$row['subject']!=""){
            
$subject=$row['subject'];
            if (
substr($subject,0,4)!="RE: "$subject="RE: $subject";
        }
        if (
$row['body']!=""){
            
$body="\n\n---Original Message---\n".$row['body'];
        }
    }elseif(isset(
$_GET['subject'])){
        
$subject=$_GET['subject'];
    }
    if (
$row['petitionid']>0) {
        
output("`2An: `^`iAdmin`i`n");
    } elseif (
$row['login']!=""){
//        output("<input type='hidden' name='to' value=\"".HTMLSpecialChars($row[login])."\">",true);
        
output("<input type='hidden' name='to' value=\"".$row['acctid']."\">",true);
        
output("`2An: `^$row[name]`n");
    }else{
        
output("`2An: ");
        
$string="%";
        for (
$x=0;$x<strlen($_POST['to']);$x++){
            
$string .= substr($_POST['to'],$x,1)."%";
        }
        
$sql "SELECT acctid, login,name FROM accounts WHERE name LIKE '".addslashes($string)."' AND locked=0 ORDER BY login";
        
$result db_query($sql);
        if (
db_num_rows($result)==1){
            
$row db_fetch_assoc($result);
//            output("<input type='hidden' name='to' value=\"".HTMLSpecialChars($row[login])."\">",true);
            
output("<input type='hidden' name='to' value=\"".$row['acctid']."\">",true);
            
output("`^$row[name]`n");
        }else{
            
output("<select name='to'>",true);
            for (
$i=0;$i<db_num_rows($result);$i++){
                
$row db_fetch_assoc($result);
//                output("<option value=\"".HTMLSpecialChars($row[login])."\">",true);
                
output("<option value=\"".$row['acctid']."\">",true);
                
output(preg_replace("/[`]./","",$row['name']));
            }
            
output("</select>`n",true);
        }
    }
    
output("`2Betreff:");
    
// $output.=("<input name='subject' value=\"".HTMLSpecialChars($subject).HTMLSpecialChars(stripslashes($_GET['subject']))."\">");
    
$output.=("<input name='subject' value=\"".HTMLSpecialChars($subject).HTMLSpecialChars(stripslashes($_GET['subject']))."\">&nbsp;Noch <input typ='hidden' name='rv_counter' size='".strlen(getsetting('mailsizelimit' ,0))."' value='".getsetting('mailsizelimit' ,0)."' readonly> Zeichen übrig.");
    
    
output("`n`2Text:`n"); 
    
// $output.="<textarea name='body' class='input' cols='80' rows='16'>".HTMLSpecialChars($body).HTMLSpecialChars(stripslashes($_GET['body']))."</textarea><br>";
    
$output.="<textarea name='body' class='input' cols='80' rows='16' OnFocus='CountMax(".getsetting('mailsizelimit' ,0).");' OnClick='CountMax(".getsetting('mailsizelimit' ,0).");' OnChange='CountMax(".getsetting('mailsizelimit' ,0).");' onKeydown='CountMax(".getsetting('mailsizelimit' ,0).");' onKeyup='CountMax(".getsetting('mailsizelimit' ,0).");' wrap='virtual'>".HTMLSpecialChars($body).HTMLSpecialChars(stripslashes($_GET['body']))."</textarea><br>";
        
    if(
$session['user']['superuser']>1){

/**************************************** Kathegorien ändern start ****************************************/

//        output("<label for='reason'>Kathegorie:</label> <select name='reason' id='reason'><option value='0'>".$mail_reason["0"]."</option> <option value='1'>".$mail_reason["1"]."</option> <option value='2'>".$mail_reason["2"]."</option> <option value='3'>".$mail_reason["3"]."</option></select>",true);
        
$grund="<label for='reason'>Kathegorie:</label> <select name='reason' id='reason'>";
        
$i=0;
        while(!empty(
$mail_reason[$i])){
            
$grund.="<option value='".$i."'>".$mail_reason[$i]."</option>";
            
$i++;            
        }
        
$grund.="</select>";
        
output($grund,true);
/**************************************** Kathegorien ändern ende  ****************************************/

        
output("<br /><input id='checkbox' type='checkbox' name='insert' value='insert'>&nbsp `&Ins Allgemeineanschreibdingsbums speichern `0",true);
        
output("<br /><br /><input type='submit' class='button' value='Abschicken'>`n",true);
    } else {
        
output("<input type='submit' class='button' value='Abschicken'>`n",true);
    }
    if (
$row['petitionid']>0output('<input type="hidden" name="petitionid" value="'.$row['petitionid'].'"><input type="hidden" name="petitionadmin" value="'.$row['msgfrom'].'">',true);
    
output("</form>",true);
    break;

/**************************************
 *                                    *
 * Das Adressbuch                     *
 *                                    *
 **************************************/

case "buch":

    
//Adressbuch einsehen

    /***********************************************
     *Diese Box darf nicht entfernt werden!        *
     *-------------------------------------        *
     *Adressbuch von deZent und draKarr            *
     *Version: 0.5                                 *
     *www.plueschdrache.de                         *
     ***********************************************/

    
$sql="SELECT DISTINCT player, descr FROM  mailadressen WHERE acctid=".$session['user']['acctid']." ORDER BY player;";
    
$result=db_query($sql);
    
$menge =db_num_rows($result);
    
output("`c`bAdressbuch`b`c`n`n");
    
output("<table>",true);
    for (
$i=0;$i<$menge;$i++){
        
$row=db_fetch_assoc($result);
        
output("<tr><td><a href='mail.php?op=write&to=".$row['player']."'>&raquo </a></td>
        <td><a href='mail.php?op=write&to="
.$row['player']."'>".$row['player']."</a></td>
        <td>&nbsp;&nbsp;</td>
        <td> "
.$row['descr']."</td>
        </tr> "
,true);
    }
    
    if (!
$menge){
    
output("`n`$ Du hast noch keine Kontakte gespeichert`7`n");}
    
output("</table>",true);
    
output("`n`n");
    
output("<a href='mail.php?op=neuerkontakt' class='motd'>neuer Kontakt</a>
        <a href='mail.php?op=delkontakt' class='motd'>Kontakt löschen</a>"
,true);
    
db_free_result($result);
    break;

case 
"neuerkontakt":
    
//Neuen Kontakt hinzufügen 1
    //Namen suchen

    
output("<form action='mail.php?op=neuerkontakt2' method='POST'>",true);
    
output("`b`2Name:`b`n");
    
output("`2<u>A</u>n: <input name='to' accesskey='a' value='".$_GET['name']."'> <input type='submit' class='button' value='Kontakt suchen'></form>",true);
    break;

case 
"neuerkontakt2":
    
//Neuen Kontakt hinzufügen 2
    //Namen auswählen

    
output("`2Name: ");
    
$string="%";
    for (
$x=0;$x<strlen($_POST['to']);$x++){
        
$string .= substr($_POST['to'],$x,1)."%";
    }

    
$sql "SELECT login,name FROM accounts WHERE name LIKE '".addslashes($string)."' AND locked=0 ORDER BY login";
    
$result db_query($sql);
    
output("<form action='mail.php?op=neuerkontakt3' method='POST'>",true);
    if (
db_num_rows($result)==1){
        
$row db_fetch_assoc($result);
        
output("<input type='hidden' name='to' value=\"".HTMLSpecialChars($row['login'])."\">",true);
        
output("`^$row[name]`n");
    }else{
        
output("<select name='to'>",true);
        for (
$i=0;$i<db_num_rows($result);$i++){
            
$row db_fetch_assoc($result);
            
output("<option value=\"".HTMLSpecialChars($row['login'])."\">",true);
            
output(preg_replace("/[`]./","",$row['name']));
        }
        
output("</select><br>`n",true);
    }
    
db_free_result($result);
    
    
output("<br>Beschreibung [max.80]:<input type='text' name='descr' maxlenght='80' size='13'>",true);
    
output("<br><br><input type='submit' name='s1' value='Kontakt speichern'>`n",true);
    
output("</form>`n",true);
    break;

case 
"neuerkontakt3":
    
//Neuen Kontakt hinzufügen 3
    //Eintrag schreiben

    
$sql "SELECT COUNT(*) as menge FROM `mailadressen` WHERE `acctid`=".$session['user']['acctid']." AND `player`='".$_POST['to']."'";
    
$result =db_query($sql);
    
$anzahl db_fetch_assoc($result);
    
$menge=$anzahl['menge'];
    
db_free_result($result);
    
    if (
$menge>0){
        
output("<font size=+1>Dieser Kontakt ist bereits gespeichert!",true);

    } else {
        
$descr mysqli_real_escape_string($mysqli$_POST['descr']);
        
$sql="INSERT INTO mailadressen (row_id, acctid, player, descr)
        VALUES (NULL, "
.$session['user']['acctid'].", '".$_POST['to']."', '".$descr."')";
        
db_query($sql);
        
output("<font size=+1>Der Kontakt wurde gespeichert.</font>",true);
    }

    
output("<a href='mail.php?op=neuerkontakt' class='motd'>neuer Kontakt</a>
        <a href='mail.php?op=delkontakt' class='motd'>Kontakt löschen</a>"
,true);
    break;

case 
"delkontakt":
    
//Kontakt entfernen 1
    //Kontakt auswählen

    
$sql   ="SELECT DISTINCT row_id,player FROM  mailadressen WHERE acctid=".$session['user']['acctid']." ORDER BY player;";
    
$result=db_query($sql);
    
$menge =db_num_rows($result);
    
output("`c`bAdresse löschen`b`c`n`n");
    
    for (
$i=0;$i<$menge;$i++){
        
$row=db_fetch_assoc($result);
        
output("<a href='mail.php?op=delkontakt2&row=".$row['row_id']."'>`$[del] </a>`7 ".$row['player']."<br>",true);
    }
    
db_free_result($result);
    break;

case 
"delkontakt2":
    
//Kontakt entfernen 2
    //Löschung durchführen

    
$sql="DELETE FROM mailadressen WHERE row_id='".$_GET['row']."' LIMIT 1 ";
    
db_query($sql);
    
output("`$<font size+1>Kontakt gelöscht!</font>",true);
    break;

/**************************************
 *                                    *
 * Die Blockliste                     *
 *                                    *
 **************************************/


case "block":

    
//Liste einsehen

    /**********************************************
     *Diese Box darf nicht entfernt werden!       *
     *--------------------------------------------*
     *Blockliste von Hadriel                      *
     *Version: 1.1                                *
     *www.anaras.ch                               *
     **********************************************/
     
     /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     Okay, dann lass ich die o.g. Box mal stehen,
     obwohl ich fast das ganze Ding umgeschrieben habe.
     OMG ... wie konnte man auf diesen Code auch noch stolz sein?
     Linus, für alvion.logd.de
     
     natürlich darf diese Box entfernt werden! :D
     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
     
     
    
output("`n`n`b<BIG>Blockliste</BIG>`b`n`n",true);
    
output("<table>",true);
    
$sql ="SELECT blocked, id FROM block WHERE blocker=".$session['user']['acctid']." ORDER BY id";
    
$result=db_query($sql);
    if(
db_num_rows($result)){
        while(
$block=db_fetch_assoc($result)){
            
$resdb_query("SELECT name,login,acctid FROM accounts WHERE acctid='".$block['blocked']."'");
            
$player=db_fetch_assoc($res);
            
output("<tr><td><a href='mail.php?op=delblock&del=".$block['id']."' onClick='return confirm(\"".$player['login']." wirklich austragen? \");'>".$player['name']."&nbsp;&nbsp;&nbsp; `qBlock löschen`0</a></td>
            </tr> "
,true);
        }
    }else{
        
output("`n`$ Du hast noch niemanden ignoriert`7`n");
    }

    
output("</table>",true);
    
output("`n");
    
output("<a href='mail.php?op=block1' class='motd'>Neuer Eintrag</a>",true);
    break;

case 
"block1":
    
//Jemanden blocken 1
    //Namen eingeben

    
output("<form action='mail.php?op=block2' method='POST'>",true);
    
output("`b`2Neuer Blocklisteneintrag:`b`n<input type='text' name='to'>",true);
    
output("`2<input type='submit' class='button' value='Name suchen'></form>",true);
    break;

case 
"block2":
    
//Jemanden blocken 2

    
$sql "SELECT acctid,login,name FROM accounts WHERE login LIKE '%".$_POST['to']."%' AND locked=0 ORDER BY login";
    
$result db_query($sql);
    if(
db_num_rows($result)){
        
output("<form action='mail.php?op=block3' method='POST'>",true);
        if (
db_num_rows($result)==1){
            
$row db_fetch_assoc($result);
            
output("<input type='hidden' name='to' value=\"".HTMLSpecialChars($row['acctid'])."\">",true);
            
output("`^$row[name]`n");
        }else{
            
output("<select name='to'>",true);
            for (
$i=0;$i<db_num_rows($result);$i++){
                
$row db_fetch_assoc($result);
                
output("<option value=\"".HTMLSpecialChars($row['acctid'])."\">",true);
                
output(preg_replace("/[`]./","",$row['name']));
            }
            
output("</select><br>`n",true);
        }
    }else{
        
output("<font size=+1>Keinen Spieler mit diesem Namen gefunden!</font>",true);
    }
    
output("<br><br><input type='submit' name='s1'  class='button' value='Eintragen'>`n",true);
    
output("</form>`n",true);
    break;

case 
"block3":
    
//Jemanden Blocken
    //Block setzen

    
$sql "SELECT blocked FROM block WHERE blocker=".$session['user']['acctid']." AND blocked='".$_POST['to']."'";
    
$result db_query($sql);
    if(
db_num_rows($result)){
        
output("<font size=+1>Dieser Spieler ist in der Blockliste!",true);
    }else{
        
$resdb_query("SELECT name,login,acctid,superuser FROM accounts WHERE acctid='".$_POST['to']."'");
        
$player=db_fetch_assoc($res);
        if(
$player['acctid']==$session['user']['acctid']){ //Überprüfen, ob man ignorieren darf
            
output("<font size=+1>Dich selbst eintragen mach keinen Sinn!</font>",true);
        }elseif(
$player['superuser']>=AND $player['superuser']<=5){ //Überprüfen, ob man ignorieren darf
            
output("<font size=+1>Dieser Spieler gehört zum Team! Du kannst ihn nicht ignorieren!</font>",true);
        } else {
            
$sql="INSERT INTO block (blocker, blocked)
            VALUES ('"
.$session['user']['acctid']."', '".$player['acctid']."')";
            
db_query($sql);
            
output("<font size=+1>".$player['name']."`0 wurde in die Liste eingetragen.</font>",true);
        }
    }
    break;

case 
"delblock":
    
//Block aufheben
    //Aus der liste löschen
    
$sql="DELETE FROM block WHERE id='".$_GET['del']."' LIMIT 1 ";
    
db_query($sql);
    
output("`$<font size+1>Spieler aus Liste gelöscht!</font>",true);
    break;

//Ende vom switch
}

/**************************************
 *                                    *
 * Fußdaten, stehen immer da,         *
 *                                    *
 * und bekommen kalte Füße! :D        *
 * by Linus in 2011                   *
 *                                    *
 *************************************/

popup_footer();