LotGDocker/lotgd-web/lotgd/masters.php

144 lines
5.8 KiB
PHP
Raw Permalink Normal View History

2020-08-17 19:16:42 -04:00
<?php
// Initially written as a module by Chris Vorndran.
// Moved into core by JT Traub
require_once("common.php");
require_once("lib/http.php");
check_su_access(SU_EDIT_CREATURES);
tlschema("masters");
$op = httpget('op');
$id = (int)httpget('id');
$act = httpget('act');
page_header("Masters Editor");
require_once("lib/superusernav.php");
superusernav();
if ($op == "del") {
$sql = "DELETE FROM " . db_prefix("masters") . " WHERE creatureid=$id";
db_query($sql);
output("`^Master deleted.`0");
$op = "";
httpset("op", "");
} elseif ($op == "save") {
$name = addslashes(httppost('name'));
$weapon = addslashes(httppost('weapon'));
$win = addslashes(httppost('win'));
$lose = addslashes(httppost('lose'));
$lev = (int)httppost('level');
if ($id != 0) {
$sql = "UPDATE " . db_prefix("masters") . " SET creaturelevel=$lev, creaturename='$name', creatureweapon='$weapon', creaturewin='$win', creaturelose='$lose' WHERE creatureid=$id";
} else {
$atk = $lev * 2;
$def = $lev * 2;
$hp = $lev*11;
if ($hp == 11) $hp++;
$sql = "INSERT INTO " . db_prefix("masters") . " (creatureid,creaturelevel,creaturename,creatureweapon,creaturewin,creaturelose,creaturehealth,creatureattack,creaturedefense) VALUES ($id,$lev,'$name', '$weapon', '$win', '$lose', '$hp', '$atk', '$def')";
}
db_query($sql);
if ($id == 0) {
output("`^Master %s`^ added.", stripslashes($name));
} else {
output("`^Master %s`^ updated.", stripslashes($name));
}
$op = "";
httpset("op", "");
} elseif ($op == "edit") {
addnav("Functions");
addnav("Return to Masters Editor", "masters.php");
$sql = "SELECT * FROM ".db_prefix("masters")." WHERE creatureid=$id";
$res = db_query($sql);
if (db_num_rows($res) == 0) {
$row = array(
'creaturelevel'=>1,
'creaturename'=>'',
'creatureweapon'=>'',
'creaturewin'=>'',
'creaturelose'=>''
);
} else {
$row = db_fetch_assoc($res);
}
addnav("","masters.php?op=save&id=$id");
rawoutput("<form action='masters.php?op=save&id=$id' method='POST'>");
output("`^Master's level:`n");
rawoutput("<input id='input' name='level' value='".htmlentities($row['creaturelevel'], ENT_COMPAT, getsetting("charset", "ISO-8859-1"))."' SIZE=5>");
output_notl("`n");
output("`^Master's name:`n");
rawoutput("<input id='input' name='name' value='".htmlentities($row['creaturename'], ENT_COMPAT, getsetting("charset", "ISO-8859-1"))."'>");
output_notl("`n");
output("`^Master's weapon:`n");
rawoutput("<input id='input' name='weapon' value='".htmlentities($row['creatureweapon'], ENT_COMPAT, getsetting("charset", "ISO-8859-1"))."'>");
output_notl("`n");
output("`^Master's speech when player wins:`n");
rawoutput("<textarea name='lose' rows='5' cols='30' class='input'>".htmlentities($row['creaturelose'], ENT_COMPAT, getsetting("charset", "ISO-8859-1"))."</textarea>");
output_notl("`n");
output("`^Master's speech when player loses:`n");
rawoutput("<textarea name='win' rows='5' cols='30' class='input'>".htmlentities($row['creaturewin'], ENT_COMPAT, getsetting("charset", "ISO-8859-1"))."</textarea>");
output_notl("`n");
$submit = translate_inline("Submit");
rawoutput("<input type='submit' class='button' value='$submit'>");
rawoutput("</form>");
output_notl("`n`n");
output("`#The following codes are supported in both the win and lose speeches (case matters):`n");
output("%w = The players's name (can be specified as {goodguy}`n");
output("%W = The masters's name (can be specified as {badguy}`n");
output("%x = The players's weapon (can be specified as {weapon}`n");
output("%X = The master's weapon (can be specified as {creatureweapon}`n");
output("%a = The players's armor (can be specified as {armor}`n");
output("%s = Subjective pronoun for the player (him her)`n");
output("%p = Possessive pronoun for the player (his her)`n");
output("%o = Objective pronoun for the player (he she)`n");
}
if ($op == "") {
addnav("Functions");
addnav("Refresh list", "masters.php");
addnav("Add master", "masters.php?op=edit&id=0");
$sql = "SELECT * FROM ".db_prefix("masters")." ORDER BY creaturelevel";
$res = db_query($sql);
$count = db_num_rows($res);
$ops = translate_inline("Ops");
$edit = translate_inline("edit");
$del = translate_inline("del");
$delconfirm = translate_inline("Are you sure you wish to delete this master.");
$name = translate_inline("Name");
$level = translate_inline ("Level");
$lose = translate_inline("Lose to Master");
$win = translate_inline("Win against Master");
$weapon = translate_inline("Weapon");
rawoutput("<table border='0' cellpadding='2' cellspacing='1' align='center' bgcolor='#999999'>");
rawoutput("<tr class='trhead'><td>$ops</td><td>$level</td><td>$name</td><td>$weapon</td><td>$win</td><td>$lose</tr>");
$i = 0;
while ($row = db_fetch_assoc($res)) {
$id = $row['creatureid'];
rawoutput("<tr class='".($i%2?"trdark":"trlight")."'><td nowrap>");
rawoutput("[ <a href='masters.php?op=edit&id=$id'>");
output_notl($edit);
rawoutput("</a> | <a href='masters.php?op=del&id=$id' onClick='return confirm(\"$delconfirm\");'>");
output_notl($del);
rawoutput("] </a>");
addnav("","masters.php?op=edit&id=$id");
addnav("","masters.php?op=del&id=$id");
rawoutput("</td><td>");
output_notl("`%%s`0",$row['creaturelevel']);
rawoutput("</td><td>");
output_notl("`#%s`0",stripslashes($row['creaturename']));
rawoutput("</td><td>");
output_notl("`!%s`0",stripslashes($row['creatureweapon']));
rawoutput("</td><td>");
output_notl("`&%s`0",stripslashes($row['creaturelose']));
rawoutput("</td><td>");
output_notl("`^%s`0",stripslashes($row['creaturewin']));
rawoutput("</td></tr>");
$i++;
}
rawoutput("</table>");
output("`n`#You can change the names, weapons and messages of all of the Training Masters.");
output("It is suggested, that you do not toy around with this, unless you know what you are doing.`0`n");
}
page_footer();
?>