LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /logd/mailed2.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/mailed2.php

<?php

require_once "common.php";
require_once 
"func/isnewday.php";
require_once 
"func/mail_reason.php";
isnewday(2);

function 
analyse(){
    
$accts=array();
    
$sql="SELECT `acctid` FROM `accounts`";
    
$result=db_query($sql);
    while (
$row db_fetch_assoc($result)) {
        
$accts[$i]=(int)$row['acctid'];
        
$i++;
    }
    return array(
$accts);
}

function 
analyse2(){
    global 
$accts;
    
$gut=0;
    
$fehl=0;
    
$sql="SELECT `messageid`, `msgto` FROM mail2";
    
$result=db_query($sql);
    while (
$row db_fetch_assoc($result)) {
        if(
in_array((int)$row['msgto'],$accts)){
            
$gut++;
        }else{
            
$fehl++;
        }
        
$j++;
    }
    return array(
$j$gut$fehl);
}

$sql "DELETE FROM mail2 WHERE sent<'".date("Y-m-d H:i:s",strtotime(date("c")."-".getsetting("oldmail2",180)."days"))."'";
db_query($sql);

page_header("Superuser Messages");

output("<h3>`^`b`cNachrichten von Superusern an Spieler`c`b`0</h3>",true);


switch (
$_GET['op']) {
    case 
"":
        
addnav("Zurück");
        
addnav("G?Zurück zur Grotte","superuser.php");
        
addnav("W?Zurück zum Weltlichen","village.php");
        
addnav("Der Editor");
        
addnav("Aktualisieren",$SCRIPT_NAME);
        
addnav("`4Aufräumen",$SCRIPT_NAME."?op=clean");
        
addnav("Kathegorien");
        
$sql "SELECT * FROM mail2 WHERE reason IS NOT NULL AND NOT reason <> reason GROUP BY reason ORDER BY sent DESC";
        
$result db_query($sql);
        for (
$i=0;$i<db_num_rows($result);$i++){
            
$row db_fetch_assoc($result);
            
addnav("{$mail_reason["".$row["reason"].""]}","mailed2.php?reason={$row['reason']}");
        }
        if (
$_GET['reason']<>""output("<h3>`^`b`cKathegorie : {$mail_reason["".$_GET["reason"].""]}`c`b`0`n</h3>",true);
        
output("<table cellspacing=2 cellpadding=2 border=2 bgcolor='#999999' align='center'><tr class='trhead'>
                <td align='center'>`7 Datum & Uhrzeit : </td>
                <td align='center'> Kathegorie : </td>
                <td align='center'> Absender : </td>
                <td align='center'> Empfänger : </td>
                <td align='center'> Betreff : </td>
                <td align='center'> Text : </td>
                <td align='center'> Optionen: `0</td></tr>"
,true);
        
addnav("","mailed2.php?op=absender");
        
addnav("","mailed2.php?op=eingang");

        
output('<form action="mailed2.php" method="post">',true);
        
addnav('','mailed2.php');
        
output('Suche UserID: ');
        
output('<input type="text" name="id" size="5">',true);
        
output('<input type="submit" value="Suchen"></form>`n`n',true);
        
        if(!isset(
$_POST['id']) || $_POST['id']<1){
            if (
$_GET['reason']=="") {
                
$sql "SELECT * FROM mail2 ORDER BY sent DESC";
            } else {
                
$sql "SELECT * FROM mail2 WHERE reason='$_GET[reason]' ORDER BY sent DESC";
            }
        }else{
            if (
$_GET['reason']=="") {
                
$sql "SELECT * FROM mail2 WHERE msgto=".$_POST['id']." ORDER BY sent DESC";
            } else {
                
$sql "SELECT * FROM mail2 WHERE reason='$_GET[reason]' AND  msgto=".$_POST['id']." ORDER BY sent DESC";
            }
        }
        
$result db_query($sql);
        if (
db_num_rows($result))
            {
              
$i 0;
              while(
$row db_fetch_assoc($result))
                {
            
$sql1 "SELECT name,login FROM accounts WHERE acctid='$row[msgfrom]'";
            
$result1 db_query($sql1);
            
$row1 db_fetch_assoc($result1);
            
$sql2 "SELECT acctid, name,login FROM accounts WHERE acctid='$row[msgto]'";
            
$result2 db_query($sql2);
            
$row2 db_fetch_assoc($result2);
        
                  
output("<tr class='".($i%2?"trlight":"trdark")."'><td align='center'>`7 $row[sent] </td><td align='center'>",true);
                  
output("{$mail_reason["".$row["reason"].""]} </td><td align='center'>",true);
                      if (
$row1[name]<>"" && $row1[login]<>""output("
                              <a href=\"mail.php?op=write&to="
.rawurlencode($row1['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row1['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>
                             <a href='bio.php?char="
.rawurlencode($row1['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."'>$row1[name]`0</a>",true);
                          
output("</td><td align='center'>",true);

                    if(
$session['user']['superuser']>=4){
                      if (
$row2[name]<>"" && $row2[login]<>""output("
                             <a href=\"mail.php?op=write&to="
.rawurlencode($row2['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row2['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>
                             <a href='bio.php?char="
.rawurlencode($row2['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."'>$row2[name]</a>
                             <a href=\"user.php?op=edit&userid="
.$row2['acctid']."&ret=mailed2\">`0`n`n".$row2['acctid']."</a>",true);
                    }else{
                      if (
$row2[name]<>"" && $row2[login]<>""output("
                             <a href=\"mail.php?op=write&to="
.rawurlencode($row2['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row2['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>
                             <a href='bio.php?char="
.rawurlencode($row2['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."'>$row2[name]`0`n$row2[acctid]</a>",true);
                    }


                          
output("</td><td align='center'>`# $row[subject] </td><td align='center'>",true);
                          
output("`& $row[body]`0");
                          
output(" </td>
                          <td align='center'><a href=\"mailed2.php?op=delete&id=
$row[messageid]\" onclick='return confirm(\"Möchtest du den Eintrag wirklich löschen?\");'>[`4Löschen`0]</a></td>
                          </tr>"
,true);
                  
addnav("","mailed2.php?op=delete&id=$row[messageid]");
                  
addnav("","bio.php?char=".rawurlencode($row1['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."");
                  
addnav("","bio.php?char=".rawurlencode($row2['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."");
                  
allownav("user.php?op=edit&userid=".$row2['acctid']."&ret=mailed2");
                  
$i++;
                }
        
            }
        else
            {
              
output("<tr><td colspan=11 align='center'>Keine Nachrichten vorhanden</td></tr>",true);
            }
            
output("</table>",true);
    break;

    case 
"usuche":

        
addnav("Z?Zurück!",$SCRIPT_NAME);
    break;

    case 
"clean":
        
$accts=array();
        list(
$accts)=analyse();
        list(
$j$gut$fehl)=analyse2();
        if(
$fehl>0){
            
output("<h5>`\$Möchtest wirklich alle YoMs löschen, deren Empfänger nicht mehr existiert? <img src='./images/scrat.gif'>`0</h5>`n`n`n ",true);
            
output("`7Anzahl Spieler: `@".(count($accts))."`n`7Anzahl Einträge gesamt: `@".$j."`n`7Einträge von existierenden Spielern: `@".$gut."`n`7Einträge von gelöschten Spielern: `@".$fehl."`n");
            
addnav("L?`\$Ja! `&Löschen!",$SCRIPT_NAME."?op=clean2");
        
addnav("Z?`@Nein! `&Zurück!",$SCRIPT_NAME);
        }else{
            
output("<h5>`&Es gibt zur Zeit keine Einträge, deren Empfänger nicht mehr existieren! <img src='./images/smile.gif'>`0</h5>`n`n`n ",true);
            
output("`7Anzahl Spieler: `@".(count($accts))."`n`7Anzahl Einträge gesamt: `@".$j."`n`7Einträge von existierenden Spielern: `@".$gut."`n`7Einträge von gelöschten Spielern: `@".$fehl."`n");
        
addnav("Z?Zurück!",$SCRIPT_NAME);
        }
    break;

    case 
"clean2":
        
$accts=array();
        list(
$accts)=analyse();
        
$spieler='0';
        while (list(
$key$val) = each($accts)) {
            
$spieler.=','.$val;
        }
//        print_r($spieler);
        
$sql "DELETE FROM `mail2` WHERE `msgto` NOT IN ($spieler)";
        
$result db_query($sql);
        
$geloescht=db_affected_rows();
        
output("<h5>`^Es wurden ".$geloescht." Einträge aus der Datenbank gelöscht! <img src='./images/ok.gif'>`0</h5>`n`n`n ",true);
        
addnav("Z?Zurück!",$SCRIPT_NAME."?op=clean");
    break;

   case 
"delete":

          
$sql "SELECT * FROM mail2 WHERE messageid='$_GET[id]'";
          
$result db_query($sql);
          
$row db_fetch_assoc($result);
          
$sql1 "SELECT name FROM accounts WHERE acctid='$row[msgfrom]'";
          
$result1 db_query($sql1);
          
$row1 db_fetch_assoc($result1);
          
$sql2 "SELECT name FROM accounts WHERE acctid='$row[msgto]'";
          
$result2 db_query($sql2);
          
$row2 db_fetch_assoc($result2);
          
$sql "DELETE FROM mail2 WHERE messageid='$_GET[id]'";
          
db_query($sql);
          
output("`0Du hast gerade die YoM von $row1[name] `0an $row2[name] `0Betreffs: `#$row[subject] `0gelöscht.");

addnav("Zurück zum Editor","mailed2.php");
addnav("Zurück zur Grotte","superuser.php");
   break;

    case 
"absender":

      
output("`^`b`c<h3>Nachrichten von SU an Spieler</h3>`c`b`0`n`n`c> auf Namen klicken um Ausgang ein zu sehen <`c`n`n",true);

      
addnav("Ausgangs YoMs");
      
addnav("Aktualisieren","mailed2.php?op=absender");
      
addnav("Sonstiges");
      
addnav("Zurück zur Grotte","superuser.php");
      
addnav("Zurück zum Editor","mailed2.php");

      
output("<table cellspacing=2 cellpadding=2 border=2 bgcolor='#999999' align='center'><tr class='trhead'>
              <td align='center'>`7 Datum & Uhrzeit : </td>
              <td align='center'><a href=\"mailed2.php?op=absender\" onclick='return confirm(\"Alle Ausgangenen Yoms einsehen?\");'>Absender :</a></td>
              <td align='center'> Betreff : </td>
              <td align='center'> Text : </td>
              <td align='center'> Optionen: `0</td></tr>"
,true);
      
addnav("","mailed2.php?op=absender");

      
$sql "SELECT * FROM mail2 WHERE msgfrom IS NOT NULL AND NOT msgfrom <> msgfrom GROUP BY msgfrom ORDER BY 'sent' DESC";
      
$result db_query($sql);
      if (
db_num_rows($result))
          {
            
$i 0;
            while(
$row db_fetch_assoc($result))
              {
          
$sql1 "SELECT name,login FROM accounts WHERE acctid='$row[msgfrom]'";
          
$result1 db_query($sql1);
          
$row1 db_fetch_assoc($result1);

                
output("<tr class='".($i%2?"trlight":"trdark")."'><td align='center'>`7 $row[sent] </td><td align='center'>",true);
                
output("<a href=\"mail.php?op=write&to=".rawurlencode($row1['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row1['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>
                        <a href='mailed2.php?op=absender2&char="
.rawurlencode($row1['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."'>$row1[name]`0</a>",true);
                
output("</td><td align='center'>`# $row[subject] </td><td align='center'>`& $row[body]`0 </td>
                        <td align='center'><a href=\"mailed2.php?op=delete&id=
$row[messageid]\" onclick='return confirm(\"Möchtest du die YoM wirklich löschen?\");'>[`4Löschen`0]</a></td>
                        </tr>"
,true);
                
addnav("","mailed2.php?op=delete&id=$row[messageid]");
                
addnav("","mailed2.php?op=absender2&char=".rawurlencode($row1['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."");
                
$i++;
              }

          }
      else
          {
            
output("<tr><td colspan=11 align='center'>Keine Nachrichten vorhanden</td></tr>",true);
          }
      break;

    case 
"absender2":

      
addnav("Ausgangs YoMs");
      
addnav("Aktualisieren","mailed2.php?op=absender2&char=".urlencode($_GET['char'])."");
      
addnav("Sonstiges");
      
addnav("Zurück zur Grotte","superuser.php");
      
addnav("Zurück zum Editor","mailed2.php");


          
$sqlwho "SELECT name,acctid FROM accounts WHERE login='".urlencode($_GET['char'])."'";
          
$resultwho db_query($sqlwho);
          
$rowwho db_fetch_assoc($resultwho);

      
output("<h3>`^`cAusgangsbox von`c `n`n`c`&> $rowwho[name] `&<`c`n`n </h3>",true);

      
output("<table cellspacing=2 cellpadding=2 border=2 bgcolor='#999999' align='center'><tr class='trhead'>
              <td align='center'>`7 Datum & Uhrzeit : </td>
              <td align='center'><a href=\"mailed2.php?op=eingang\" onclick='return confirm(\"Alle Eingegangenen Yoms einsehen?\");'>Empfänger :</a></td>
              <td align='center'> Betreff : </td>
              <td align='center'> Text : </td>
              <td align='center'> Optionen: `0</td></tr>"
,true);
      
addnav("","mailed2.php?op=eingang");

      
$sql "SELECT * FROM mail2 WHERE msgfrom='$rowwho[acctid]' ORDER BY 'sent' DESC";
      
$result db_query($sql);
      if (
db_num_rows($result))
          {
            
$i 0;
            while(
$row db_fetch_assoc($result))
              {
          
$sql1 "SELECT name,login FROM accounts WHERE acctid='$row[msgfrom]'";
          
$result1 db_query($sql1);
          
$row1 db_fetch_assoc($result1);
          
$sql2 "SELECT name,login FROM accounts WHERE acctid='$row[msgto]'";
          
$result2 db_query($sql2);
          
$row2 db_fetch_assoc($result2);

                
output("<tr class='".($i%2?"trlight":"trdark")."'><td align='center'>`7 $row[sent] </td><td align='center'>",true);
                    if (
$row2[name]<>"" && $row2[login]<>""output("
                            <a href=\"mail.php?op=write&to="
.rawurlencode($row2['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row2['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>
                            <a href='mailedit.php?op=absender2&char="
.rawurlencode($row2['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."'>$row2[name]`0</a>",true);
                        
output("</td><td align='center'>`# $row[subject] </td><td align='center'>`& $row[body]`0 </td>
                        <td align='center'><a href=\"mailed2.php?op=delete&id=
$row[messageid]\" onclick='return confirm(\"Möchtest du die YoM wirklich löschen?\");'>[`4Löschen`0]</a></td>
                        </tr>"
,true);
                
addnav("","mailed2.php?op=delete&id=$row[messageid]");
              
$i++;
              }

          }
      else
          {
            
output("<tr><td colspan=11 align='center'>Keine Nachrichten vorhanden</td></tr>",true);
          }
      break;

    case 
"eingang":

      
output("`^`b`c<h3>Nachrichten von SU an Spieler</h3>`c`b`0`n`n`c> auf Namen klicken um Eingang ein zu sehen <`c`n`n",true);

      
addnav("Eingegangene YoMs");
      
addnav("Aktualisieren","mailed2.php?op=eingang");
      
addnav("Sonstiges");
      
addnav("Zurück zur Grotte","superuser.php");
      
addnav("Zurück zum Editor","mailed2.php");

      
output("<table cellspacing=2 cellpadding=2 border=2 bgcolor='#999999' align='center'><tr class='trhead'>
              <td align='center'>`7 Datum & Uhrzeit : </td>
              <td align='center'><a href=\"mailed2.php?op=eingang\" onclick='return confirm(\"Alle Eingegangenen Yoms einsehen?\");'>Empfänger :</a></td>
              <td align='center'> Betreff : </td>
              <td align='center'> Text : </td>
              <td align='center'> Optionen: `0</td></tr>"
,true);
      
addnav("","mailed2.php?op=eingang");

      
$sql "SELECT * FROM mail2 WHERE msgto IS NOT NULL AND NOT msgto <> msgto GROUP BY msgto ORDER BY 'sent' DESC";
      
$result db_query($sql);
      if (
db_num_rows($result))
          {
            
$i 0;
            while(
$row db_fetch_assoc($result))
              {
          
$sql1 "SELECT name,login FROM accounts WHERE acctid='$row[msgto]'";
          
$result1 db_query($sql1);
          
$row1 db_fetch_assoc($result1);

                
output("<tr class='".($i%2?"trlight":"trdark")."'><td align='center'>`7 $row[sent] </td><td align='center'>",true);
                
output("<a href=\"mail.php?op=write&to=".rawurlencode($row1['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row1['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>
                        <a href='mailed2.php?op=eingang2&char="
.rawurlencode($row1['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."'>$row1[name]`0</a>",true);
                
output("</td><td align='center'>`# $row[subject] </td><td align='center'>`& $row[body]`0 </td>
                        <td align='center'><a href=\"mailed2.php?op=delete&id=
$row[messageid]\" onclick='return confirm(\"Möchtest du diesen Eintrag wirklich löschen?\");'>[`4Löschen`0]</a></td>
                        </tr>"
,true);
                
addnav("","mailed2.php?op=delete&id=$row[messageid]");
                
addnav("","mailed2.php?op=eingang2&char=".rawurlencode($row1['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."");
                
$i++;
              }

          }
      else
          {
            
output("<tr><td colspan=11 align='center'>Keine Nachrichten vorhanden</td></tr>",true);
          }
      break;


    case 
"eingang2":

      
addnav("Eingegangene YoMs");
      
addnav("Aktualisieren","mailed2.php?op=eingang2&char=".urlencode($_GET['char'])."");
      
addnav("Sonstiges");
      
addnav("Zurück zur Grotte","superuser.php");
      
addnav("Zurück zum Editor","mailed2.php");


          
$sqlwho "SELECT name,acctid FROM accounts WHERE login='".urlencode($_GET['char'])."'";
          
$resultwho db_query($sqlwho);
          
$rowwho db_fetch_assoc($resultwho);

      
output("<h3>`^`cEingangsbox von`c `n`n`c`&> $rowwho[name] `&<`c`n`n </h3>",true);

      
output("<table cellspacing=2 cellpadding=2 border=2 bgcolor='#999999' align='center'><tr class='trhead'>
              <td align='center'>`7 Datum & Uhrzeit : </td>
              <td align='center'><a href=\"mailed2.php?op=absender\" onclick='return confirm(\"Alle Ausgegangenen Yoms einsehen?\");'>Absender :</a></td>
              <td align='center'> Betreff : </td>
              <td align='center'> Text : </td>
              <td align='center'> Optionen: `0</td></tr>"
,true);
      
addnav("","mailed2.php?op=absender");

      
$sql "SELECT * FROM mail2 WHERE msgto='$rowwho[acctid]' ORDER BY 'sent' DESC";
      
$result db_query($sql);
      if (
db_num_rows($result))
          {
            
$i 0;
            while(
$row db_fetch_assoc($result))
              {
          
$sql1 "SELECT name,login FROM accounts WHERE acctid='$row[msgfrom]'";
          
$result1 db_query($sql1);
          
$row1 db_fetch_assoc($result1);
          
$sql2 "SELECT name,login FROM accounts WHERE acctid='$row[msgto]'";
          
$result2 db_query($sql2);
          
$row2 db_fetch_assoc($result2);

                
output("<tr class='".($i%2?"trlight":"trdark")."'><td align='center'>`7 $row[sent] </td><td align='center'>",true);
                    if (
$row2[name]<>"" && $row2[login]<>""output("
                            <a href=\"mail.php?op=write&to="
.rawurlencode($row2['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row2['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>
                            <a href='mailedit.php?op=absender2&char="
.rawurlencode($row1['login'])."&ret=".URLEncode($_SERVER['REQUEST_URI'])."'>$row1[name]`0</a>",true);
                        
output("</td><td align='center'>`# $row[subject] </td><td align='center'>`& $row[body]`0 </td>
                        <td align='center'><a href=\"mailed2.php?op=delete&id=
$row[messageid]\" onclick='return confirm(\"Möchtest du den Eintrag wirklich löschen?\");'>[`4Löschen`0]</a></td>
                        </tr>"
,true);
                
addnav("","mailed2.php?op=delete&id=$row[messageid]");
              
$i++;
              }

          }
      else
          {
            
output("<tr><td colspan=11 align='center'>Keine Nachrichten vorhanden</td></tr>",true);
          }
      break;

  }

page_footer();
?>