452 lines
21 KiB
PHP
Executable File
452 lines
21 KiB
PHP
Executable File
<?php
|
||
require_once("common.php");
|
||
require_once("lib/showform.php");
|
||
require_once("lib/http.php");
|
||
// translator ready
|
||
// addnews ready
|
||
// mail ready
|
||
|
||
check_su_access(SU_EDIT_CONFIG);
|
||
|
||
tlschema("configuration");
|
||
|
||
$op = httpget('op');
|
||
$module=httpget('module');
|
||
if ($op=="save"){
|
||
include_once("lib/gamelog.php");
|
||
//loadsettings();
|
||
if ((int)httppost('blockdupemail') == 1 &&
|
||
(int)httppost('requirevalidemail') != 1) {
|
||
httppostset('requirevalidemail', "1");
|
||
output("`brequirevalidemail has been set since blockdupemail was set.`b`n");
|
||
}
|
||
if ((int)httppost('requirevalidemail') == 1 &&
|
||
(int)httppost('requireemail') != 1) {
|
||
httppostset('requireemail', "1");
|
||
output("`brequireemail has been set since requirevalidemail was set.`b`n");
|
||
}
|
||
$defsup = httppost("defaultsuperuser");
|
||
if ($defsup != "") {
|
||
$value = 0;
|
||
while(list($k, $v)=each($defsup)) {
|
||
if ($v) $value += (int)$k;
|
||
}
|
||
httppostset('defaultsuperuser', $value);
|
||
}
|
||
$tmp = stripslashes(httppost("villagename"));
|
||
if ($tmp && $tmp != $settings['villagename']) {
|
||
debug("Updating village name -- moving players");
|
||
$sql = "UPDATE " . db_prefix("accounts") . " SET location='".
|
||
httppost("villagename") . "' WHERE location='" .
|
||
addslashes($settings['villagename']) . "'";
|
||
db_query($sql);
|
||
if ($session['user']['location'] == $settings['villagename'])
|
||
$session['user']['location'] =
|
||
stripslashes(httppost('villagename'));
|
||
debug("Moving companions");
|
||
$sql = "UPDATE " . db_prefix("companions") . " SET companionlocation = '".
|
||
httppost("villagename") . "' WHERE companionlocation = '".
|
||
addslashes($settings['villagename']) . "'";
|
||
db_query($sql);
|
||
}
|
||
$tmp = stripslashes(httppost("innname"));
|
||
if ($tmp && $tmp != $settings['innname']) {
|
||
debug("Updating inn name -- moving players");
|
||
$sql = "UPDATE " . db_prefix("accounts") . " SET location='".
|
||
httppost("innname") . "' WHERE location='" .
|
||
addslashes($settings['innname']) . "'";
|
||
db_query($sql);
|
||
if ($session['user']['location'] == $settings['innname'])
|
||
$session['user']['location'] = stripslashes(httppost('innname'));
|
||
}
|
||
if (stripslashes(httppost("motditems")) != $settings['motditems']) {
|
||
invalidatedatacache("motd");
|
||
}
|
||
$post = httpallpost();
|
||
reset($post);
|
||
$old=$settings;
|
||
while (list($key,$val)=each($post)){
|
||
if (!isset($settings[$key]) ||
|
||
(stripslashes($val) != $settings[$key])) {
|
||
if (!isset($old[$key]))
|
||
$old[$key] = "";
|
||
savesetting($key,stripslashes($val));
|
||
output("Setting %s to %s`n", $key, stripslashes($val));
|
||
gamelog("`@Changed core setting `^$key`@ from `#{$old[$key]}`@ to `&$val`0","settings");
|
||
// Notify every module
|
||
modulehook("changesetting",
|
||
array("module"=>"core", "setting"=>$key,
|
||
"old"=>$old[$key], "new"=>$val), true);
|
||
}
|
||
}
|
||
output("`^Settings saved.`0");
|
||
$op = "";
|
||
httpset($op, "");
|
||
}elseif($op=="modulesettings"){
|
||
include_once("lib/gamelog.php");
|
||
if (injectmodule($module,true)){
|
||
$save = httpget('save');
|
||
if ($save!=""){
|
||
load_module_settings($module);
|
||
$old = $module_settings[$module];
|
||
$post = httpallpost();
|
||
$post = modulehook("validatesettings", $post, true, $module);
|
||
if (isset($post['validation_error'])) {
|
||
$post['validation_error'] =
|
||
translate_inline($post['validation_error']);
|
||
output("Unable to change settings:`\$%s`0",
|
||
$post['validation_error']);
|
||
} else {
|
||
reset($post);
|
||
while (list($key,$val)=each($post)){
|
||
$key = stripslashes($key);
|
||
$val = stripslashes($val);
|
||
set_module_setting($key,$val);
|
||
if (!isset($old[$key]) || $old[$key] != $val) {
|
||
output("Setting %s to %s`n", $key, $val);
|
||
// Notify modules
|
||
if($key == "villagename") {
|
||
debug("Moving companions");
|
||
$sql = "UPDATE " . db_prefix("companions") . " SET companionlocation = '".
|
||
addslashes($val) . "' WHERE companionlocation = '".
|
||
addslashes($old[$key]) . "'";
|
||
db_query($sql);
|
||
}
|
||
$oldval = "";
|
||
if (isset($old[$key])) $oldval = $old[$key];
|
||
gamelog("`@Changed module(`5$module`@) setting `^$key`@ from `#$oldval`@ to `&$val`0","settings");
|
||
modulehook("changesetting",
|
||
array("module"=>$module, "setting"=>$key,
|
||
"old"=>$oldval, "new"=>$val), true);
|
||
}
|
||
}
|
||
output("`^Module %s settings saved.`0`n", $module);
|
||
}
|
||
$save = "";
|
||
httpset('save', "");
|
||
}
|
||
if ($save == "") {
|
||
$info = get_module_info($module);
|
||
if (count($info['settings'])>0){
|
||
load_module_settings($mostrecentmodule);
|
||
$msettings=array();
|
||
while (list($key,$val)=each($info['settings'])){
|
||
if (is_array($val)) {
|
||
$v = $val[0];
|
||
$x = explode("|", $v);
|
||
$val[0] = $x[0];
|
||
$x[0] = $val;
|
||
} else {
|
||
$x = explode("|",$val);
|
||
}
|
||
$msettings[$key]=$x[0];
|
||
if (!isset($module_settings[$mostrecentmodule][$key]) &&
|
||
isset($x[1])) {
|
||
$module_settings[$mostrecentmodule][$key]=$x[1];
|
||
}
|
||
}
|
||
$msettings = modulehook("mod-dyn-settings", $msettings);
|
||
if (is_module_active($module)){
|
||
output("This module is currently active: ");
|
||
$deactivate = translate_inline("Deactivate");
|
||
rawoutput("<a href='modules.php?op=deactivate&module={$module}&cat={$info['category']}'>");
|
||
output_notl($deactivate);
|
||
rawoutput("</a>");
|
||
addnav("","modules.php?op=deactivate&module={$module}&cat={$info['category']}");
|
||
}else{
|
||
output("This module is currently deactivated: ");
|
||
$deactivate = translate_inline("Activate");
|
||
rawoutput("<a href='modules.php?op=activate&module={$module}&cat={$info['category']}'>");
|
||
output_notl($deactivate);
|
||
rawoutput("</a>");
|
||
addnav("","modules.php?op=activate&module={$module}&cat={$info['category']}");
|
||
}
|
||
rawoutput("<form action='configuration.php?op=modulesettings&module=$module&save=1' method='POST'>",true);
|
||
addnav("","configuration.php?op=modulesettings&module=$module&save=1");
|
||
tlschema("module-$module");
|
||
showform($msettings,$module_settings[$mostrecentmodule]);
|
||
tlschema();
|
||
rawoutput("</form>",true);
|
||
}else{
|
||
output("The %s module does not appear to define any module settings.", $module);
|
||
}
|
||
}
|
||
}else{
|
||
output("I was not able to inject the module %s. Sorry it didn't work out.", htmlentities($module, ENT_COMPAT, getsetting("charset", "ISO-8859-1")));
|
||
}
|
||
}
|
||
|
||
page_header("Game Settings");
|
||
require_once("lib/superusernav.php");
|
||
superusernav();
|
||
addnav("Module Manager", "modules.php");
|
||
if ($module) {
|
||
$cat = $info['category'];
|
||
addnav(array("Module Category - `^%s`0", translate_inline($cat)), "modules.php?cat=$cat");
|
||
}
|
||
|
||
addnav("Game Settings");
|
||
addnav("Standard settings", "configuration.php");
|
||
addnav("",$REQUEST_URI);
|
||
|
||
module_editor_navs('settings', 'configuration.php?op=modulesettings&module=');
|
||
|
||
if ($op == "") {
|
||
$enum="enumpretrans";
|
||
require_once("lib/datetime.php");
|
||
$details = gametimedetails();
|
||
$offset = getsetting("gameoffsetseconds",0);
|
||
for ($i=0;$i<=86400 / getsetting("daysperday",4);$i+=300){
|
||
$off = ($details['realsecstotomorrow'] - ($offset - $i));
|
||
if ($off < 0) $off += 86400;
|
||
$x = strtotime("+".$off." secs");
|
||
$str = sprintf_translate("In %s at %s (+%s)",
|
||
reltime($x), date("h:i a", $x),date("H:i",$i));
|
||
$enum.=",$i,$str";
|
||
}
|
||
rawoutput(tlbutton_clear());
|
||
$setup = array(
|
||
"Game Setup,title",
|
||
"loginbanner"=>"Login Banner (under login prompt: 255 chars)",
|
||
"maxonline"=>"Max # of players online (0 for unlimited), int",
|
||
"allowcreation"=>"Allow creation of new characters,bool",
|
||
"gameadminemail"=>"Admin Email",
|
||
"emailpetitions"=>"Should submitted petitions be emailed to Admin Email address?,bool",
|
||
"Enter languages here like this: `i(shortname 2 chars) comma (readable name of the language)`i and continue as long as you wish,note",
|
||
"serverlanguages"=>"Languages available on this server",
|
||
"defaultlanguage"=>"Default Language,enum,".getsetting("serverlanguages","en,English,fr,Fran<61>ais,dk,Danish,de,Deutsch,es,Espa<70>ol,it,Italian"),
|
||
"edittitles"=>"Should DK titles be editable in user editor,bool",
|
||
"motditems"=>"How many items should be shown on the motdlist,int",
|
||
|
||
"Main Page Display,title",
|
||
"homeskinselect"=>"Should the skin selection widget be shown?,bool",
|
||
"homecurtime"=>"Should the current realm time be shown?,bool",
|
||
"homenewdaytime"=>"Should the time till newday be shown?,bool",
|
||
"homenewestplayer"=>"Should the newest player be shown?,bool",
|
||
"defaultskin"=>"What skin should be the default?,theme",
|
||
"impressum"=>"Tell the world something about the person running this server. (e.g. name and address),textarea",
|
||
|
||
"Beta Setup,title",
|
||
"beta"=>"Enable beta features for all players?,bool",
|
||
"betaperplayer"=>"Enable beta features per player?,bool",
|
||
|
||
"Account Creation,title",
|
||
"defaultsuperuser"=>
|
||
"Flags automatically granted to new players,bitfield," .
|
||
($session['user']['superuser'] | SU_ANYONE_CAN_SET)." ,".
|
||
SU_INFINITE_DAYS.",Infinite Days,".
|
||
SU_VIEW_SOURCE.",View Source Code,".
|
||
SU_DEVELOPER.",Developer Super Powers (special inc list; god mode; auto defeat master; etc),".
|
||
SU_DEBUG_OUTPUT. ",Debug Output",
|
||
"newplayerstartgold"=>"Amount of gold to start a new character with,int",
|
||
"maxrestartgold"=>"Maximum amount of gold a player will get after a dragonkill,int",
|
||
"maxrestartgems"=>"Maximum number of gems a player will get after a dragonkill,int",
|
||
"requireemail"=>"Require users to enter their email address,bool",
|
||
"requirevalidemail"=>"Require users to validate their email address,bool",
|
||
"blockdupeemail"=>"One account per email address,bool",
|
||
"spaceinname"=>"Allow spaces in user names,bool",
|
||
"allowoddadminrenames"=>"Allow admins to enter 'illegal' names in the user editor,bool",
|
||
"selfdelete"=>"Allow player to delete their character,bool",
|
||
|
||
"Commentary/Chat,title",
|
||
"soap"=>"Clean user posts (filters bad language and splits words over 45 chars long),bool",
|
||
"maxcolors"=>"Max # of color changes usable in one comment,range,5,40,1",
|
||
"postinglimit"=>"Limit posts to let one user post only up to 50% of the last posts (else turn it off),bool",
|
||
|
||
"Place names and People names,title",
|
||
"villagename"=>"Name for the main village",
|
||
"innname"=>"Name of the inn",
|
||
"barkeep"=>"Name of the barkeep",
|
||
"barmaid"=>"Name of the barmaid",
|
||
"bard"=>"Name of the bard",
|
||
"clanregistrar"=>"Name of the clan registrar",
|
||
"deathoverlord"=>"Name of the death overlord",
|
||
|
||
"Referral Settings,title",
|
||
"refereraward"=>"How many points will be awarded for a referral?,int",
|
||
"referminlevel"=>"What level does the referral need to reach to credit the referer?,int",
|
||
|
||
"Random events,title",
|
||
"forestchance"=>"Chance for Something Special in the Forest,range,0,100,1",
|
||
"villagechance"=>"Chance for Something Special in any village,range,0,100,1",
|
||
"innchance"=>"Chance for Something Special in the Inn,range,0,100,1",
|
||
"gravechance"=>"Chance for Something Special in the Graveyard,range,0,100,1",
|
||
"gardenchance"=>"Chance for Something Special in the Gardens,range,0,100,1",
|
||
|
||
"Paypal,title",
|
||
"paypalemail"=>"Email address of Admin's paypal account",
|
||
"paypalcurrency"=>"Currency type",
|
||
"paypalcountry-code"=>"What country's predominant language do you wish to have displayed in your PayPal screen?,enum
|
||
,US,United States,DE,Germany,AI,Anguilla,AR,Argentina,AU,Australia,AT,Austria,BE,Belgium,BR,Brazil,CA,Canada
|
||
,CL,Chile,C2,China,CR,Costa Rica,CY,Cyprus,CZ,Czech Republic,DK,Denmark,DO,Dominican Republic
|
||
,EC,Ecuador,EE,Estonia,FI,Finland,FR,France,GR,Greece,HK,Hong Kong,HU,Hungary,IS,Iceland,IN,India
|
||
,IE,Ireland,IL,Israel,IT,Italy,JM,Jamaica,JP,Japan,LV,Latvia,LT,Lithuania,LU,Luxembourg,MY,Malaysia
|
||
,MT,Malta,MX,Mexico,NL,Netherlands,NZ,New Zealand,NO,Norway,PL,Poland,PT,Portugal,SG,Singapore,SK,Slovakia
|
||
,SI,Slovenia,ZA,South Africa,KR,South Korea,ES,Spain,SE,Sweden,CH,Switzerland,TW,Taiwan,TH,Thailand,TR,Turkey
|
||
,GB,United Kingdom,UY,Uruguay,VE,Venezuela",
|
||
"paypaltext"=>"What text should be displayed as item name in the donations screen(player name will be added after it)?",
|
||
"(standard: 'Legend of the Green Dragon Site Donation from',note",
|
||
|
||
"General Combat,title",
|
||
"autofight"=>"Allow fighting multiple rounds automatically,bool",
|
||
"autofightfull"=>"Allow fighting until fight is over,enum,0,Never,1,Always,2,Only when not allowed to flee",
|
||
|
||
"Training,title",
|
||
"automaster"=>"Masters hunt down truant students,bool",
|
||
"multimaster"=>"Can players gain multiple levels (challenge multiple masters) per game day?,bool",
|
||
"displaymasternews"=>"Display news if somebody fought his master?,bool",
|
||
|
||
"Clans,title",
|
||
"allowclans"=>"Enable Clan System?,bool",
|
||
"goldtostartclan"=>"Gold to start a clan,int",
|
||
"gemstostartclan"=>"Gems to start a clan,int",
|
||
"officermoderate"=>"Can clan officers who are also moderators moderate their own clan even if they cannot moderate all clans?,bool",
|
||
|
||
"New Days,title",
|
||
"daysperday"=>"Game days per calendar day,range,1,6,1",
|
||
"specialtybonus"=>"Extra daily uses in specialty area,range,0,5,1",
|
||
"newdaycron"=>"Let the newday-runonce run via a cronjob,bool",
|
||
"The directory is necessary! Do not forget to set the correct one in cron.php in your main game folder!!! ONLY experienced admins should use cron jobbing here,note",
|
||
"`bAlso make sure you setup a cronjob on your machine using confixx/plesk/cpanel or any other admin panel pointing to the cron.php file in your main folder`b,note",
|
||
"If you do not know what a Cronjob is... leave it turned off. If you want to know more... check out: <a href='http://wiki.dragonprime.net/index.php?title=Cronjob'>http://wiki.dragonprime.net/index.php?title=Cronjob</a>,note",
|
||
"resurrectionturns"=>"Modify (+ or -) the number of turns deducted after a resurrection as an absolute (number) or relative (number followed by %),text",
|
||
|
||
"Forest,title",
|
||
"turns"=>"Forest Fights per day,range,5,30,1",
|
||
"dropmingold"=>"Forest Creatures drop at least 1/4 of max gold,bool",
|
||
"suicide"=>"Allow players to Seek Suicidally?,bool",
|
||
"suicidedk"=>"Minimum DKs before players can Seek Suicidally?,int",
|
||
"forestgemchance"=>"Player will find a gem one in X times,range,10,100,1",
|
||
"disablebonuses"=>"Should monsters which get buffed with extra HP/Att/Def get a gold+exp bonus?,bool",
|
||
"forestexploss"=>"What percentage of experience should be lost?,range,10,100,1",
|
||
|
||
"Multiple Enemies,title",
|
||
"multifightdk"=>"Multiple monsters will attack players above which amount of dragonkills?,range,8,50,1",
|
||
"multichance"=>"The chance for an attack from multiple enemies is,range,0,100,1",
|
||
"addexp"=>"Additional experience (%) per enemy during multifights?,range,0,15",
|
||
"instantexp"=>"During multi-fights hand out experience instantly?,bool",
|
||
"maxattacks"=>"How many enemies will attack per round (max. value),range,1,10",
|
||
"allowpackofmonsters"=>"Allow multiple monsters of the same type to appear in a battle?,bool",
|
||
"Random values for type of seeking is added to random base.,note",
|
||
"multibasemin"=>"The base number of multiple enemies at minimum is,range,1,100,2",
|
||
"multibasemax"=>"The base number of multiple enemies at maximum is,range,1,100,3",
|
||
"multislummin"=>"The number of multiple enemies at minimum for slumming is,range,0,100,0",
|
||
"multislummax"=>"The number of multiple enemies at maximum for slumming is,range,0,100,1",
|
||
"multithrillmin"=>"The number of multiple enemies at minimum for thrill seeking is,range,0,100,1",
|
||
"multithrillmax"=>"The number of multiple enemies at maximum for thrill seeking is,range,0,100,2",
|
||
"multisuimin"=>"The number of multiple enemies at minimum for suicide is,range,0,100,2",
|
||
"multisuimax"=>"The number of multiple enemies at maximum for suicide is,range,0,100,4",
|
||
|
||
"Stables,title",
|
||
"allowfeed"=>"Does Merick have feed onhand for creatures,bool",
|
||
|
||
"Companions/Mercenaries,title",
|
||
"enablecompanions"=>"Enable the usage of companions,bool",
|
||
"companionsallowed"=>"How many companions are allowed per player,int",
|
||
"Modules my alter this value on a per player basis!,note",
|
||
"companionslevelup"=>"Are companions allowed to level up?,bool",
|
||
|
||
"Bank Settings,title",
|
||
"fightsforinterest"=>"Max forest fights remaining to earn interest?,range,0,10,1",
|
||
"maxinterest"=>"Max Interest Rate (%),range,5,10,1",
|
||
"mininterest"=>"Min Interest Rate (%),range,0,5,1",
|
||
"maxgoldforinterest"=>"Over what amount of gold does the bank cease paying interest? (0 for unlimited),int",
|
||
"borrowperlevel"=>"Max player can borrow per level (val * level for max),range5,200,5",
|
||
"allowgoldtransfer"=>"Allow players to transfer gold,bool",
|
||
"transferperlevel"=>"Max player can receive from a transfer (val * level),range,5,100,5",
|
||
"mintransferlev"=>"Min level a player (0 DK's) needs to transfer gold,range,1,5,1",
|
||
"transferreceive"=>"Total transfers a player can receive in one day,range,0,5,1",
|
||
"maxtransferout"=>"Amount player can transfer to others (val * level),range,5,100,5",
|
||
"innfee"=>"Fee for express inn payment (x or x%),int",
|
||
|
||
"Mail Settings,title",
|
||
"mailsizelimit"=>"Message size limit per message,int",
|
||
"inboxlimit"=>"Limit # of messages in inbox,int",
|
||
"oldmail"=>"Automatically delete old messages after (days),int",
|
||
"superuseryommessage"=>"Warning to give when attempting to YoM an admin?",
|
||
"onlyunreadmails"=>"Only unread mail count towards the inbox limit?,bool",
|
||
|
||
"PvP,title",
|
||
"pvp"=>"Enable Slay Other Players,bool",
|
||
"pvpday"=>"Player Fights per day,range,1,10,1",
|
||
"pvpimmunity"=>"Days that new players are safe from PvP,range,1,5,1",
|
||
"pvpminexp"=>"Experience below which player is safe from PvP,int",
|
||
"pvpattgain"=>"Percent of victim experience attacker gains on win,floatrange,.25,20,.25",
|
||
"pvpattlose"=>"Percent of experience attacker loses on loss,floatrange,.25,20,.25",
|
||
"pvpdefgain"=>"Percent of attacker experience defender gains on win,floatrange,.25,20,.25",
|
||
"pvpdeflose"=>"Percent of experience defender loses on loss,floatrange,.25,20,.25",
|
||
|
||
"Content Expiration,title",
|
||
"expirecontent"=>"Days to keep comments and news? (0 = infinite),int",
|
||
"expiretrashacct"=>"Days to keep never logged-in accounts? (0 = infinite),int",
|
||
"expirenewacct"=>"Days to keep 1 level (0 dragon) accounts? (0 =infinite),int",
|
||
"expireoldacct"=>"Days to keep all other accounts? (0 = infinite),int",
|
||
"LOGINTIMEOUT"=>"Seconds of inactivity before auto-logoff,int",
|
||
|
||
"High Load Optimization,title",
|
||
"This has been moved to the dbconnect.php,note",
|
||
/*
|
||
"usedatacache"=>"Use Data Caching,bool",
|
||
"datacachepath"=>"Path to store data cache information`n`iNote`i when using in an environment where Safe Mode is enabled; this needs to be a path that has the same UID as the web server runs.",
|
||
//this has been put to the dbconnect.php
|
||
*/
|
||
|
||
"LoGDnet Setup,title",
|
||
"(LoGDnet requires your PHP configuration to have file wrappers enabled!!),note",
|
||
"logdnet"=>"Register with LoGDnet?,bool",
|
||
"serverurl"=>"Server URL",
|
||
"serverdesc"=>"Server Description (75 chars max)",
|
||
"logdnetserver"=>"Master LoGDnet Server (default http://logdnet.logd.com/)",
|
||
"curltimeout"=>"How long we wait for responses from logdnet.logd.com (in seconds),range,1,10,1|2",
|
||
|
||
"Game day Setup,title",
|
||
"dayduration"=>"Day Duration,viewonly",
|
||
"curgametime"=>"Current game time,viewonly",
|
||
"curservertime"=>"Current Server Time,viewonly",
|
||
"lastnewday"=>"Last new day,viewonly",
|
||
"nextnewday"=>"Next new day,viewonly",
|
||
"gameoffsetseconds"=>"Real time to offset new day,$enum",
|
||
|
||
"Translation Setup,title",
|
||
"enabletranslation"=>"Enable the use of the translation engine,bool",
|
||
"It is strongly recommended to leave this feature turned on.,note",
|
||
"cachetranslations"=>"Cache the translations (datacache must be turned on)?,bool",
|
||
"permacollect"=>"Permanently collect untranslated texts (overrides the next settings!),bool",
|
||
"collecttexts"=>"Are we currently collecting untranslated texts?,viewonly",
|
||
"tl_maxallowed"=>"Collect untranslated texts if you have fewer player than this logged in. (0 never collects),int",
|
||
"charset"=>"Which charset should be used for htmlentities?",
|
||
|
||
"Error Notification,title",
|
||
"Note: you MUST have data caching turned on if you want to use this feature. Also the first error within any 24 hour period will not generate a notice; I'm sorry: that's really just how it is for technical reasons.,note",
|
||
"show_notices"=>"Show PHP Notice output?,bool",
|
||
"notify_on_warn"=>"Send notification on site warnings?,bool",
|
||
"notify_on_error"=>"Send notification on site errors?,bool",
|
||
"notify_address"=>"Address to notify",
|
||
"notify_every"=>"Only notify every how many minutes for each distinct error?,int",
|
||
|
||
"Miscellaneous Settings,title",
|
||
"allowspecialswitch"=>"The Barkeeper may help you to switch your specialty?,bool",
|
||
"maxlistsize"=>"Maximum number of items to be shown in the warrior list,int",
|
||
);
|
||
$secstonewday = secondstonextgameday($details);
|
||
$useful_vals = array(
|
||
"dayduration"=>round(($details['dayduration']/60/60),0)." hours",
|
||
"curgametime"=>getgametime(),
|
||
"curservertime"=>date("Y-m-d h:i:s a"),
|
||
"lastnewday"=>date("h:i:s a",
|
||
strtotime("-{$details['realsecssofartoday']} seconds")),
|
||
"nextnewday"=>date("h:i:s a",
|
||
strtotime("+{$details['realsecstotomorrow']} seconds"))." (".date("H\\h i\\m s\\s",$secstonewday).")"
|
||
);
|
||
|
||
loadsettings();
|
||
$vals = $settings + $useful_vals;
|
||
|
||
rawoutput("<form action='configuration.php?op=save' method='POST'>");
|
||
addnav("","configuration.php?op=save");
|
||
showform($setup,$vals);
|
||
rawoutput("</form>");
|
||
}
|
||
page_footer();
|
||
?>
|