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("
Suche in allen Feldern:
",true); output("",true); addnav("","user.php?op=search"); addnav("G?Zurück zur Grotte","superuser.php"); addnav("W?Zurück zum Weltlichen","village.php"); addnav("Verbannung","user.php?op=setupban"); addnav("Verbannungen anzeigen/entfernen","user.php?op=removeban"); //addnav("Benutzereditor","user.php"); $sql = "SELECT count(acctid) AS count FROM accounts"; $result = db_query($sql); $row = db_fetch_assoc($result); $page=0; while ($row[count]>0){ $page++; addnav("$page Seite $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,Standard Spieltage pro Kalendertag,1,Unbegrenzt Spieltage pro Kalendertag,2,Kreaturen und Spott administrieren,3,User administrieren", "mentor"=>"Mentor - Darf RP-Punkte verteilen,enum,0,Aus,1,An", "User Infos,title", "name"=>"Display Name", "title"=>"Titel (muss auch in Display Name)", "ctitle"=>"Eigener Titel (muss auch in Display Name)", "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"=>"Drachenkills,int", "dragonage"=>"Alter beim letzten Drachenkill,int", "bestdragonage"=>"Jüngstes Alter bei einem Drachenkill,int", "bio"=>"Bio", "Kindersystem,title", "ssstatus"=>"Schwanger?,enum,0,Nein,1,Ja", "ssmonat"=>"Schwangerschafts Monat (16 Std),int", "sserzeug"=>"ID des Vaters,int", "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", "Spezialitäten,title", "specialty"=>"Spezialität,enum,0,Unspezifiziert,1,Dunkle Künste,2,Mystische Kräfte,3,Diebeskunst", "darkarts"=>"`4Stufe in Dunklen Künsten`0,int", "darkartuses"=>"`4^--heute übrig`0,int", "magic"=>"`%Stufe in Mystischen Kräften`0,int", "magicuses"=>"`%^--heute übrig`0,int", "thievery"=>"`^Stufe in Diebeskunst`0,int", "thieveryuses"=>"`^^--heute übrig`0,int", "Grabkämpfe,title", "deathpower"=>"Gefallen bei Ramius,int", "gravefights"=>"Grabkämpfe übrig,int", "soulpoints"=>"Seelenpunkte (HP im Tod),int", "Ausstattung,title", "gems"=>"Edelsteine,int", "gold"=>"Bargold,int", "goldinbank"=>"Gold auf der Bank,int", "transferredtoday"=>"Anzahl Transfers heute,int", "amountouttoday"=>"Heute ausgegengener Wert der Überweisungen,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"=>"Drachen heute gesucht,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", "avatar"=>"Avatar:", "Weitere Infos,title", "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 Drachenpunkte,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("",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("c")."-".(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?".db_affected_rows()); 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"") $sql.="password = MD5(\"$val\"),"; }else{ $sql.="$key = \"$val\","; } } } $sql=substr($sql,0,strlen($sql)-1); $sql.=" WHERE acctid=\"$_GET[userid]\""; //output("
$sql
"); //echo "
$sql
"; //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); // 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']} wurde von den Göttern aufgelöst."); } }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"); output("
",true); output("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"); output(" IP: `n",true); output(" ID: `n",true); output("Dauer: days (0 for permanent)`n",true); output("Grund für die Verbannung: `n",true); output("
",true); output("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."); 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("c")."+$_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); //output($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("",true); for ($i=0;$i",true); } output("
OpsIP/IDDauerTextBetrifft:
Bann aufheben",true); addnav("","user.php?op=delban&ipfilter=".URLEncode($row[ipfilter])."&uniqueid=".URLEncode($row[uniqueid])); output("",true); output($row[ipfilter]); output($row[uniqueid]); output("",true); $expire=round((strtotime($row[banexpire])-strtotime(date("c"))) / 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("",true); output($row[banreason]); output("",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
",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("User Info bearbeiten","user.php?op=edit&userid=$id"); $result = db_query($sql); $odate = ""; for ($i=0; $i""?"WHERE $where ":"")."ORDER BY \"$order\" LIMIT $offset,100"; $result = db_query($sql) or die(db_error(LINK)); output("",true); output("",true); addnav("","user.php?sort=login"); addnav("","user.php?sort=name"); addnav("","user.php?sort=level"); addnav("","user.php?sort=laston"); addnav("","user.php?sort=gentimecount"); addnav("","user.php?sort=lastip"); addnav("","user.php?sort=uniqueid"); $rn=0; for ($i=0;$i",true); output("",true); $gentimecount+=$row[gentimecount]; $gentime+=$row[gentime]; output("",true); } output("
Ops Login Name Lev Zuletzt da Treffer IP ID E-Mail
",true); output("[Edit|". "Del|". "Ban|". "Log]",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("",true); output($row[login]); output("",true); output($row[name]); output("",true); output($row[level]); output("",true); output($row[laston]); output("",true); output($row[gentimecount]); output("",true); output($row[lastip]); output("",true); output($row[uniqueid]); output("",true); output($row[emailaddress]); output("
",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(); ?>