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
/*
2024-05-04  aragon  php8 fix
*/
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;
foreach (
$creaturestattable as $key => $val) {
  if (
strpos($val"|") !== false) {
    
//echo("$val`n");
    
$x++;
    
$a split("\\|"$val);
    if (
$x == 1) {
      
$stats = array();
      foreach (
$a as $key1 => $val1) {
        if (
trim($val1) > "") {
          
$stats[$key1] = trim($val1);
          
//output($val1." is col $key1`n");
        
}
      }
    } else {
      
reset($stats);
      foreach (
$stats as $key1 => $val1) {
        
$creaturestats[(int)$a['1']][$val1] = trim($a[$key1]);
        
//output ("[".(int)$a['1']."][$val1]=".trim($a[$key1])."`n");
      
}
    }
  }
}

page_header("Creature Editor");

$op $_GET['op'] ?? "";
$id $_GET['id'] ?? 0;

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']);
      
foreach ($_POST as $key => $val) {
        if (
substr($key08) == "creature"$sql .= "$key = \"$val\", ";
      }
      
reset($creaturestats[(int)$_POST['creaturelevel']]);
      foreach (
$creaturestats[$_POST['creaturelevel']] as $key => $val) {
        if (
$key != "creaturelevel" && substr($key08) == "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() == "Eintrag" "Einträge") . " geändert.");
    } else {
      
$cols = array();
      
$vals = array();

      foreach (
$_POST as $key => $val) {
        if (
substr($key08) == "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 (
$op == "del") {
    
$sql "DELETE FROM creatures WHERE creatureid = \"$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));
    }
    
$op "";
  }
  if (
$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 (
$op == "edit" || $op == "add") {
      if (
$op == "edit") {
        
$sql "SELECT * FROM creatures WHERE creatureid=$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($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'] == " checked" "") . ">Ja <input type='radio' name='location' value='0'" . ($row['location'] == " 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");
    }
    
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();