"Title Id,hidden",
"dk"=>"Dragon Kills,int|0",
// "ref"=>"Arbitrary Tag,int",
"male"=>"Male Title,text|",
"female"=>"Female Title,text|",
);
addnav("Other");
require_once("lib/superusernav.php");
superusernav();
addnav("Functions");
if ($op=="save") {
$male = httppost('male');
$female = httppost('female');
$dk = httppost('dk');
// Ref is currently unused
// $ref = httppost('ref');
$ref = '';
if ((int)$id == 0) {
$sql = "INSERT INTO ".db_prefix("titles")." (titleid,dk,ref,male,female) VALUES ($id,$dk,'$ref','$male','$female')";
$note = "`^New title added.`0";
$errnote = "`\$Unable to add title.`0";
}else {
$sql = "UPDATE " . db_prefix("titles") . " SET dk=$dk,ref='$ref',male='$male',female='$female' WHERE titleid=$id";
$note = "`^Title modified.`0";
$errnote = "`\$Unable to modify title.`0";
}
db_query($sql);
if (db_affected_rows() == 0) {
output($errnote);
rawoutput(db_error());
} else {
output($note);
}
$op = "";
} elseif ($op == "delete") {
$sql = "DELETE FROM ".db_prefix("titles")." WHERE titleid='$id'";
db_query($sql);
output("`^Title deleted.`0");
$op = "";
}
if ($op == ""){
$sql = "SELECT * FROM ".db_prefix("titles")." ORDER BY dk, titleid";
$result = db_query($sql);
if (db_num_rows($result)<1){
output("");
}else{
$row = db_fetch_assoc($result);
}
output("`@`c`b-=Title Editor=-`b`c");
$ops = translate_inline("Ops");
$dks = translate_inline("Dragon Kills");
// $ref is currently unused
// $reftag = translate_inline("Reference Tag");
$mtit = translate_inline("Male Title");
$ftit = translate_inline("Female Title");
$edit = translate_inline("Edit");
$del = translate_inline("Delete");
$delconfirm = translate_inline("Are you sure you wish to delete this title?");
rawoutput("
");
// reference tag is currently unused
// rawoutput("$ops | $dks | $reftag | $mtit | $ftit |
");
rawoutput("$ops | $dks | $mtit | $ftit |
");
$result = db_query($sql);
$i = 0;
while($row = db_fetch_assoc($result)) {
$id = $row['titleid'];
rawoutput("");
rawoutput("[$edit|$del] | ");
addnav("","titleedit.php?op=edit&id=$id");
addnav("","titleedit.php?op=delete&id=$id");
rawoutput("");
output_notl("`&%s`0",$row['dk']);
rawoutput(" | ");
// reftag is currently unused
// output("`^%s`0", $row['ref']);
// output(" | ");
output_notl("`2%s`0",$row['male']);
rawoutput(" | ");
output_notl("`6%s`0",$row['female']);
rawoutput(" |
");
$i++;
}
rawoutput("
");
//modulehook("titleedit", array());
addnav("Functions");
addnav("Add a Title", "titleedit.php?op=add");
addnav("Refresh List", "titleedit.php");
addnav("Reset Users Titles", "titleedit.php?op=reset");
title_help();
} elseif ($op=="edit" || $op=="add") {
require_once("lib/showform.php");
if ($op=="edit"){
$sql = "SELECT * FROM ".db_prefix("titles")." WHERE titleid='$id'";
$result = db_query($sql);
$row = db_fetch_assoc($result);
} elseif ($op=="add") {
$row = array('titleid'=>0, 'male'=>'', 'female'=>'', 'dk'=>0);
$id = 0;
}
rawoutput("");
addnav("Functions");
addnav("Main Title Editor", "titleedit.php");
title_help();
} elseif ($op == "reset") {
require_once("lib/titles.php");
require_once("lib/names.php");
output("`^Rebuilding all titles.`0`n`n");
$sql = "SELECT name,title,dragonkills,acctid,sex,ctitle FROM " . db_prefix("accounts");
$result = db_query($sql);
$number=db_num_rows($result);
for ($i=0;$i<$number;$i++){
$row = db_fetch_assoc($result);
$oname = $row['name'];
$dk = $row['dragonkills'];
$otitle = $row['title'];
$dk = (int)($row['dragonkills']);
if (!valid_dk_title($otitle, $dk, $row['sex'])) {
$sex = translate_inline($row['sex']?"female":"male");
$newtitle = get_dk_title($dk, (int)$row['sex']);
$newname = change_player_title($newtitle, $row);
$id = $row['acctid'];
if ($oname != $newname) {
output("`@Changing `^%s`@ to `^%s `@(%s`@ [%s,%s])`n",
$oname,$newname,$newtitle,$dk,$sex);
if ($session['user']['acctid']==$row['acctid']){
$session['user']['title']=$newtitle;
$session['user']['name']=$newname;
}else{
$sql = "UPDATE " . db_prefix("accounts") . " SET name='" .
addslashes($newname)."', title='".
addslashes($newtitle)."' WHERE acctid='$id'";
db_query($sql);
}
}elseif ($otitle != $newtitle){
output("`@Changing only the title (not the name) of `^%s`@ `@(%s`@ [%s,%s])`n",
$oname,$newtitle,$dk,$sex);
if ($session['user']['acctid']==$row['acctid']){
$session['user']['title']=$newtitle;
}else{
$sql = "UPDATE " . db_prefix("accounts") .
" SET title='".addslashes($newtitle) .
"' WHERE acctid='$id'";
db_query($sql);
}
}
}
}
output("`n`n`^Done.`0");
addnav("Main Title Editor", "titleedit.php");
}
function title_help()
{
output("`#You can have multiple titles for a given dragon kill rank.");
output("If you do, one of those titles will be chosen at random to give to the player when a title is assigned.`n`n");
output("You can have gaps in the title order.");
output("If you have a gap, the title given will be for the DK rank less than or equal to the players current number of DKs.`n");
}
page_footer();
?>