LoGD Standardrelease steht hier zum Download zur Verfügung!
<?
// 03052006
/*
LoGD - Gefängniserweiterung
19.05.2004
Matthias "Vanion" Strauch
Erweitert, umgebaut, angepaßt:
Chaosmaker <webmaster@chaosonline.de>
http://logd.chaosonline.de
*/
require_once "common.php";
isnewday(1);
page_header("Einen User einknasten");
addnav("G?Zurück zur Grotte","superuser.php");
addnav("W?Zurück zum Weltlichen","village.php");
if($session[user][superuser]>=2) addnav("U?Zurück zum Usereditor","user.php");
addnav("Liste aktualisieren","admin_jail.php");
output("Hier kannst du User, die ein wenig über die Stränge geschlagen haben, zu einer Prangerstrafe verdonnern. ");
output("Die Strafe wird in Spieltagen abgesessen, das heißt der Spieler kann so lange keine Aktionen durchführen! `n`n`n`n`n");
addnav("","admin_jail.php?op=change");
if($_GET['op'] == "change") {
$gamesettime = gametime();
$startday = strtotime(date("Y-m-d 00:00:00",$gamesettime));
$supposedsettime = time() - ($gamesettime-$startday)/getsetting("daysperday",4);
$endtime = date('Y-m-d H:i:s',$supposedsettime + ($_POST['newtime']*3600*24 / getsetting("daysperday",4)));
if ((int)$_POST['jailid'] > 0) {
$sql = 'UPDATE accounts SET jailtime="'.$_POST['newtime'].'" WHERE acctid="'.$_POST['acctid'].'"';
db_query($sql);
if (db_affected_rows(LINK)==1) {
$sql = 'UPDATE jail SET setby="'.$session['user']['acctid'].'",setdate=NOW(),freedate="'.$endtime.'",gamedays="'.$_POST['newtime'].'",reason="'.$_POST['newreason'].'" WHERE jailid="'.$_POST['jailid'].'"';
db_query($sql);
}
}
else {
$sql = 'SELECT name, acctid FROM accounts WHERE login="'.$_POST['tochange'].'"';
$result = db_query($sql);
if (db_num_rows($result)==1) {
$row = db_fetch_assoc($result);
if (!empty($_POST['addnews'])) addnews($row['name']." wurde für {$_POST['newtime']} Tage wegen `b{$_POST['newreason']}`b angeprangert.");
$sql = 'UPDATE accounts SET jailtime="'.$_POST['newtime'].'" WHERE acctid="'.$row['acctid'].'"';
db_query($sql);
$sql = 'INSERT INTO jail (acctid,name,setby,setdate,freedate,gamedays,reason)
VALUES ('.$row['acctid'].',"'.$row['name'].'","'.$session['user']['acctid'].'",NOW(),"'.$endtime.'","'.$_POST['newtime'].'","'.$_POST['newreason'].'")';
db_query($sql);
//Strafregister von Thibaud Roth <thibaud.roth@betriebsdirektor.de>
mysql_query("INSERT INTO penal_record (acctid, timestamp, type, remark, insertedby) VALUES ('".$row["acctid"]."', '".time()."', '".$_POST["type"]."', '".$_POST["newtime"]." Tage: ".$_POST["remark"]."', '".$session[user][acctid]."')");
//Strafregister Ende
}
}
}
$sql = 'SELECT j.*, a.name AS setname, a2.jailtime FROM jail j LEFT JOIN accounts a2 USING(acctid) LEFT JOIN accounts a ON a.acctid=j.setby WHERE j.freedate > NOW() ORDER BY j.freedate ASC';
$result = db_query($sql);
output("`c`bAktuelle Knastbrüder:`b ");
output("<table><tr><td>Name</td><td>Restdauer</td><td>Begründung</td><td>Eingetragen</td><td>Gesamtdauer</td><td>Freilassung</td><td>Ändern</td></tr>",true);
while($row = db_fetch_assoc($result)) {
output("<form method='post' action='admin_jail.php?op=change'>
<input type='hidden' name='acctid' value='".$row['acctid']."'>
<input type='hidden' name='jailid' value='".$row['jailid']."'>",true);
output("<tr><td>".$row['name']."</td>
<td><input type='text' size='2' maxlength='2' name='newtime' value='".$row['jailtime']."'></td>
<td><input type='text' size='30' maxlength='255' name='newreason' value='".$row['reason']."'></td>
<td>{$row['setdate']} durch {$row['setname']}</td>
<td>{$row['gamedays']} Tage</td>
<td>{$row['freedate']}</td>
<td><input type='submit' value='Ändern'></td>
</tr>",true);
output("</form>",true);
}
output("</table>`n`n",true);
output("`bNeue Knaststrafe:`b `n");
output("<form action='admin_jail.php?op=change' method='post'>Name: <input type='text' size='10' name='tochange'> IG-Tage: <input type='text' size='2' name='newtime'> Begründung: <input type='text' size='30' maxlength='255' name='newreason'> <input type='checkbox' name='addnews' value='1' checked='checked'>Newseintrag</input>`c",true);
//Strafregister von Thibaud Roth <thibaud.roth@betriebsdirektor.de>
output("<fieldset><legend>Eintrag ins Strafregister:</legend>",true);
output("<label for=\"type\">Art des Eintrags:</label> <select name=\"type\" id=\"type\"><option value=\"2\">".$penal_record_type["2"]."</option> <option value=\"4\">".$penal_record_type["4"]."</option></select>",true);
output("<label for=\"remark\">Bemerkung:</label> <input type=\"text\" name=\"remark\" id=\"remark\"> (optional)</fieldset>",true);
//Strafregister Ende
output("<input type='submit' value='Eintragen'></form>",true);
output('`n`n`bPranger-Statistik:`b`n');
output('<table><tr><td>Account</td><td>Name</td><td>Strafen</td><td>Spieltage</td><td>erste Strafe</td><td>letzte Strafe</td></tr>',true);
$sql = 'SELECT COUNT(*) AS anzahl, SUM(gamedays) AS days, name, acctid, MIN(setdate) AS firstdate, MAX(setdate) AS lastdate FROM jail GROUP BY acctid ORDER BY anzahl DESC';
$result = db_query($sql);
while ($row = db_fetch_assoc($result)) {
output('<tr><td>'.$row['acctid'].'</td>
<td>'.$row['name'].'</td>
<td>'.$row['anzahl'].'</td>
<td>'.$row['days'].'</td>
<td>'.$row['firstdate'].'</td>
<td>'.$row['lastdate'].'</td>
</tr>',true);
}
output('</table>',true);
page_footer();
?>