Ist das Modul "PersonalChest.php" für das Chaosmaker-Wohnviertel installiert hat der Admin nur per DB Zugriff auf deren Inhalte. Hier ein Editor der nur mit der superuser.php verlinkt werden muss und der Einbau ist fertig. Natürlich muss die su_pchests.php zuvor noch auf den Webspace geladen werden
$this->bbcode_second_pass_code('', '<?php
/*
* Version: 27.04.2008
* Author: Linus (schamlos abgkupfert von suhouses.php by anpera und Chaosmaker)
* Email: webmaster@alvion-logd.de
* Zweck: Admintool für die persönlichen Schatzkammern
*
*/
require_once("common.php");
isnewday(3);
function analyse(){
$accts=array();
$sql="SELECT `acctid` FROM `accounts`";
$result=db_query($sql);
while ($row = db_fetch_assoc($result)) {
$accts[$i]=(int)$row['acctid'];
$i++;
}
$gut=0;
$fehl=0;
$sql="SELECT `PChestID`, `PChestUser` FROM `house_PersonalChests`";
$result=db_query($sql);
while ($row = db_fetch_assoc($result)) {
if(in_array((int)$row['PChestUser'],$accts)){
$gut++;
}else{
$fehl++;
}
$j++;
}
return array($j, $gut, $fehl);
}
page_header("Persönliche Schatztruhen");
switch($_GET['op']){
case "delete":
$accts=array();
$sql="SELECT `acctid` FROM `accounts`";
$result=db_query($sql);
while ($row = db_fetch_assoc($result)) {
$accts[$i]=(int)$row['acctid'];
$i++;
}
$gut=0;
$fehl=0;
$sql="SELECT `PChestID`, `PChestUser` FROM `house_PersonalChests`";
$result=db_query($sql);
while ($row = db_fetch_assoc($result)) {
if(in_array((int)$row['PChestUser'],$accts)){
$gut++;
}else{
$fehl++;
db_query("DELETE FROM `house_PersonalChests` where `PChestUser`=".(int)$row['PChestUser'].";");
}
$j++;
}
output("`&".$fehl." persönliche Schatztruhen wurden gelöscht`n");
addnav('Zurück','su_pchests.php?');
break;
case "edit":
if ($_GET['act']=="save") { // save data
$sql="UPDATE house_PersonalChests SET PChestGold=$_POST[gold], PChestGems=$_POST[gems] WHERE PChestUser=".$_GET['id'];
$result=db_query($sql);
output("`&Daten der Schatztruhe gespeichert.");
addnav("Zurück","su_pchests.php?op=edit&id=$_GET[id]");
}else{
addnav("Zurück","su_pchests.php");
$sql="SELECT * FROM house_PersonalChests WHERE PChestUser=".$_REQUEST['id'];
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)){
$row = db_fetch_assoc($result);
$sql2="SELECT name FROM accounts WHERE acctid=".$row['PChestUser'];
$row2=db_fetch_assoc(db_query($sql2));
output("`@Inhalt der persönlichen Schatztruhe von `b$row2[name]`b ändern:`n`n`n`@ChestId: `^`b$row[PChestID]`b
`n`@UserId: `^`b$row[PChestUser]`b`n`@User: `^`b$row2[name]`b`n
`0<form action=\"su_pchests.php?op=edit&act=save&id=$row[PChestUser]\" method='POST'>
<table><tr><td>Goldeinlage</td><td><input type='text' name='gold' value='$row[PChestGold]'></td></tr>
<tr><td>Edelsteine</td><td><input type='text' name='gems' value='$row[PChestGems]'></td></tr></table>`n
<input type='submit' class='button' value='Speichern'></form>",true);
addnav("","su_pchests.php?op=edit&act=save&id=$row[PChestUser]");
}else{
output("`@`bDieser Spieler existiert nicht oder besitzt keine persönliche Schatztruhe`b`n`n");
}
}
break;
default:
list($j, $gut, $fehl)=analyse();
if($fehl>0) addnav('unnütze Truhen löschen','su_pchests.php?op=delete');
addnav('','su_pchests.php?op=edit');
output("`@`b`cDie persönlichen Schatztruhen`c`b`n`n
`7Anzahl PChests gesamt: `@".$j."`n`7PChests von existierenden Spielern: `@".$gut."`n`7PChests von gelöschten Spielern: `@".$fehl."`n`n
<form action='su_pchests.php?op=edit' method='post'>Springe direkt zu UserId. <input type='text' name='id' size='4'>
<input type='submit' value='anzeigen'></form>Wähle die Truhe:`n`n<table cellpadding=2 align='center'><tr>
<td>`bChestId.`b</td><td>`bUserId.`b</td><td>`bName`b</td><td>`bGold`b</td><td>`bGems`b</td></tr>",true);
$ppp=25; // Player Per Page +1 to display
if (!$_GET['limit']){
$page=0;
}else{
$page=(int)$_GET['limit'];
addnav("Vorherige Seite","su_pchests.php?limit=".($page-1)."");
}
$limit="".($page*$ppp).",".($ppp+1);
$sql = "SELECT * FROM house_PersonalChests WHERE 1 ORDER BY PChestUser ASC LIMIT $limit";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>$ppp) addnav("Nächste Seite","su_pchests.php?limit=".($page+1)."");
if (db_num_rows($result)==0){
output("<tr><td colspan=3 align='center'>`&`iEs gibt keine Schatztruhen`i`0</td></tr>",true);
}else{
for ($i=0;$i<db_num_rows($result);$i++){
$row2 = db_fetch_assoc($result);
$sql2="SELECT name FROM accounts WHERE acctid=".$row2['PChestUser'];
$row3=db_fetch_assoc(db_query($sql2));
output("<tr><td align='center'>$row2[PChestID]</td><td align='center'>$row2[PChestUser]</td><td><a href='su_pchests.php?op=edit&id=$row2[PChestUser]'>$row3[name]</a></td><td>$row2[PChestGold]</td><td>$row2[PChestGems]</td></tr>",true);
addnav("","su_pchests.php?op=edit&id=$row2[PChestUser]");
}
}
output("</table>",true);
break;
}
addnav("G?Zurück zur Grotte","superuser.php");
addnav("W?Zurück zum Weltlichen","village.php");
output("`n<div align='right'>`72007/2008 by Linus, based on suhouses.php by 2004 anpera & 2005 Chaosmaker</div>",true);
page_footer();
?>')
Die Navigation für das seitenweise Vor- und Zurückblättern hab ich aus der suhouses.php abgekupfert, weshalb diese auch im Copyright vermerkt ist
Ich hoffe ihr findet es nutzbar und nützlich^^