"Goldkosten zum Bau eines Hauses,int", "baukostengems"=>"Edelsteinkosten zum Bau eines Hauses,int", "abwannbauen"=>"Ab Wievielen Drachenkills darf man ein Haus bauen,int", "kindermod"=>"Ist die Kindermodifikation von -Dom installiert?,bool", "commentarymio"=>"Ist das Commentary-Much-in-One-Bundle von Eliwood installiert?,bool" ); $daten=array( "level"=>"Level", "name"=>"Name der Ausbaustufe", "gold"=>"Ausbaukosten in Gold", "gems"=>"Ausbaukostem in Edelsteinen", "keys"=>"Schlüssel auf dieser Stufe", "zimmer"=>"Zimmerslots für Ausbauten", "goldchest"=>"Platz für wieviele Goldstücke", "gemschest"=>"Platz für wieviele Edelsteine" ); switch($_GET['op']) { case 'speichern': reset($_POST); while (list($key,$val)=each($_POST)){ savesetting($key,stripslashes($val)); output("`@Setze $key auf ".stripslashes($val)."`n"); } break; case 'level': output("`b`cFolgende Ausbaustufen gibt es bereits - zum editieren anklicken`b`c`n"); output("",true); output("",true); $loch = 0; for($i=1;$i<=ausbaustufe::hoechste();$i++) { $level = new ausbaustufe($i); $bgcolor=($i%2==1?"trlight":"trdark"); $c=($i%2==1?"`9":"`6"); if(empty($level->id) && empty($level->name)) { output("",true); $loch++; } else { output("",true); output("",true); addnav("","nhmaster.php?op=edit&id=".$level->level); addnav("","nhmaster.php?op=delete&id=".$level->level); } } output("
IDNameGoldkostenGemkostenGoldschatzGemschatzSchlüsselZimmerOps
`4FEHLER - Kein Datensatz vorhanden -> \"`iLoch`i\"!
$c".$level->level."".$level->name."$c".$level->gold."$c".$level->gems."$c".$level->goldchest."$c".$level->gemschest."$c".$level->keys."$c".$level->zimmer."del
",true); // Fehlerüberprüfungen: if($loch > 0) { output("`n`c`b`$ Achtung! Es ".(($loch=1)?"ist":"sind")." ".$loch." ".(($loch=1)?"\"`iLoch`i\"":"\"`iLöcher`i\"")." vorhanden!`b`c`n"); output("`6Beim Prüfen ist aufgefallen, das gewisse Positionen in der Reihe der Ausbaustufen vorhanden sind.`n"); output("Da diese schwerwiegende Fehler herbeiführen können, sollten sie schnellsten behoben werden!`n`n"); output("`#Die Prüfung ergab: `^".ausbaustufe::levels()." `#Level sind eingetragen, das höchste jedoch hat den Wert `^".ausbaustufe::hoechste().".`n`n"); $sql = "SELECT level, name FROM hauslevels"; $result = db_query($sql) or die(db_error(LINK)); } else { output("`n`c`b`@Scheinbar keine Fehler vorhanden!`b`c"); } addnav("Aktionen"); addnav("Neue Stufe Erstellen","nhmaster.php?op=create"); addnav("Sonstiges"); break; case 'delete': if(!$_GET['id']) redirect('nhmaster.php?op=level'); if($_GET['validate']=="ja") { $sql = "DELETE FROM `hauslevels` WHERE `level` = ".$_GET['id']; db_query($sql) or die(db_error(LINK)); output("Löschvorgang für die Ausbaustufe mit der ID ".$_GET['id']." erfolgreich abgeschlossen!"); } else { output("`4Achtung: Soll die Ausbaustufe mit der ID ".$_GET['id']." wirklich gelöscht werden?"); addnav("Aktionen"); addnav("Ja!","nhmaster.php?op=delete&id=".$_GET['id']."&validate=ja"); addnav("Abbruch und Sonstiges"); } break; case 'create': $id = ausbaustufe::hoechste() + 1; output("
",true); output("",true); addnav("","nhmaster.php?op=editieren"); $last = new ausbaustufe($id - 1); reset($daten); while(list($key,$val)=each($daten)) { $level = ($key=="level"?"value='$id'":""); output("",true); } output("
`^`bErstellungsparameter für Ausbaustufe ".$id."`b`0`6(Sonst höchste Stufe)`0
".$val."`6".$last->$key."`0
",true); break; case 'edit': if(!$_GET['id']) redirect('nhmaster.php?op=level'); $level = new ausbaustufe($_GET['id']); addnav("Aktionen"); addnav("Löschen!","nhmaster.php?op=delete&id=".$_GET['id']); addnav("Sonstiges"); output("
",true); output("",true); addnav("","nhmaster.php?op=editieren"); reset($daten); while(list($key,$val)=each($daten)) { output("",true); } output("
`^`bEinstellungen für Ausbaustufe ".$_GET['id']."`b`0
".$val."
",true); break; case 'editieren': output("`^`bFehlerüberprüfung:`b`n `6Hier wird nun auf diverse Fehlerverurschande Möglichkeiten getestet:`n`n"); $schalter = array("a"=>false,"b"=>false); $sql = "SELECT level, name FROM hauslevels ORDER BY level ASC"; $result = db_query($sql) or die(db_error(LINK)); for($i=0;$i<=db_num_rows($result);$i++) { $row = db_fetch_assoc($result); // Prüfung auf eventuell zu überschreibenden Level: if($schalter['a'] == false && $row['level'] == $_POST['level']) { $schalter['a'] = true; output("`6Es besteht bereits eine Ausbaustufe mit der angegeben Nummer - wenn du nun speicherst, wird diese unwiederbringlich überschreiben!`n"); output("Wenn du allerdings nur eine Ausbaustufe umänderst und in diesem Moment keine neue erstellst, ist das kein Problem!`n`n"); // Prüfung auf gleiche Namen: } if($row['name'] == $_POST['name']) { $schalter['b'] = true; output("Der eingegebene Name besteht bereits einmal bei einer anderen Ausbaustufe (".$row['level']."). Du solltets einen anderen wählen!`n"); output("Wenn du allerdings nur eine Ausbaustufe umänderst und in diesem Moment keine neue erstellst, ist das kein Problem!`n"); } $highest = $row['level']; } output("`n`n"); // Abschließende Analyse: if($schalter['a'] || $schalter['b']) { output("`4Da Hinweise aufgetreten sind, solltest du deine Eingaben noch einmal überprüfen!`n"); } else { output("`@Deine Daten scheinen soweit korrekt zu sein!`n"); } addnav("Was jetzt?"); addnav("Daten neu eingeben","nhmaster.php?op=edit&id=".(($_POST['level']>ausbaustufe::levels())?ausbaustufe::levels():$_POST['level'])); addnav("Abschicken und Speichern!","nhmaster.php?op=eintragen"); addnav("Sonstiges"); output("`2Ansonsten werden nun folgende Daten gespeichert:`n"); $first = true; if($schalter['a'] == true) $query = "UPDATE `hauslevels` SET "; // Wenn bereits ein Datensatz unter dieser Nummer besteht else $query = "INSERT INTO `hauslevels` SET "; // Wenn noch kein Datensatz unter dieser Nummer besteht foreach($daten as $key=>$val) { if(!$first) { $query .= ", "; output(", "); } $query .= "`".$key."` = '".$_POST[$key]."'"; output("Setze ".$key." auf '"); rawoutput($_POST[$key]); output("'`n"); $first = false; } if($schalter['a'] == true) $query .= " WHERE level = ".$_POST['level']; output("`n`n QUERY: "); rawoutput($query); $session['hausausbauquery'] = $query; break; case 'eintragen': if(empty($session['hausausbauquery'])) { output("`4Fehler, der Query wurde nicht richtig übertragen! Bitte noch einmal versuchen!"); } else { db_query($session['hausausbauquery']) or die(db_error(LINK)); output("`@Alles OK, die Daten wurden eingetragen und sind nun verwendbar!"); } addnav("Zurück"); break; case 'check': $col = new collector(); $col->pruefung(); break; case 'weiter': $col = new collector(); $col->weiterverarbeitung(); break; case 'mmaster': $col = new collector(); output($col->ausgabe,true); addnav("Operationen"); addnav("Prüfung durchführen","nhmaster.php?op=check"); addnav("Sonstiges"); break; case 'zimmeredit': if(!$_GET['zimmer']) redirect("nhmaster.php"); include_once("lib/zimmer.php"); $zimmer = new zimmer; $zimmer->finddata((int) $_GET['zimmer']); output($zimmer->adminausgabe(),true); break; case 'zimmerweiter': include_once("lib/zimmer.php"); $zimmer = new zimmer; $zimmer->finddata($_GET['zimmer']); $zimmer->speichern(); output("Die Einstellungen wurden erfolgreich eingetragen.`n"); break; default: output("
",true); addnav("","nhmaster.php?op=speichern"); showform($setup,$settings); output("
",true); break; } addnav("Modulmaster","nhmaster.php?op=mmaster"); addnav("Hauslevel-Editor","nhmaster.php?op=level"); addnav("Übersicht","nhmaster.php"); addnav("Zurück zur Grotte","superuser.php"); page_footer(); ?>