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:
|
<?php
// 15082004
require_once 'common.php'; isnewday(3);
if ($_GET['op']=='search') { $sql = "SELECT acctid FROM accounts WHERE "; $where=" login LIKE '%{$_POST['q']}%' OR acctid LIKE '%{$_POST['q']}%' OR name LIKE '%{$_POST['q']}%' OR emailaddress LIKE '%{$_POST['q']}%' OR lastip LIKE '%{$_POST['q']}%' OR uniqueid LIKE '%{$_POST['q']}%' OR gentimecount LIKE '%{$_POST['q']}%' OR level LIKE '%{$_POST['q']}%'"; $result = db_query($sql.$where); if (db_num_rows($result)<=0) { output("`\$Keine Ergebnisse gefunden`0"); $_GET[op]=""; $where=""; }
elseif (db_num_rows($result)>100) { output("`\$Zu viele Ergebnisse gefunden. Bitte Suche einengen.`0");
$_GET['op']=""; $where=""; }
elseif (db_num_rows($result)==1) { //$row = db_fetch_assoc($result); //redirect("user.php?op=edit&userid=$row[acctid]"); $_GET['op']=''; $_GET['page']=0; }
else { $_GET['op']=''; $_GET['page']=0; } }
page_header('User Editor');
output('<form action="user.php?op=search" method="POST">Suche in allen Feldern: <input name="q" id="q"><input type="submit" class="button"></form>',true); output('<script language="JavaScript">document.getElementById("q").focus();</script>',true);
addnav('','user.php?op=search'); addnav('Zurück...'); addnav('G?... in die Grotte','superuser.php'); addnav('D?... nach Dreythal','village.php');
addnav('Verbannung...'); addnav('a?... aussprechen','user.php?op=setupban'); addnav('z?... anzeigen','user.php?op=removeban');
$sql = "SELECT count(acctid) AS count FROM accounts"; $result = db_query($sql); $row = db_fetch_assoc($result); $page=0;
addnav('Zeige Seite...');
while ($row[count]>0) { $page++; addnav('... '.$page.'','user.php?page='.($page-1).'&sort='.$_GET[sort].''); $row[count]-=100; }
$mounts=",0,Keins"; $sql = "SELECT mountid,mountname,mountcategory FROM mounts ORDER BY mountcategory"; $result = db_query($sql);
while ($row = db_fetch_assoc($result)) {$mounts.=",{$row['mountid']},{$row['mountcategory']}: {$row['mountname']}";}
$userinfo = array( 'Account Info,title', 'acctid'=>'User ID,viewonly', 'login'=>'Login', 'newpassword'=>'Neues Passwort', 'emailaddress'=>'Email Adresse', 'locked'=>'Account gesperrt,bool', 'banoverride'=>'Verbannungen übergehen,bool', 'superuser'=>'Superuser,enum,0,Bürger,1,RP-Wächter,2,Schriftenhüter,3,Schmied,4,Stadtwache,5,NPC,6,Volladmin',
'User Infos,title', 'name'=>'Display Name', 'title'=>'Titel (muss auch in Display Name)', 'ctitle'=>'Eigener Titel (muss auch in Display Name)', 'race'=>'Rasse,enum,1,Elf,2,Hochelf,3,Dunkelelf,4,Ork,5,Gnom,8,Kobold,9,Zwerg,10,Troll,11,Halbling,12,Echse,15,Werwolf,18,Mensch,19,Halbdämon,20,Dämon,22,Feline,0,Unbekannt,50,Hoverschaf', 'volk'=>'Blutlinie,enum,1,Blutfalke,2,Dornenfuchs,3,Silberwolf,4,Unbekannt', 'sex'=>'Geschlecht,enum,0,Männlich,1,Weiblich', // we can't change this this way or their stats will be wrong. // 'race'=>'Race,enum,0,Unknown,1,Troll,2,Elf,3,Human,4,Dwarf,5,Echse', 'age'=>'Tage seit Level 1,int', 'dragonkills'=>'Herr-der-Stille-Kills,int', 'dragonage'=>'Alter beim letzten HdSK,int', 'bestdragonage'=>'Jüngstes Alter bei einem HdSK,int', 'bio'=>'Bio,textarea,50,10',
'Werte,title', 'level'=>'Level,int', 'experience'=>'Erfahrung,int', 'hitpoints'=>'Lebenspunkte (aktuell),int', 'maxhitpoints'=>'Maximale Lebenspunkte,int', 'turns'=>'Runden übrig,int', 'playerfights'=>'Spielerkämpfe übrig,int', 'attack'=>'Angriffswert (inkl. Waffenschaden),int', 'defence'=>'Verteidigung (inkl. Rüstung),int', 'spirits'=>'Stimmung (nur Anzeige),enum,-2,Sehr schlecht,-1,Schlecht,0,Normal,1,Gut,2,Sehr gut', 'resurrections'=>'Auferstehungen,int', 'alive'=>'Lebendig,int', 'reputation'=>'Ansehen (-50 - +50),int',
'Besondere Fähigkeiten,title', 'specialty'=>'Fähigkeit,enum,0,ohne,1,Dunkle Kunst,2,Mystische Kräfte,3,Diebeskünste,4,Feuerkünste,5,Druidenzauber,6,Luftmagie', 'darkarts'=>'`lStufe in: `tDu`rnk`qle K`run`tst`0,int', 'darkartuses'=>'`pheute übrig in `tDu`rnk`qle K`run`tst`0`0,int', 'magic'=>'`lStufe in: `kMy`jst`gis`fche `gKr`jäf`kte`0,int', 'magicuses'=>'`pheute übrig in `kMy`jst`gis`fche `gKr`jäf`kte`0,int', 'thievery'=>'`lStufe in: `yDi`$eb`%eskü`$ns`yte`0,int', 'thieveryuses'=>'`pheute übrig in `yDi`$eb`%eskü`$ns`yte`0,int', 'fire'=>'`lStufe in: `%F`$e`yu`xe`!rkü`xn`ys`$t`%e`0,int', 'fireuses'=>'`pheute übrig in `%F`$e`yu`xe`!rkü`xn`ys`$t`%e`0,int', 'druid'=>'`lStufe in: `.D`@r`6u`7i`8d`9enz`8a`7u`6b`@e`.r`0,int', 'druiduses'=>'`pheute übrig in `.D`@r`6u`7i`8d`9enz`8a`7u`6b`@e`.r`0,int', 'luft'=>'`lStufe in: `lL`-uftmag`-i`le`0,int', 'luftuses'=>'`pheute übrig in `lL`-uftmag`-i`le`0,int',
'Grabkämpfe,title', 'deathpower'=>'Gefallen bei Ramius,int', 'gravefights'=>'Grabkämpfe übrig,int', 'soulpoints'=>'Seelenpunkte (HP im Tod),int',
'Besitztum / Ausstattung,title', 'gems'=>'`1Edelsteine`0,int', 'gold'=>'`%Bargold,int', 'goldinbank'=>'`%Gold auf der Bank,int', 'transferredtoday'=>'Anzahl Transfers heute,int', 'amountouttoday'=>'`%heute insgesamt an andere überwiesenes Gold,int', 'weapon'=>'Name der Waffe', 'weapondmg'=>'Waffenschaden,int', 'weaponvalue'=>'Kaufwert der Waffe,int', 'armor'=>'Name der Rüstung', 'armordef'=>'Verteidigungswert,int', 'armorvalue'=>'Kaufwert der Rüstung,int',
'Sonderinfos,title', 'house'=>'Haus-ID,int', 'housekey'=>'Hausschlüssel?,int', 'marriedto'=>'Partner-ID (4294967295 = Violet/Seth),int', 'charisma'=>'Flirts (4294967295 = verheiratet mit Partner),int', 'seenlover'=>'Geflirtet,bool', 'seenbard'=>'Barden gehört,bool', 'charm'=>'Charme,int', 'seendragon'=>'Herrn der Stille heute gesucht,bool', 'rport'=>'Hat RP Ort erstellt,bool', 'seenmaster'=>'Meister befragt,bool', 'usedouthouse'=>'Plumpsklo besucht,bool', 'fedmount'=>'Tier gefüttert,bool', 'gotfreeale'=>'Frei-Ale (MSB: getrunken - LSB: spendiert),int', 'hashorse'=>'Tier,enum$mounts', 'boughtroomtoday'=>'Zimmer für heute bezahlt,bool', 'drunkenness'=>'Betrunken (0-100),int', 'prison'=>'In Haft?,enum,0,nein,1,ja', 'einzelhaft'=>'In Einzelhaft?,enum,0,nein,1,ja', 'avatar'=>'Avatar:',
'Weitere Infos,title', 'emote'=>'Darf User Landschaftsemotes einsetzen? Ja; darf er?,bool', 'beta'=>'Nimmt am Betatest teil,viewonly', 'slainby'=>'Gekillt von Spieler,viewonly', 'laston'=>'Zuletzt Online,viewonly', 'lasthit'=>'Letzter neuer Tag,viewonly', 'lastmotd'=>'Datum der letzten MOTD,viewonly', 'lastip'=>'Letzte IP,viewonly', 'uniqueid'=>'Unique ID,viewonly', 'gentime'=>'Summe der Seitenerzeugungszeiten,viewonly', 'gentimecount'=>'Seitentreffer,viewonly', 'allowednavs'=>'Zulässige Navigation,viewonly', 'dragonpoints'=>'Eingesetzte Kampfpunkte,viewonly', 'bufflist'=>'Spruchliste,viewonly', 'prefs'=>'Einstellungen,viewonly', 'lastwebvote'=>'Zuletzt bei Top Wep Games gewählt,viewonly', 'donationconfig'=>'Spendenkäufe,viewonly' );
if ($_GET[op]=="lasthit"){ $output=""; $sql = "SELECT output FROM accounts WHERE acctid='{$_GET['userid']}'"; $result = db_query($sql); $row = db_fetch_assoc($result); echo str_replace("<iframe src=","<iframe Xsrc=",$row['output']); exit(); }elseif ($_GET[op]=="edit"){ $result = db_query("SELECT * FROM accounts WHERE acctid='$_GET[userid]'") or die(db_error(LINK)); $row = db_fetch_assoc($result) or die(db_error(LINK)); output("<form action='user.php?op=special&userid=$_GET[userid]".($_GET['returnpetition']!=""?"&returnpetition={$_GET['returnpetition']}":"")."' method='POST'>",true); addnav("","user.php?op=special&userid=$_GET[userid]".($_GET['returnpetition']!=""?"&returnpetition={$_GET['returnpetition']}":"").""); output("<input type='submit' class='button' name='newday' value='Neuen Tag gewähren'>",true); output("<input type='submit' class='button' name='fixnavs' value='Defekte Navs reparieren'>",true); output("<input type='submit' class='button' name='clearvalidation' value='E-Mail als gültig markieren'>",true); output("</form>",true);
if ($_GET['returnpetition']!=""){ addnav("Zurück zur Anfrage","viewpetition.php?op=view&id={$_GET['returnpetition']}"); } addnav("Letzten Treffer anzeigen","user.php?op=lasthit&userid={$_GET['userid']}",false,true);
output("<form action='user.php?op=save&userid=$_GET[userid]".($_GET['returnpetition']!=""?"&returnpetition={$_GET['returnpetition']}":"")."' method='POST'>",true);
addnav("","user.php?op=save&userid=$_GET[userid]".($_GET['returnpetition']!=""?"&returnpetition={$_GET['returnpetition']}":"").""); addnav("","user.php?op=edit&userid=$_GET[userid]".($_GET['returnpetition']!=""?"&returnpetition={$_GET['returnpetition']}":"").""); addnav("Verbannen","user.php?op=setupban&userid=$row[acctid]"); addnav("Debug-Log anzeigen","user.php?op=debuglog&userid={$_GET['userid']}");
output("<input type='submit' class='button' value='Speichern'>",true); showform($userinfo,$row); output("</form>",true); output("<iframe src='user.php?op=lasthit&userid={$_GET['userid']}' width='100%' height='400'>Dein Browser muss iframes unterstützen, um die letzte Seite des Users anzeigen zu können. Benutze den Link im Menü stattdessen.</iframe>",true);
addnav("","user.php?op=lasthit&userid={$_GET['userid']}"); }
elseif ($_GET['op']=="special") { if ($_POST['newday']!="") { $sql = "UPDATE accounts SET lasthit='".date("Y-m-d H:i:s",strtotime(date("r")."-".(86500/getsetting("daysperday",4))." seconds"))."' WHERE acctid='$_GET[userid]'"; }
elseif($_POST['fixnavs']!="") {$sql = "UPDATE accounts SET allowednavs='',output='' WHERE acctid=$_GET[userid]";}
elseif($_POST['clearvalidation']!="") {$sql = "UPDATE accounts SET emailvalidation='' WHERE acctid='$_GET[userid]'";} db_query($sql); if ($_GET['returnpetition']=="") {redirect("user.php");}
else {redirect("viewpetition.php?op=view&id={$_GET['returnpetition']}");} }
elseif ($_GET['op']=="save") { $sql = "UPDATE accounts SET "; // Ein paar Sicherheiten für Änderungen // Gesamtname geändert if ($_POST['oldname']!=$_POST['name']) { $clearedname = preg_replace('/`./','',$_POST['name']); // Login bleibt gleich if (substr_count($clearedname,$_POST['login'])) { // Titel rausfinden $replace = '(`.)*'; for ($i=0;$i<strlen($_POST['login']);$i++) { $replace .= $_POST['login']{$i}.'(`.)*'; } $_POST['ctitle'] = rtrim(preg_replace('/'.$replace.'/','',$_POST['name'])); if ($_POST['ctitle']=='') $_POST['title'] = ''; elseif ($_POST['ctitle']==$_POST['title']) $_POST['ctitle'] = ''; } // Neuer Login else { // Leerzeichen vorhanden if ($login = strrchr($_POST['name'],' ')) { $_POST['login'] = trim(strrchr($clearedname,' ')); $_POST['ctitle'] = str_replace($login,'',$_POST['name']); if ($_POST['ctitle']==$_POST['title']) $_POST['ctitle'] = ''; } // Kein Leerzeichen vorhanden else { $_POST['login'] = $clearedname; $_POST['title'] = $_POST['ctitle'] = ''; } } } // Login geändert elseif ($_POST['oldlogin']!=$_POST['login']) { if ($_POST['ctitle']!='') $_POST['name'] = $_POST['ctitle'].' '.$_POST['login']; else $_POST['name'] = $_POST['title'].' '.$_POST['login']; } // Titel geändert elseif ($_POST['oldtitle']!=$_POST['title'] && $_POST['ctitle']=='') { if ($_POST['oldctitle']!='') $colname = str_replace($_POST['oldctitle'],'',$_POST['name']); else $colname = str_replace($_POST['oldtitle'],'',$_POST['name']); $_POST['name'] = $_POST['title'].$colname; } // Usertitel geändert elseif ($_POST['oldctitle']!=$_POST['ctitle']) { if ($_POST['oldctitle']!='') $colname = str_replace($_POST['oldctitle'],'',$_POST['name']); else $colname = str_replace($_POST['oldtitle'],'',$_POST['name']); if ($_POST['ctitle']=='') $_POST['name'] = $_POST['title'].$colname; else $_POST['name'] = $_POST['ctitle'].$colname; }
reset($_POST); while (list($key,$val)=each($_POST)) { if (isset($userinfo[$key])) { if ($key=="newpassword" ) {if ($val>"") $sql.="password = MD5(\"$val\"),";}
else {$sql.="$key = \"$val\",";} } } $sql=substr($sql,0,strlen($sql)-1); $sql.=" WHERE acctid=\"$_GET[userid]\""; //output("<pre>$sql</pre>"); //echo "<pre>$sql</pre>"; //redirect("user.php"); //output( db_affected_rows()." rows affected"); //we must manually redirect so that our changes go in to effect *after* our user save. addnav("","viewpetition.php?op=view&id={$_GET['returnpetition']}"); addnav("","user.php"); saveuser(); db_query($sql) or die(db_error(LINK)); if ($_GET['returnpetition']!="") {header("Location: viewpetition.php?op=view&id={$_GET['returnpetition']}");}
else {header("Location: user.php");}
exit(); }elseif ($_GET[op]=="del"){ $sql = "SELECT name from accounts WHERE acctid='$_GET[userid]'"; $res = db_query($sql); //Friedhof Skript $sql = "SELECT * from accounts WHERE acctid='$_GET[userid]'"; $result = db_query($sql); $row = db_fetch_assoc($result); $sql="INSERT INTO graeber (name,spruch,status,level,age,titel,dk,sex) VALUES ('".$row[login]."','".$spruch."','2','".$row[level]."','".$row[age]."','".$row[title]."','".$row[dk]."','".$row[sex]."')"; db_query($sql) or die(db_error(LINK)); //Ende Friedhof Skript // inventar und haus löschen und partner und ei freigeben if ($_GET['userid']==getsetting('hasegg',0)) savesetting('hasegg',stripslashes(0));
$sql = 'UPDATE items SET owner=0 WHERE owner="'.$_GET['userid'].'"'; db_query($sql);
$sql = 'UPDATE houses SET owner=0,status=3 WHERE owner="'.$_GET['userid'].'" AND status=1'; db_query($sql);
$sql = 'UPDATE houses SET owner=0,status=4 WHERE owner="'.$_GET['userid'].'" AND status=0'; db_query($sql);
$sql = 'UPDATE accounts SET charisma=0,marriedto=0 WHERE marriedto="'.$_GET['userid'].'"'; db_query($sql);
$sql = 'DELETE FROM pvp WHERE acctid2="'.$_GET['userid'].'" OR acctid1="'.$_GET['userid'].'"'; db_query($sql) or die(db_error(LINK));
$sql = 'DELETE FROM accounts WHERE acctid="'.$_GET['userid'].'"'; db_query($sql);
output( db_affected_rows().' Benutzer gelöscht.');
while ($row = db_fetch_assoc($res)) { addnews('`%'.$row['name'].' <span style="color: #FFFF00;">w</span><span style="color: #FCFC06;">u</span><span style="color: #FAFA0C;">r</span><span style="color: #F8F812;">d</span><span style="color: #F6F618;">e</span><span style="color: #F4F41E;"> </span><span style="color: #F2F225;">v</span><span style="color: #F0F02B;">o</span><span style="color: #EEEE31;">n</span><span style="color: #ECEC37;"> </span><span style="color: #EAEA3D;">d</span><span style="color: #E8E844;">e</span><span style="color: #E6E64A;">n</span><span style="color: #E4E450;"> </span><span style="color: #E2E256;">G</span><span style="color: #E0E05C;">ö</span><span style="color: #DEDE63;">t</span><span style="color: #DCDC69;">t</span><span style="color: #DADA6F;">e</span><span style="color: #D8D875;">r</span><span style="color: #D6D67B;">n</span><span style="color: #D4D482;"> </span><span style="color: #D2D288;">a</span><span style="color: #D0D08E;">u</span><span style="color: #CECE94;">f</span><span style="color: #CCCC9A;">g</span><span style="color: #CACAA1;">e</span><span style="color: #C8C8A7;">l</span><span style="color: #C6C6AD;">ö</span><span style="color: #C4C4B3;">s</span><span style="color: #C2C2B9;">t</span><span style="color: #C0C0BF;">.</span>',true); } }
elseif($_GET['op']=='setupban')
{ $sql = "SELECT name,lastip,uniqueid FROM accounts WHERE acctid=\"$_GET[userid]\""; $result = db_query($sql) or die(db_error(LINK)); $row = db_fetch_assoc($result);
if ($row[name]!="") output("Setting up ban information based on `\$$row[name]`0 <form action='user.php?op=saveban' method='POST'> Verbannung über IP oder ID (IP bevorzugt. Bei Usern hinter NAT kannst du eine Verbannung über ID versuchen, die aber leicht ungangen werden kann)`n <input type='radio' value='ip' name='type' checked> IP: <input name='ip' value=\"".HTMLEntities($row[lastip])."\">`n <input type='radio' value='id' name='type'> ID: <input name='id' value=\"".HTMLEntities($row[uniqueid])."\">`n 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> Bei einem IP-Bann gib entweder eine komplette IP ein, oder gebe nur den Anfang der IP ein, wenn du einen IP-Bereich sperren willst.",true); addnav("","user.php?op=saveban"); }
elseif($_GET[op]=="saveban") { $sql = "INSERT INTO bans ("; if ($_POST[type]=="ip") {$sql.="ipfilter";}
else {$sql.="uniqueid";}
$sql.=",banexpire,banreason) VALUES (";
if ($_POST[type]=="ip") {$sql.="\"$_POST[ip]\"";}
else {$sql.="\"$_POST[id]\"";}
$sql.=",\"".((int)$_POST[duration]==0?"0000-00-00":date("Y-m-d",strtotime(date("r")."+$_POST[duration] days")))."\","; $sql.="\"$_POST[reason]\")";
if ($_POST[type]=="ip") { if (substr($_SERVER['REMOTE_ADDR'],0,strlen($_POST[ip])) == $_POST[ip]) { $sql = ""; output("Du willst dich doch nicht wirklich selbst verbannen, oder?? Das ist deine eigene IP-Adresse!"); } }
else { if ($_COOKIE[lgi]==$_POST[id]) { $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)); } }
elseif($_GET[op]=="delban") { $sql = "DELETE FROM bans WHERE ipfilter = '$_GET[ipfilter]' AND uniqueid = '$_GET[uniqueid]'"; db_query($sql); redirect("user.php?op=removeban"); }
elseif($_GET[op]=="removeban") { db_query("DELETE FROM bans WHERE banexpire < \"".date("Y-m-d")."\" AND banexpire>'0000-00-00'"); $sql = "SELECT * FROM bans ORDER BY banexpire"; $result = db_query($sql) or die(db_error(LINK)); output("<table><tr> <td>Ops</td> <td>IP/ID</td> <td>Dauer</td> <td>Text</td> <td>Betrifft:</td></tr>",true); for ($i=0;$i<db_num_rows($result);$i++) { $row = db_fetch_assoc($result); output("<tr class='".($i%2?"trlight":"trdark")."'><td><a href='user.php?op=delban&ipfilter=".URLEncode($row[ipfilter])."&uniqueid=".URLEncode($row[uniqueid])."'>Bann aufheben</a>",true);
addnav("","user.php?op=delban&ipfilter=".URLEncode($row[ipfilter])."&uniqueid=".URLEncode($row[uniqueid]));
output("</td><td>",true); output($row[ipfilter]); output($row[uniqueid]); output("</td><td>",true); $expire=round((strtotime($row[banexpire])-strtotime(date("r"))) / 86400,0)." Tage"; if (substr($expire,0,2)=="1 ") $expire="1 Tag"; if (date("Y-m-d",strtotime($row[banexpire])) == date("Y-m-d")) $expire="Heute"; if (date("Y-m-d",strtotime($row[banexpire])) == date("Y-m-d",strtotime("1 day"))) $expire="Morgen"; if ($row[banexpire]=="0000-00-00") $expire="Nie"; output($expire); output("</td><td>",true); output($row[banreason]); output("</td><td>",true); $sql = "SELECT DISTINCT accounts.name FROM bans, accounts WHERE (ipfilter='".addslashes($row['ipfilter'])."' AND bans.uniqueid='".addslashes($row['uniqueid'])."') AND ((substring(accounts.lastip,1,length(ipfilter))=ipfilter AND ipfilter<>'') OR (bans.uniqueid=accounts.uniqueid AND bans.uniqueid<>''))"; $r = db_query($sql);
for ($x=0;$x<db_num_rows($r);$x++) { $ro = db_fetch_assoc($r); output("`0{$ro['name']}`n"); } output("</td></tr>",true); } output("</table>",true); }
elseif ($_GET['op']=='debuglog') { $id = $_GET['userid']; $sql = "SELECT debuglog.*,a1.name as actorname,a2.name as targetname FROM debuglog LEFT JOIN accounts as a1 ON a1.acctid=debuglog.actor LEFT JOIN accounts as a2 ON a2.acctid=debuglog.target WHERE debuglog.actor=$id OR debuglog.target=$id ORDER by debuglog.date DESC,debuglog.id ASC LIMIT 500";
addnav('Spieler bearbeiten','user.php?op=edit&userid='.$id.'');
$result = db_query($sql); $odate = "";
for ($i=0; $i<db_num_rows($result); $i++) { $row = db_fetch_assoc($result); $dom = date('D, d.m.Y',strtotime($row['date']));
output('<table align="center" cellpadding="3" cellspacing="3" width="100%">',true);
if ($odate != $dom) { output('<tr class="trhead"><td>`b'.$dom.'`b',true);
$odate = $dom; }
$time = date('H:i', strtotime($row['date']));
output('</td></tr><tr><td>`l'.$time.' Uhr - '.$row['actorname'].' '.$row['message'].'`0',true);
if ($row['target']) output(' '.$row['targetname'].'');
output('</td></tr></table>',true); } }
elseif ($_GET['op']=='') { if (isset($_GET['page'])) { $order = 'acctid';
if ($_GET[sort]!='') $order = ''.$_GET[sort].'';
$offset=(int)$_GET['page']*100;
$sql = "SELECT acctid,login,name,level,laston,gentimecount,lastip,uniqueid,emailaddress FROM accounts ".($where>""?"WHERE $where ":"")."ORDER BY acctid ASC LIMIT $offset,100"; $result = db_query($sql) or die(db_error(LINK)); output('<table align="center" cellpadding="3" cellspacing="3" width="100%"> <tr class="trhead"> <td>`bAdmin`b</td> <td>`b`cAccID`c`b</td> <td>`bLogin`b</td> <td>`bName`b</td> <td>`b`cLevel`c`b</td> <td>`bzuletzt online`b</td> <td>`bIP`b</td> <td>`bE-Mail`b</td></tr>',true);
$rn=0; for ($i=0;$i<db_num_rows($result);$i++) { $row=db_fetch_assoc($result); $laston=round((strtotime(date('r'))-strtotime($row['laston'])) / 86400,0).' Tage`0';
if (substr($laston,0,2)=='1 ') $laston='`.1 Tag`0';
if (date('Y-m-d',strtotime($row['laston'])) == date('Y-m-d')) $laston='`6heute`0';
if (date('Y-m-d',strtotime($row['laston'])) == date('Y-m-d',strtotime(date('r').'-1 day'))) $laston='`.gestern`0';
if ($loggedin) $laston='`%jetzt`0';
$row['laston']=$laston;
if ($row[$order]!=$oorder) $rn++;
$oorder = $row[$order];
output('<tr><td> <a href="user.php?op=edit&userid='.$row['acctid'].'">`@bearbeiten`0</a>`n '.'<a href="user.php?op=del&userid='.$row['acctid'].'" onClick="return confirm(\'Willst du diesen User wirklich löschen?\');">`xlöschen`0</a>`n '.'<a href="user.php?op=setupban&userid='.$row['acctid'].'">`ybannen`0</a>`n '.'<a href="user.php?op=debuglog&userid='.$row['acctid'].'">`%Logs`0</a>',true); addnav('','user.php?op=edit&userid='.$row['acctid'].''); addnav('','user.php?op=del&userid='.$row['acctid'].''); addnav('','user.php?op=setupban&userid='.$row['acctid'].''); addnav('','user.php?op=debuglog&userid='.$row['acctid'].''); output('</td> <td>`c`l'.$row['acctid'].'`c`0</td> <td>`l'.$row['login'].'`0</td> <td>`l'.$row['name'].'`0</td> <td>`l`c'.$row['level'].'`c`0</td> <td>`l'.$row['laston'].'`0</td> <td>`l'.$row['lastip'].'`0</td> <td>`l'.$row['emailaddress'].'`0</td>',true);
$gentimecount+=$row['gentimecount']; $gentime+=$row['gentime'];
output('</tr><tr><td colspan="8"><hr /></td></tr>',true); }
output('</table><br /><br />',true);
output('Treffer gesamt: '.$gentimecount.'`n'); output('CPU-Zeit gesamt: '.round($gentime,3).'s`n'); output('Durchschnittszeit für Seitenerzeugung: '.round($gentime/max($gentimecount,1),4).'s`n'); } } page_footer(); ?>
|