mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-08-09 21:01:00 +00:00
Bug fix found by @daencore
Bug fix found by @daencore
This commit is contained in:
@@ -258,6 +258,52 @@ if (!function_exists('admin_config_template_path')) {
|
||||
}
|
||||
}
|
||||
|
||||
// Comutatoare adaugate dupa modelul lui %GP%: bonusurile de alianta si
|
||||
// statisticile grafice Plus.
|
||||
//
|
||||
// BUG REPARAT: aceste placeholdere erau rezolvate DOAR de
|
||||
// editNewFunctions. Orice alta pagina din panou (Server Configuration,
|
||||
// Log Settings, PLUS Settings, NewsBox, Admin Info, Extra Settings)
|
||||
// regenereaza si ea config.php din acelasi sablon, dar le lasa
|
||||
// neinlocuite - deci in config ajungea
|
||||
// define("NEW_FUNCTIONS_ALLIANCE_BONUSES", %ALLIANCEBONUSES%);
|
||||
// adica eroare de parsare si server cazut cu 500 pana la reparare
|
||||
// manuala a fisierului.
|
||||
//
|
||||
// Ca si la %GP%, blocul de aici e doar REZERVA: pastreaza valoarea
|
||||
// curenta pentru modulele care nu trimit nimic. Modulul care chiar
|
||||
// detine setarea o trimite prin $overrides, iar bucla de mai sus
|
||||
// ruleaza INAINTE, deci alegerea adminului are intaietate.
|
||||
$boolFallbacks = array(
|
||||
'%ALLIANCEBONUSES%' => 'NEW_FUNCTIONS_ALLIANCE_BONUSES',
|
||||
'%PLUSSTATS%' => 'NEW_FUNCTIONS_PLUS_STATISTICS',
|
||||
);
|
||||
|
||||
foreach ($boolFallbacks as $ovPlaceholder => $constant) {
|
||||
if (strpos($text, $ovPlaceholder) === false) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$value = (defined($constant) && constant($constant)) ? 'true' : 'false';
|
||||
$text = str_replace($ovPlaceholder, $value, $text);
|
||||
}
|
||||
|
||||
// Setarile numerice ale statisticilor, tot ca rezerva.
|
||||
$numFallbacks = array(
|
||||
'%PLUSSTATSHOURS%' => array('PLUS_STATS_INTERVAL_HOURS', 6),
|
||||
'%PLUSSTATSKEEP%' => array('PLUS_STATS_KEEP_DAYS', 0),
|
||||
);
|
||||
|
||||
foreach ($numFallbacks as $ovPlaceholder => $info) {
|
||||
if (strpos($text, $ovPlaceholder) === false) {
|
||||
continue;
|
||||
}
|
||||
|
||||
list($constant, $default) = $info;
|
||||
$value = defined($constant) ? constant($constant) : $default;
|
||||
$text = str_replace($ovPlaceholder, (string) $value, $text);
|
||||
}
|
||||
|
||||
// Pachetul grafic si comutatorul de pachete proprii.
|
||||
//
|
||||
// ATENTIE LA ORDINE: acest bloc trebuie sa ruleze DUPA bucla de
|
||||
|
||||
@@ -34,7 +34,28 @@ if (!admin_config_template_available()) {
|
||||
$myFile = "../../config.php";
|
||||
$fh = fopen($myFile, 'w') or die("<br/><br/><br/>Can't open file: GameEngine\config.php");
|
||||
|
||||
$text = admin_config_template_contents();
|
||||
// Aceste setari trebuie trimise prin $overrides, NU prin tz_config_set
|
||||
// dupa ce functia a returnat: rezerva centrala din
|
||||
// admin_config_template_contents() ar consuma placeholderele inainte,
|
||||
// iar alegerea adminului s-ar pierde tacut la fiecare salvare.
|
||||
$abChoice = (isset($_POST['alliance_bonuses']) && $_POST['alliance_bonuses'] === 'true')
|
||||
? 'true' : 'false';
|
||||
|
||||
$psChoice = (isset($_POST['plus_statistics']) && $_POST['plus_statistics'] === 'true')
|
||||
? 'true' : 'false';
|
||||
|
||||
$psHours = isset($_POST['plus_stats_hours']) ? (float) $_POST['plus_stats_hours'] : 6;
|
||||
if ($psHours < 0.25 || $psHours > 168) { $psHours = 6; }
|
||||
|
||||
$psKeep = isset($_POST['plus_stats_keep']) ? (int) $_POST['plus_stats_keep'] : 0;
|
||||
if ($psKeep < 0 || $psKeep > 3650) { $psKeep = 0; }
|
||||
|
||||
$text = admin_config_template_contents(array(
|
||||
'%ALLIANCEBONUSES%' => $abChoice,
|
||||
'%PLUSSTATS%' => $psChoice,
|
||||
'%PLUSSTATSHOURS%' => $psHours,
|
||||
'%PLUSSTATSKEEP%' => $psKeep,
|
||||
));
|
||||
|
||||
$SUPPORT_MSGS_IN_ADMIN = (ADMIN_RECEIVE_SUPPORT_MESSAGES == false ? 'false' : 'true');
|
||||
$ADMINS_RAIDABLE = (ADMIN_ALLOW_INCOMING_RAIDS == false ? 'false' : 'true');
|
||||
@@ -112,17 +133,7 @@ $fh = fopen($myFile, 'w') or die("<br/><br/><br/>Can't open file: GameEngine\con
|
||||
tz_config_set($text, '%HOMEPAGE%', HOMEPAGE);
|
||||
tz_config_set($text, '%SERVER%', SERVER);
|
||||
tz_config_set($text, '%NEW_FUNCTIONS_OASIS%', $_POST['new_functions_oasis'] ?? '');
|
||||
tz_config_set($text, '%ALLIANCEBONUSES%', $_POST['alliance_bonuses'] ?? 'false');
|
||||
tz_config_set($text, '%PLUSSTATS%', $_POST['plus_statistics'] ?? 'false');
|
||||
|
||||
// intervalul si retentia: valori numerice, cu limite rezonabile
|
||||
$psHours = isset($_POST['plus_stats_hours']) ? (float) $_POST['plus_stats_hours'] : 6;
|
||||
if ($psHours < 0.25 || $psHours > 168) { $psHours = 6; }
|
||||
tz_config_set($text, '%PLUSSTATSHOURS%', $psHours);
|
||||
|
||||
$psKeep = isset($_POST['plus_stats_keep']) ? (int) $_POST['plus_stats_keep'] : 0;
|
||||
if ($psKeep < 0 || $psKeep > 3650) { $psKeep = 0; }
|
||||
tz_config_set($text, '%PLUSSTATSKEEP%', $psKeep);
|
||||
tz_config_set($text, '%NEW_FUNCTIONS_ALLIANCE_INVITATION%', $_POST['new_functions_alliance_invitation'] ?? '');
|
||||
tz_config_set($text, '%NEW_FUNCTIONS_EMBASSY_MECHANICS%', $_POST['new_functions_embassy_mechanics'] ?? '');
|
||||
tz_config_set($text, '%NEW_FUNCTIONS_FORUM_POST_MESSAGE%', $_POST['new_functions_forum_post_message'] ?? '');
|
||||
|
||||
Reference in New Issue
Block a user