LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /creatures.php

Hier klicken für den Source, ODER
Weitere Dateien, von denen du den Quelltext sehen kannst:
(Das Lesen des Source, um sich spielerische Vorteile zu verschaffen, ist nicht erlaubt. Solltest du Schwachstellen oder Fehler entdecken, bist du als Spieler verpflichtet, diese zu melden.)

Source von: /creatures.php

<?php
require_once "common.php";
isnewday(2);

//select distinct creaturelevel,max(creaturehealth) as creaturehealth,max(creatureattack) as creatureattack,max(creaturedefense) as creaturedefense,max(creatureexp) as creatureexp,max(creaturegold) as creaturegold from creatures where creaturelevel<17 group by creaturelevel;
$creaturestattable="
+---------------+----------------+----------------+-----------------+-------------+--------------+
| creaturelevel | creaturehealth | creatureattack | creaturedefense | creatureexp | creaturegold |
+---------------+----------------+----------------+-----------------+-------------+--------------+
|             1 |             10 |              1 |               1 |          14 |           36 |
|             2 |             21 |              3 |               3 |          24 |           97 |
|             3 |             32 |              5 |               4 |          34 |          148 |
|             4 |             43 |              7 |               6 |          45 |          162 |
|             5 |             53 |              9 |               7 |          55 |          198 |
|             6 |             64 |             11 |               8 |          66 |          234 |
|             7 |             74 |             13 |              10 |          77 |          268 |
|             8 |             84 |             15 |              11 |          89 |          302 |
|             9 |             94 |             17 |              13 |         101 |          336 |
|            10 |            105 |             19 |              14 |         114 |          369 |
|            11 |            115 |             21 |              15 |         127 |          402 |
|            12 |            125 |             23 |              17 |         141 |          435 |
|            13 |            135 |             25 |              18 |         156 |          467 |
|            14 |            145 |             27 |              20 |         172 |          499 |
|            15 |            155 |             29 |              21 |         189 |          531 |
|            16 |            166 |             31 |              22 |         207 |          563 |
+---------------+----------------+----------------+-----------------+-------------+--------------+
"
;
$creaturestats=Array();
$creaturestattable=split("\n",$creaturestattable);
$x=0;
while (list(
$key,$val)=each($creaturestattable)){
    if (
strpos($val,"|")!==false){
        
//echo("$val`n");
        
$x++;
        
$a split("\\|",$val);
        if (
$x==1){
            
$stats=array();
            while (list(
$key1,$val1)=each($a)){
                if (
trim($val1)>"") {
                    
$stats[$key1]=trim($val1);
                    
//output($val1." is col $key1`n");
                
}
            }
        }else{
            
reset($stats);
            while (list(
$key1,$val1)=each($stats)){
                
$creaturestats[(int)$a[1]][$val1]=trim($a[$key1]);
                
//output ("[".(int)$a[1]."][$val1]=".trim($a[$key1])."`n");
            
}
        }
    }
}

page_header("Creature Editor");

if (
$session[user][superuser] >= 2){
    
addnav("G?Zurück zur Grotte","superuser.php");
    
addnav("W?Zurück zum Weltlichen","village.php");
    if (
$_POST[save]<>""){
        if (!isset(
$_POST['location'])) $_POST['location']=0;
        if (
$_POST[id]!=""){
            
$sql="UPDATE creatures SET ";
            
//unset($_POST[save]);
            
while (list($key,$val)=each($_POST)){
                if (
substr($key,0,8)=="creature"$sql.="$key = \"$val\", ";
            }
            
reset($creaturestats[(int)$_POST[creaturelevel]]);
            while (list(
$key,$val)=each($creaturestats[$_POST[creaturelevel]])){
                if ( 
$key!="creaturelevel" && substr($key,0,8)=="creature"){
                    
$sql.="$key = \"".addslashes($val)."\", ";
                }
            }
            
$sql.=" location=\"".(int)($_POST['location'])."\", ";
            
//$sql = substr($sql,0,strlen($sql)-2);
            
$sql.= " createdby=\"".addslashes($session[user][login])."\" ";
            
$sql.= " WHERE creatureid='$_POST[id]'";
            
//output($sql);
            
db_query($sql) or output("`\$".db_error(LINK)."`0`n`#$sql`0`n");
            
output(db_affected_rows()." ".(db_affected_rows()==1?"Eintrag":"Einträge")." geändert.");
        }else{
            
$cols = array();
            
$vals = array();

            while (list(
$key,$val)=each($_POST)){
                if (
substr($key,0,8)=="creature" || $key=="location") {
                    
array_push($cols,$key);
                    
array_push($vals,$val);
                    
//$sql.="$key = \"$val\", ";
                
}
            }
            
reset($creaturestats[(int)$_POST[creaturelevel]]);
            while (list(
$key,$val)=each($creaturestats[$_POST[creaturelevel]])){
                if (
$key!="creaturelevel"){
                    
//$sql.="$key = \"".addslashes($val)."\", ";
                    
array_push($cols,$key);
                    
array_push($vals,$val);
                }
            }
            
$sql="INSERT INTO creatures (".join(",",$cols).",createdby) VALUES (\"".join("\",\"",$vals)."\",\"".addslashes($session['user']['login'])."\")";
            
//echo $sql;
            
db_query($sql);
        }

        
adminlog();
    }
    if (
$_GET[op]=="del"){
        
$sql "DELETE FROM creatures WHERE creatureid = \"$_GET[id]\"";
        
db_query($sql);
        if (
db_affected_rows()>0){
            
output("Kreatur gelöscht`n`n");
            
adminlog();
        }else{
            
output("Kreatur nicht gelöscht: ".db_error(LINK));
        }
        
$_GET[op]="";
    }
    if (
$_GET[op]==""){
        
$sql "SELECT * FROM creatures ORDER BY creaturelevel,creaturename";
        
$result db_query($sql) or die(db_error(LINK));
        
addnav("Eine Kreatur hinzufügen","creatures.php?op=add");
        
output("<table><tr><td>Ops</td><td>Kreaturname</td><td>Level</td><td>Waffe</td><td>Nachricht beim Tod</td><td>Autor</td></tr>",true);
        
addnav("","creatures.php");
        for (
$i=0;$i<db_num_rows($result);$i++){
            
$row db_fetch_assoc($result);
            if (
$row[creaturelevel]==17 || $row[creaturelevel]==18){
                
output("<tr><td> [Edit|Del] </td><td>",true);
            }else{
                
output("<tr><td> [<a href='creatures.php?op=edit&id=$row[creatureid]'>Edit</a>|".
                
"<a href='creatures.php?op=del&id=$row[creatureid]' onClick='return confirm(\"Bist du dir sicher, dass du diese Kreatur löschen willst?\");'>Del</a>] </td><td>",true);
                
addnav("","creatures.php?op=edit&id=$row[creatureid]");
                
addnav("","creatures.php?op=del&id=$row[creatureid]");
            }
            
output($row[creaturename]);
            
output("</td><td>",true);
            
output($row[creaturelevel]);
            
output("</td><td>",true);
            
output($row[creatureweapon]);
            
output("</td><td>",true);
            
output($row[creaturelose]);
            
output("</td><td>",true);
            
output($row[createdby]);
            
output("</td></tr>",true);
        }
        
output("</table>",true);
    }else{
        if (
$_GET[op]=="edit" || $_GET[op]=="add"){
            if (
$_GET[op]=="edit"){
                
$sql "SELECT * FROM creatures WHERE creatureid=$_GET[id]";
                
$result db_query($sql) or die(db_error(LINK));
                if (
db_num_rows($result)<>1){
                    
output("`4Fehler`0, diese Kreatur wurde nicht gefunden!");
                }else{
                    
$row db_fetch_assoc($result);
                }
            }
            
output("<form action='creatures.php' method='POST'>",true);
            
output("<input name='id' value=\"".HTMLEntities($_GET[id])."\" type='hidden'>",true);
            
output("<table border='0' cellpadding='2' cellspacing='0'>",true);
            
output("<tr><td>Kreaturname:</td><td><input name='creaturename' maxlength='50' value=\"".HTMLEntities($row[creaturename])."\"></td></tr>",true);
            
output("<tr><td>Waffe: </td><td><input name='creatureweapon' maxlength='50' value=\"".HTMLEntities($row[creatureweapon])."\"></td></tr>",true);
            
output("<tr><td colspan='2'>Nachricht beim Tod: <br><input name='creaturelose' size='65' maxlength='120' value=\"".HTMLEntities($row[creaturelose])."\"></td></tr>",true);
            
output("<tr><td>Level: </td><td><select name='creaturelevel'>",true);
            for (
$i=1;$i<=16;$i++){
                
output("<option value='$i'".($row[creaturelevel]==$i?" selected":"").">$i</option>\n",true);
            }
            
output("</select></td></tr>",true);
            
output("<tr><td>Kreatur ist auch auf dem Friedhof</td><td><input type='radio' name='location' value='1'".($row['location']==1?" checked":"").">Ja <input type='radio' name='location' value='0'".($row['location']==0?" checked":"").">Nein </td></tr>",true);
            
output("<tr><td colspan='2'><input type='hidden' name='save' value='Save'><input type='submit' class='button' name='submit' value='Speichern'></td></tr>",true);
            
output("</table>",true);
            
output("</form>",true);
            
addnav("","creatures.php");
        }else{

        }
        
addnav("Zurück zum Monster-Editor","creatures.php");
    }
}else{
    
output("Weil du versucht hast die Götter zu betrügen, wurdest du niedergeschmettert!");
    
addnews("`&".$session[user][name]." wurde für den Versuch, die Götter zu betrügen, niedergeschmettert (hat versucht die Superuser-Seiten zu hacken).");
    
$session[user][hitpoints]=0;
}
page_footer();
?>