"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("
| ID | Name | Goldkosten | Gemkosten | ",true);
output("Goldschatz | Gemschatz | Schlüssel | Zimmer | Ops |
",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("| `4FEHLER - Kein Datensatz vorhanden -> \"`iLoch`i\"! |
",true);
$loch++;
} else {
output("| $c".$level->level." | ".$level->name." | $c".$level->gold." | $c".$level->gems." | ",true);
output("$c".$level->goldchest." | $c".$level->gemschest." | $c".$level->keys." | $c".$level->zimmer." | del |
",true);
addnav("","nhmaster.php?op=edit&id=".$level->level);
addnav("","nhmaster.php?op=delete&id=".$level->level);
}
}
output("
",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);
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);
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);
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();
?>