[php]<?php
/*
// Der Scheiterhaufen
//
http://www.fargoth.de
// Idee: Asazel, Belkelel
// Umsetzung: Erinyen
// basierend auf Chaosmakers Pranger
*/
require_once "common.php";
checkday();
addcommentary();
page_header("Der Scheiterhaufen");
output("<center><img src=http://fargoth.de/images/20-scheiterhaufen.jpg></center><br><br>", true);
if ($session['user']['scheitertime'] == 0)
{
// Wenn man grad freigekommen ist...
if ($session['user']['location']==5) $session['user']['location']=0;
output("`c`b`qDe`Qr S`4cheiterh`Qau`qfen`b`c`n");
output("`c`qEi`Qne `4düstere Ecke ist es die du hier gefunden hast. Die Luft riecht nach verbranntem Fleisch, nicht schmackhaft wie wenn man eine Sau grillt, nein,
dieser Geruch lässt dich schaudern, dir wird leicht übel und dich überkommt Angst. Angst einmal selbst dort zu stehen, dort vorne an diesen Pfahl gebunden
der hoch aufragt. Wer dort angebunden ist, ist für immer verloren. Noch ein paar Stücke verkokeltem Holz liegen dort herum. Du siehst wie ein paar dunkle
Gestalten neues Holz herbei schaffen, es kunstvoll aufschlichten..rund um d`Qen Pf`qahl...`c`n`n");
$sql = "SELECT name,reason FROM scheiter WHERE freedate > NOW()";
$result = db_query($sql);
if(db_num_rows($result) == "0") output("`nDerzeit ist der Scheiterhaufen leer.");
else
{
output("Auf dem Scheiterhaufen stehen:");
while($row = db_fetch_assoc($result))
{
output("`n".$row['name']);
if ($row['reason']!='') output(" wegen ".$row['reason']);
$name = rawurlencode($row['name']);
if ($session['user']['superuser']) output(" <a href='scheiter.php?op=burn&name=".$name."'>[Verbrennen]</a>",true);
addnav("","scheiter.php?op=burn&name=".$name);
}
}
output("`n`n");
viewcommentary("scheiter","Mach dich über die Todgeweihten lustig:",25,"höhnt");
addnav("Aktionen");
if ($session['user']['superuser']>=2)
{
addnav("An den Scheiter stellen","admin_scheiter.php");
}
addnav("Zurück ins Dorf","village.php");
}
else
{
$session['user']['location'] = 5;
output("Du bist noch für ".$session['user']['scheitertime']." Tage Zeit, um Gnade zu bitten! Die vorbeikommenden Dorfbewohner schimpfen auf dich. Schande über Dein Haupt...`n`n");
$sql = "SELECT name,reason FROM scheiter WHERE freedate > NOW()";
$result = db_query($sql);
output("Am Scheiterhaufen stehen:");
while($row = db_fetch_assoc($result))
{
output("`n".$row['name']);
if ($row['reason']!='') output(" wegen ".$row['reason']);
}
output("`n`n");
viewcommentary("scheiter","Keiner kann dich hören!",25,"schimpft");
addnav("Logout","login.php?op=logout");
}
if($_GET['op']=="burn")
{
$name = rawurldecode($_GET['name']);
$sqli = "SELECT `acctid` FROM `accounts` WHERE `name` LIKE '$name'";
$result = db_query($sqli);
$row = db_fetch_assoc($result);
// inventar und haus löschen und partner und ei freigeben
if ($row['acctid']==getsetting("hasegg",0)) savesetting("hasegg",stripslashes(0));
$sql = "UPDATE items SET owner=0 WHERE owner='".$row['acctid']."'";
db_query($sql);
$sql = "UPDATE houses SET owner=0,status=3 WHERE owner='".$row['acctid']."' AND status=1";
db_query($sql);
$sql = "UPDATE houses SET owner=0,status=4 WHERE owner='".$row['acctid']."' AND status=0";
db_query($sql);
$sql = "UPDATE accounts SET charisma=0,marriedto=0 WHERE marriedto='".$row['acctid']."'";
db_query($sql);
$sql = "DELETE FROM pvp WHERE acctid2='".$row['acctid']."' OR acctid1='".$row['acctid']."'";
db_query($sql) or die(db_error(LINK));
$sql = "DELETE FROM accounts WHERE acctid='".$row['acctid']."'";
db_query($sql);
$sql = "DELETE FROM `scheiter` WHERE `name` LIKE '$name'";
db_query($sql);
addnews($_GET['name']."`4 wurde auf dem Scheiterhaufen verbrannt");
}
page_footer();
?>[/php]
Der einzige Fehler, der jetzt wohl noch bestand, ist der, dass derjenige, der gelöscht worden war, nicht aus der Tabelle scheiter entfernt wurde ;-)