Quellcodeviewer der Dragonslayer-Edition
Quellcodeviewer der Dragonslayer-Edition : 0.9.7+jt ext (GER)


Anmerkung: Dies ist nur ein Auszug aus dem Source. Um das jeweils aktuelle, vollständige Release zu erhalten, ist eine Anfrage mit gültiger Email-Adresse erforderlich. Ebenso sollte darin die Serveradresse bzw. sonstiger Verwendungszweck aufgeführt sein. Was wir uns unbedingt verbitten, ist Diebstahl unserer Arbeit ohne Nennung des Copyrights.

Falls beim Lesen des Source ein Bug entdeckt werden sollte, bitten wir um sofortige Meldung per Anfrage!


./logs.php

zurück

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
561:
562:
563:
564:
565:
566:
567:
568:
569:
570:
571:
572:
573:
574:
575:
576:
577:
578:
579:
580:
581:
582:
583:
584:
585:
586:
587:
588:
589:
590:
591:
592:
593:
594:
595:
596:
597:
598:
599:
600:
601:
602:
603:
604:
605:
606:
607:
608:
609:
610:
611:
612:
613:
614:
615:
616:
617:
618:
619:
620:
621:
622:
623:
624:
625:
626:
627:
628:
629:
630:
631:
632:
633:
634:
635:
636:
637:
638:
639:
640:
641:
642:
643:
644:
645:
646:
647:
648:
649:
650:
651:
652:
653:
654:
655:
656:
657:
658:
659:
660:
661:
662:
663:
664:
665:
666:
667:
668:
669:
670:
671:
672:
673:
674:
675:
676:
677:
678:
679:
680:
681:
682:
683:
684:
685:
686:
687:
688:
689:
690:
691:
692:
693:
694:
695:
696:
697:
698:
699:
700:
701:
<?php

// 09072004

/*

View faillogs and user mail
Find multi accounts and cheaters

by anpera

*/


/*********************************************************************
 * MODIFIZIERT durch
 * Admin @ Dreythal
 * September 2015
*********************************************************************/

require_once('common.php');

page_header('Logs & Nachrichten');

addnav('Zurück...');
addnav('G?... in die Grotte','superuser.php');
addnav('D?... nach Dreythal','village.php');

if (
$_GET['op']=='mail')
{
    if (
$_GET['in'])
    {
        
$ppp=25// Player Per Page to display

        
if (!$_GET['limit'])
        {
$page=0;}

        else
        {
            
$page=(int)$_GET['limit'];
            
addnav('Vorherige Seite','logs.php?op=mail&in='.$_GET['in'].'&limit='.($page-1).'');
        }

        
$limit=''.($page*$ppp).','.($ppp+1);

        
output('`qNachrichten ('.($_GET['limit']*$ppp).'-'.($_GET['limit']*$ppp+$ppp).') -- Alle Nachrichten: Eingang '.$_GET['in'].' `0`n`n');

        
$sql "SELECT mail.*,accounts.login AS absender FROM mail LEFT JOIN accounts ON accounts.acctid=mail.msgfrom WHERE msgto=$_GET[in] ORDER BY sent DESC LIMIT $limit";
        
$result db_query($sql) or die(db_error(LINK));

        if (
db_num_rows($result)>$ppp)
        
addnav("Nächste Seite","logs.php?op=mail&in=$_GET[in]&limit=".($page+1)."");

        
output('<table align="center"><tr>
                <td>`b`6Datum`b`0</td>
                <td>`b`6Absender`b`0</td>
                <td>`b`6Betreff`b`0</td></tr>'
,true);

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
            
$row db_fetch_assoc($result);
            
output('<tr><td>`7'.$row['sent'].'`0</td>
                    <td>`7'
.$row['absender'].'`0</td>
                    <td>`7'
.$row['subject'].'`0</td></tr>

                    <tr><td colspan="3">`l`i'
.$row['body'].'`i`0</td></tr>
                    <tr><td colspan="3"><hr></td></tr>'
,true);
        }

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

        
addnav('Zurück','logs.php?op=mail');
    }

    else if (
$_GET['out'])
    {
        
$ppp=25// Player Per Page to display
        
if (!$_GET['limit'])
        {
$page=0;}

        else
        {
            
$page=(int)$_GET['limit'];
            
addnav('Vorherige Seite','logs.php?op=mail&out='.$_GET['in'].'&limit='.($page-1).'');
        }

        
$limit=''.($page*$ppp).','.($ppp+1);

        
output('`qNachrichten ('.($_GET['limit']*$ppp).'-'.($_GET['limit']*$ppp+$ppp).') -- Alle Nachrichten: Ausgang '.$_GET['out'].' `0`n`n');

        
$sql "SELECT mail.*,accounts.login AS empfaenger FROM mail LEFT JOIN accounts ON accounts.acctid=mail.msgto WHERE msgfrom=$_GET[out] ORDER BY sent DESC LIMIT $limit";
        
$result db_query($sql) or die(db_error(LINK));

        if (
db_num_rows($result)>$ppp)
        
addnav('Nächste Seite','logs.php?op=mail&out='.$_GET['out'].'&limit='.($page+1).'');

        
output('<table align="center"><tr>
                <td>`b`6Datum`b`0</td>
                <td>`b`6Empfänger`b`0</td>
                <td>`b`6Betreff`b`0</td></tr>'
,true);

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
            
$row db_fetch_assoc($result);
            
output('<tr><td>`7'.$row['sent'].'`0</td>
                    <td>`7'
.$row['empfaenger'].'`0</td>
                    <td>`7'
.$row['subject'].'`0</td></tr>

                    <tr><td colspan="3">`l`i'
.$row['body'].'`i`0</td></tr>
                    <tr><td colspan="3"><hr></td></tr>'
,true);
        }

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

        
addnav('Zurück','logs.php?op=mail');
    }

    else
    {
        if (!
$_GET[subop])
        
$_GET[subop]="system";

        
$ppp=25// Player Per Page to display

        
if (!$_GET['limit'])
        {
$page=0;}

        else
        {
            
$page=(int)$_GET['limit'];
            
addnav('Vorherige Seite','logs.php?op=mail&limit='.($page-1).'&subop='.$_GET['subop'].'&order='.$sort.'');
        }

        
$limit=''.($page*$ppp).','.($ppp+1);
        
$sort='sent';

        if (
$_GET['order'])
        
$sort=$_GET['order'];

        
output('`qNachrichten ('.($_GET['limit']*$ppp).'-'.($_GET['limit']*$ppp+$ppp).') -- '.($_GET['subop']=='all'?'private Nachrichten':'Systemnachrichten').'`0`n`n');

        
//addnav($_GET[subop]=="system"?"Normale Nachrichten":"Systemnachrichten","logs.php?op=mail&subop=".($_GET[subop]=="system"?"all":"system")."&order=$_GET[order]&limit=$_GET['limit']"); // ist möglicherweise nicht erlaubt
        
$sql "SELECT mail.*,accounts.login AS empfaenger FROM mail LEFT JOIN accounts ON accounts.acctid=mail.msgto WHERE ".($_GET['subop']=="system"?"msgfrom=0":"msgfrom<>0")." AND msgto<>0 ORDER BY $sort DESC LIMIT $limit";

        
$result db_query($sql) or die(db_error(LINK));

        if (
db_num_rows($result)>$ppp)
        
addnav('Nächste Seite','logs.php?op=mail&limit='.($page+1).'&order='.$sort.'&subop='.$_GET['subop'].'');

        
output('<table align="center"><tr>
                <td>`b<a href="logs.php?op=mail&limit='
.$page.'&order=sent&subop='.$_GET['subop'].'">Datum</a>`b</td>
                <td>`b<a href="logs.php?op=mail&limit='
.$page.'&order=msgfrom&subop='.$_GET['subop'].'">Absender</a>`b</td>
                <td>`b<a href="logs.php?op=mail&limit='
.$page.'&order=msgto&subop='.$_GET['subop'].'">Empfänger</a>`b</td>
                <td>`bBetreff`b</td></tr>'
,true);

        
addnav('','logs.php?op=mail&limit='.$page.'&order=sent&subop='.$_GET['subop'].'');
        
addnav('','logs.php?op=mail&limit='.$page.'&order=msgto&subop='.$_GET['subop'].'');
        
addnav('','logs.php?op=mail&limit='.$page.'&order=msgfrom&subop='.$_GET['subop'].'');

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
            
$row db_fetch_assoc($result);
            
$row2=db_fetch_assoc(db_query("SELECT acctid,login FROM accounts WHERE acctid=$row[msgfrom]"));

            
output('<tr><td>`7'.$row['sent'].'`0</td>
                    <td><a href="logs.php?op=mail&out='
.$row2['acctid'].'">`7`b'.$row2['login'].'`b`0</a></td>
                    <td><a href="logs.php?op=mail&in='
.$row['msgto'].'">`7`b'.$row['empfaenger'].'`b`0</a></td>
                    <td>`7'
.$row['subject'].'`0</td></tr>

                    <tr><td colspan="4">`l`i'
.$row['body'].'`i`0</td></tr>
                    <tr><td colspan="4"><hr></td></tr>'
,true);

            
addnav('','logs.php?op=mail&in='.$row['msgto'].'');
            
addnav('','logs.php?op=mail&out='.$row2['acctid'].'');
        }

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

        
addnav('Zurück','logs.php');

        
output('`n`iUm das Postfach eines Spielers zu sehen, auf seinen Namen unter "Empfänger" klicken.`nUm zu sehen, was ein Spieler gesendet hat, auf seinen Namen unter "Absender" klicken.`i');
    }

}

else if (
$_GET['op']=='faillog')
{
    if (
$_GET['id'])
    {
        
$ppp=25// Player Per Page to display

        
if (!$_GET['limit'])
        {
$page=0;}

        else
        {
            
$page=(int)$_GET['limit'];
            
addnav('Vorherige Seite','logs.php?op=faillog&id='.$_GET['id'].'&limit='.($page-1).'&order='.$sort.'&pw='.$_GET['pw'].'');
        }

        
$limit=''.($page*$ppp).','.($ppp+1);
        
$sort='date';

        if (
$_GET['order'])
        
$sort=$_GET['order'];

        
$sql "SELECT * FROM faillog WHERE acctid=$_GET[id] ORDER BY $sort DESC LIMIT $limit";
        
$result db_query($sql) or die(db_error(LINK));

        
output('Fehlgeschlagene Logins ('.($_GET['limit']*$ppp).'-'.($_GET['limit']*$ppp+$ppp).') für ID '.$_GET['id'].'`n`n');

        if (
db_num_rows($result)>$ppp)
        
addnav('Nächste Seite','logs.php?op=faillog&id='.$_GET['id'].'&limit='.($page+1).'&order='.$sort.'&pw='.$_GET['pw'].'');

        
output('<table align="center"><tr>
                <td>`b<a href="logs.php?op=faillog&id='
.$_GET['id'].'&limit='.$page.'&order=date">Datum</a>`b</td>
                <td>`b<a href="logs.php?op=faillog&id='
.$_GET['id'].'&limit='.$page.'&order=ip">IP</a>`b</td>'.($_GET['pw']?'<td>`bfalsches PW`b</td>':'').'</tr>',true);

        
addnav('','logs.php?op=faillog&id='.$_GET['id'].'&limit='.$page.'&order=date');
        
addnav('','logs.php?op=faillog&id='.$_GET['id'].'&limit='.$page.'&order=ip');

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
            
$row db_fetch_assoc($result);

            if (
$_GET['pw'] && $session['user']['superuser']==6)
            
$row['post']=unserialize($row['post']);

            
output('<tr><td>'.$row['date'].'</td>
                    <td>'
.$row['ip'].'</td>'.($_GET['pw']?'<td>'.$row['post']['password'].'</td>':'').'</tr>',true);
        }

        
addnav('Zurück','logs.php?op=faillog&order='.$_GET['order'].'');
        
output('</table>',true);

        if (
$session['user']['superuser']==6)
        {
            
addnav('Passwörter...');
            
addnav('... '.($_GET['pw']?'ausblenden':'einblenden').'','logs.php?op=faillog&id='.$_GET['id'].''.($_GET['pw']?'':'&pw=true').'&order='.$_GET['order'].'&limit='.$_GET['limit'].'');
        }

        if (
$_GET['pw'] && $i>=3)
        
output('`n`iDie Anzeige der falsch eingegebenen Passwörter dient dazu, um festzustellen, wo Passwörter geraten werden und wo nur ein Tippfehler vorliegt.`i');
    }

    else if (
$_GET['ip'])
    {
        
$ppp=25// Player Per Page to display

        
if (!$_GET['limit'])
        {
$page=0;}

        else
        {
            
$page=(int)$_GET['limit'];
            
addnav("Vorherige Seite","logs.php?op=faillog&ip=$_GET[ip]&limit=".($page-1)."&pw=$_GET[pw]");
        }

        
$limit="".($page*$ppp).",".($ppp+1);

        
$sql "SELECT faillog.*,accounts.name AS absender FROM faillog LEFT JOIN accounts ON accounts.acctid=faillog.acctid WHERE ip='$_GET[ip]' ORDER BY date DESC LIMIT $limit";
        
$result db_query($sql) or die(db_error(LINK));

        
output('<table border="3" align="center" cellpadding="10" cellspacing="10" width="100%" bgcolor="#FF8080"><tr>
                <td class="trhead" style="text-align: center;">`bfehlgeschlagene Logins ('
.($_GET['limit']*$ppp).'-'.($_GET['limit']*$ppp+$ppp).') von IP '.$_GET['ip'].'`b</td></tr></table>`n',true);

        if (
db_num_rows($result)>$ppp)
        
addnav("Nächste Seite","logs.php?op=faillog&ip=$_GET[ip]&limit=".($page+1)."&pw=$_GET[pw]");

        
output('<table border="1" align="center" cellpadding="3" cellspacing="3" bgcolor="transparent" width="75%">',true);

        
output('<tr class="trhead"><td>`bDatum`b</td>
                                   <td>`bName`b</td>
                                   '
.($_GET['pw']?'<td>`bfalsches Passwort`b</td>':'').'</tr>',true);

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
            
$row db_fetch_assoc($result);

            if (
$_GET['pw'] && $session['user']['superuser']==6)
            
$row['post']=unserialize($row['post']);

            
output('<tr><td>'.$row[date].'</td>
                        <td>'
.$row['absender'].'</td>
                        '
.($_GET['pw']?'<td>'.$row['post']['password'].'</td>':'').'</tr>',true);
        }

        
addnav('Zurück','logs.php?op=faillog&order='.$_GET['order'].'');

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

        if (
$session['user']['superuser']==6)
        {
            
addnav('Passwörter...');
            
addnav('... '.($_GET['pw']?'ausblenden':'einblenden').'','logs.php?op=faillog&ip='.$_GET['ip'].''.($_GET['pw']?'':'&pw=true').'&order='.$_GET['order'].'&limit='.$_GET['limit'].'');
        }

        if (
$_GET['pw'] && $i>=3)
        
output('`n`iDie Anzeige der falsch eingegebenen Passwörter dient dazu, um festzustellen, wo Passwörter geraten werden und wo nur ein Tippfehler vorliegt.`i');
    }

    else
    {
        
$ppp=25// Player Per Page to display

        
output('Fehlgeschlagene Logins ('.($_GET['limit']*$ppp).'-'.($_GET['limit']*$ppp+$ppp).')`n`iSpielername oder IP anklicken, um alle Fehlversuche anzuzeigen.`i`n`n');

        if (!
$_GET['limit'])
        {
$page=0;}

        else
        {
            
$page=(int)$_GET['limit'];
            
addnav('Vorherige Seite','logs.php?op=faillog&limit='.($page-1).'&order='.$sort.'');
        }

        
$limit="".($page*$ppp).",".($ppp+1);
        
$sort="date";

        if (
$_GET[order])
        
$sort=$_GET[order];

        
$sql "SELECT faillog.*,accounts.name AS absender FROM faillog LEFT JOIN accounts ON accounts.acctid=faillog.acctid WHERE 1 ORDER BY $sort DESC LIMIT $limit";
        
$result db_query($sql) or die(db_error(LINK));

        if (
db_num_rows($result)>$ppp)
        
addnav("Nächste Seite","logs.php?op=faillog&limit=".($page+1)."&order=$sort");

        
output("<table align='center'><tr>
                <td>`b<a href='logs.php?op=faillog&limit=
$page&order=date'>Datum</a>`b</td>
                <td>`b<a href='logs.php?op=faillog&limit=
$page&order=acctid'>Acctid</a>`b</td>
                <td>`bName`b</td>
                <td>`b<a href='logs.php?op=faillog&limit=
$page&order=ip'>IP</a>`b</td></tr>",true);

        
addnav("","logs.php?op=faillog&limit=$page&order=date");
        
addnav("","logs.php?op=faillog&limit=$page&order=acctid");
        
addnav("","logs.php?op=faillog&limit=$page&order=ip");

        for (
$i=0;$i<db_num_rows($result);$i++)
        {
            
$row db_fetch_assoc($result);

            
output("<tr><td>$row[date]</td><td>$row[acctid]</td><td><a href='logs.php?op=faillog&id=$row[acctid]&order=$sort'>$row[absender]</a></td><td><a href='logs.php?op=faillog&ip=$row[ip]&order=$sort'>$row[ip]</a></td></tr>",true);

            
addnav("","logs.php?op=faillog&id=$row[acctid]&order=$sort");
            
addnav("","logs.php?op=faillog&ip=$row[ip]&order=$sort");
        }

        
output("</table>",true);
        
addnav("Zurück","logs.php");
    }

}

elseif (
$_GET['op']=='multi')
{
    if (!empty(
$_POST['setupban']) && count($_POST['userid'])>0)
    {
        
output("<form action='logs.php?op=multi&act=saveban&searchby=$_GET[searchby]' method='POST'>",true);

        if (
$_POST['setupban']=='IPs bannen')
        {
            
$sql 'SELECT lastip FROM accounts WHERE acctid IN ("'.implode('","',$_POST['userid']).'") GROUP BY lastip';
            
$result db_query($sql);
            
$ips = array();

            while (
$row db_fetch_assoc($result))
            
$ips[] = $row['lastip'];

            
output('Sperre für die IP '.implode(', ',$ips).'`n');
            
output('<input type="hidden" name="type" value="ip"><input type="hidden" name="ip" value="'.implode('|',$ips).'">',true);
        }

        else
        {
            
$sql 'SELECT uniqueid FROM accounts WHERE acctid IN ("'.implode('","',$_POST['userid']).'") GROUP BY uniqueid';
            
$result db_query($sql);
            
$ids = array();

            while (
$row db_fetch_assoc($result)) $ids[] = $row['uniqueid'];

            
output('Sperre für die ID '.implode(', ',$ids).'`n');
            
output('<input type="hidden" name="type" value="id"><input type="hidden" name="id" value="'.implode('|',$ids).'">',true);
        }

        
output("Dauer: <input name='duration' id='duration' size='3' value='14'> days (0 for permanent)`n
                Grund für die Verbannung: <input name='reason' value=\"Ärger mich nicht.\">`n
                <input type='submit' class='button' value='Post Ban' onClick='if (document.getElementById(\"duration\").value==0) {return confirm(\"Willst du wirklich eine permanente Verbannung aussprechen?\");} else {return true;}'></form>"
,true);

        
addnav("","logs.php?op=multi&act=saveban&searchby=$_GET[searchby]");
    }

    elseif (
$_GET['act']=='saveban')
    {
        if (
$_POST['type']=='ip')
        
$vals explode('|',$_POST['ip']);

        else
        
$vals explode('|',$_POST['id']);

        foreach (
$vals AS $that)
        {
            
$sql "INSERT INTO bans (";

            if (
$_POST[type]=="ip")
            {
$sql.="ipfilter";}

            else
            {
$sql.="uniqueid";}

            
$sql.=",banexpire,banreason) VALUES (";
            
$sql.="\"$that\"";
            
$sql.=",\"".((int)$_POST[duration]==0?"0000-00-00":date("Y-m-d",strtotime("+$_POST[duration] days")))."\",";
            
$sql.="\"$_POST[reason]\")";

            if (
$_POST[type]=="ip")
            {
                if (
substr($_SERVER['REMOTE_ADDR'],0,strlen($that)) == $that)
                {
                    
$sql "";
                    
output("Du willst dich doch nicht wirklich selbst verbannen, oder?? Das ist deine eigene IP-Adresse!");
                }

            }

            else
            {
                if (
$_COOKIE[lgi]==$that)
                {
                    
$sql "";
                    
output("Du willst dich doch nicht wirklich selbst verbannen, oder?? Das ist deine eigene ID!");
                }
            }
            if (
$sql!=""){
                
db_query($sql) or die(db_error(LINK));
                
output(db_affected_rows()." Bann eingetragen.`n`n");
                
output(db_error(LINK));
            }
        }

        
output('`n');
    }

    elseif (!empty(
$_POST['deleteuser']) && count($_POST['userid'])>0)
    {
        
$sql "SELECT name FROM accounts WHERE acctid IN (".implode(',',$_POST['userid']).")";
        
$result db_query($sql) or die(sql_error($sql));
        
$delnames = array();

        while (
$row db_fetch_assoc($result))
        {
$delnames[] = '`$'.$row['name'].'`0';}

        
output('User '.implode(', ',$delnames).' löschen? ');
/*
        output("<form action='logs.php?op=multi&act=dodeleteuser&searchby=$_GET[searchby]&userid=".implode(',',$_POST['userid'])."' method='POST'>",true);

        output('Begründung auswählen: ');
        output('<select name="stdreason" size="1">',true);
        output('<option value="0">--- keine Begründung angeben ---</option>',true);

        $sql = 'SELECT reasonid, reason FROM deluser_reasons';
        $result = db_query($sql);

        while ($row = db_fetch_assoc($result))
        {
            if (strlen($row['reason'])>50)
            $row['reason'] = substr($row['reason'],0,47).'...';

            output('<option value="'.$row['reasonid'].'">'.htmlentities($row['reason']).'</option>',true);
        }

        output('</select>',true);
        output(' `n`ioder`i eingeben: ');
        output('<input type="Text" name="reason" value="" maxlength="255" size="50" /> ',true);
        output('<input type="Checkbox" name="savereason" value="1">',true);
        output('Begründung speichern`n');
        output('</option>',true);
        output('<input type="Submit" value="löschen">',true);
        output('</form>',true);

        */
        
output("`n`n`c`b-- <a href='logs.php?op=multi&act=dodeleteuser&searchby=".$_GET['searchby']."&userid=".implode(',',$_POST['userid'])."'>L&ouml;schen best&auml;tigen</a>--`b`c`n`n`n",true);

        
addnav('','logs.php?op=multi&act=dodeleteuser&searchby='.$_GET['searchby'].'&userid='.implode(',',$_POST['userid']));
    }

    elseif (
$_GET['act']=='dodeleteuser')
    {
        
$userid explode(',',$_GET['userid']);

        foreach (
$userid AS $that)
        {
             
$sql "SELECT name from accounts WHERE acctid='{$this}'";
            
$res db_query($sql);
            
// inventar und haus löschen und partner und ei freigeben
            
if ($this==getsetting("hasegg",0)) savesetting("hasegg","0");
            
$sql "UPDATE items SET owner=0 WHERE owner=$this";
            
db_query($sql);
            
$sql "UPDATE houses SET owner=0,status=3 WHERE owner=$this AND status=1";
            
db_query($sql);
            
$sql "UPDATE houses SET owner=0,status=4 WHERE owner=$this AND status=0";
            
db_query($sql);
            
$sql "UPDATE accounts SET charisma=0,marriedto=0 WHERE marriedto=$this";
            
db_query($sql);
            
$sql "DELETE FROM pvp WHERE acctid2=$this OR acctid1=$this";
            
db_query($sql) or die(db_error(LINK));
            
$sql "DELETE FROM accounts WHERE acctid='$this'";
            
db_query($sql);
            
outputdb_affected_rows()." Benutzer gelöscht.`n");
        }
        
output('`n');
    }

    else
    
output('`n');

    
$in_ip $in_id '';

    if (
$_GET['searchby']!='id')
    {
        
$sql 'SELECT lastip FROM accounts WHERE lastip!="" GROUP BY lastip HAVING COUNT(*) > 1';
        
$result db_query($sql) or die(db_error(LINK));

        while (
$row db_fetch_assoc($result))
        {
$in_ip .= ',"'.$row['lastip'].'"';}
    }

    if (
$_GET['searchby']!='ip')
    {
        
$sql 'SELECT uniqueid FROM accounts WHERE uniqueid!="" GROUP BY uniqueid HAVING COUNT(*) > 1';
        
$result db_query($sql) or die(db_error(LINK));

        while (
$row db_fetch_assoc($result))
        {
$in_id .= ',"'.$row['uniqueid'].'"';}
    }

    
$ip $id $users = array();
    
$sql 'SELECT acctid,name,lastip,uniqueid,dragonkills,level FROM accounts WHERE (lastip IN (-1'.$in_ip.') OR uniqueid IN (-1'.$in_id.')) AND locked="0" ORDER BY dragonkills ASC, level ASC';
    
$result db_query($sql) or die(db_error(LINK));

    while (
$row db_fetch_assoc($result))
    {
        if ((!isset(
$id[$row['uniqueid']]) || $_GET['searchby']=='ip') && (!isset($ip[$row['lastip']]) || $_GET['searchby']=='id'))
        {
            if (
$_GET['searchby']!='id')
            
$ip[$row['lastip']] = count($users);

            if (
$_GET['searchby']!='ip')
            
$id[$row['uniqueid']] = count($users);

            
$users[] = array($row);
        }

        elseif (isset(
$id[$row['uniqueid']]))
        {
            
$ip[$row['lastip']] = $id[$row['uniqueid']];
            
$users[$id[$row['uniqueid']]][] = $row;
        }

        else
        {
            
$id[$row['uniqueid']] = $ip[$row['lastip']];
            
$users[$ip[$row['lastip']]][] = $row;
        }
    }

    
output('<table border="3" align="center" cellpadding="10" cellspacing="10" width="100%" bgcolor="#FF8080"><tr>
            <td class="trhead" style="text-align: center;">`bMultiaccounts`b</td></tr></table>`n'
,true);

    
output('Sortierung nach ');

    if (
$_GET['searchby']!='ip')
    {
        
output('<a href="logs.php?op=multi&searchby=ip">`b`lIP`b`0</a> ',true);
        
addnav('','logs.php?op=multi&searchby=ip');
    }

    else
    
output('`%`bIP`b`0 ');

    if (
$_GET['searchby']!='id')
    {
        
output('<a href="logs.php?op=multi&searchby=id">`b`lID`b`0</a> ',true);
        
addnav('','logs.php?op=multi&searchby=id');
    }

    else
    
output('`%`bID`b`0 ');

    if (!empty(
$_GET['searchby']))
    {
        
output('<a href="logs.php?op=multi&searchby=">`b`lbeidem`b`0</a> ',true);
        
addnav('','logs.php?op=multi&searchby=');
    }

    else
    
output('`%`bbeidem`b`0 ');

    
output('<table width="100%">',true);

    foreach (
$users AS $list)
    {
        if (
count($list)<2)
        continue;

        
$tmpstr '';
        
$ips $ids $accts = array();

        foreach (
$list AS $that)
        {
            
$tmpstr .= ('<tr><td><input type="checkbox" name="userid[]" value="'.$that['acctid'].'"></td>
                             <td>'
.$that['name'].'</td>
                             <td>'
.$that['lastip'].'</td>
                             <td>'
.$that['uniqueid'].'</td>
                             <td>`c'
.$that['dragonkills'].'`c</td>
                             <td>`c'
.$that['level'].'`c</td></tr>');
        }

        
output('<form action="logs.php?op=multi&searchby='.$_GET['searchby'].'" method="post">',true);

        
addnav('','logs.php?op=multi&searchby='.$_GET['searchby']);

        
output('<tr class="trhead"><td></td>
                                   <td>`bName`b</td>
                                   <td>`bIP`b</td>
                                   <td>`bID`b</td>
                                   <td>`b`cHdSK`c`b</td>
                                   <td>`b`cLevel`c`b</td></tr>'
,true);

        
output($tmpstr,true);

        
output('<tr><td colspan="6" align="left">
                <input type="submit" name="deleteuser" value="löschen">
                <input type="submit" name="setupban" value="IPs bannen">
                <input type="submit" name="setupban" value="IDs bannen"><hr />`n</td></tr>
                </form>'
,true);
    }

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

    
addnav('Aktualisieren','logs.php?op=multi&searchby='.$_GET['searchby']);
    
addnav('Zurück','logs.php');
}

else
{
 
output('<table border="3" align="center" cellpadding="10" cellspacing="10" width="75%" bgcolor="#FF8080"><tr>
         <td class="trhead" style="text-align: center;" colspan="3">`bDie letzten 5 fehlgeschlagenen Logins`b</td></tr></table>'
,true);

    
$sql 'SELECT faillog.*,accounts.name AS absender FROM faillog LEFT JOIN accounts ON accounts.acctid=faillog.acctid WHERE 1 ORDER BY date DESC LIMIT 5';
    
$result db_query($sql) or die(db_error(LINK));

    
output('<table align="center" cellpadding="3" cellspacing="3" width="75%"><tr class="trhead">
            <td>`bDatum`b</td>
            <td>`b`cAccount-ID`c`b</td>
            <td>`bName`b</td>
            <td>`bIP`b</td></tr>'
,true);

    for (
$i=0;$i<db_num_rows($result);$i++)
    {
        
$row db_fetch_assoc($result);
        
        
output('<tr><td>`l'.$row['date'].'`0</td>
                    <td>`l`c'
.$row['acctid'].'`c`0</td>
                    <td>`l'
.$row['absender'].'`0</td>
                    <td>`l'
.$row['ip'].'`0</td></tr>',true);
    }
    
    
output('</table>`n<hr />`n',true);

    
output('<table border="3" align="center" cellpadding="10" cellspacing="10" width="75%" bgcolor="#FF8080"><tr>
            <td class="trhead" style="text-align: center;" colspan="3">`bDie letzten 5 Systemnachrichten`b</td></tr></table>'
,true);

    
$sql 'SELECT mail.*,accounts.name AS empfaenger FROM mail LEFT JOIN accounts ON accounts.acctid=mail.msgto WHERE msgfrom=0 ORDER BY sent DESC LIMIT 5';
    
$result db_query($sql) or die(db_error(LINK));

    
output('<table align="center" cellpadding="3" cellspacing="3" width="75%"><tr class="trhead">
            <td>`bDatum`b</td>
            <td>`bEmpfänger`b</td>
            <td>`bBetreff`b</td></tr>'
,true);

    for (
$i=0;$i<db_num_rows($result);$i++)
    {
        
$row db_fetch_assoc($result);
        
output('<tr><td>`l'.$row['sent'].'`0</td>
                    <td>`l'
.$row['empfaenger'].'`0</td>
                    <td>`l'
.$row['subject'].'`0</td></tr>',true);
    }

    
output('</table>`n',true);

    
addnav('Zeige...');
    
addnav('... fehlgeschlagene Logins','logs.php?op=faillog');
    
addnav('... Nachrichten','logs.php?op=mail');
    
addnav('... Multiaccounts','logs.php?op=multi');
}

output('`n`c2004 by anpera & Chaosmaker`c',true);

page_footer();
?>
0.9.7+jt ext (GER)