mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-08-30 23:27:14 +00:00
Fix warsim security issue & hero building
Fix warsim security issue & hero building
This commit is contained in:
+65
-54
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
|
||||
<?php
|
||||
|
||||
#################################################################################
|
||||
## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ##
|
||||
## --------------------------------------------------------------------------- ##
|
||||
@@ -20,12 +20,57 @@
|
||||
#################################################################################
|
||||
|
||||
$oasisarray = $database->getOasis($village->wid);
|
||||
if(isset($_GET['gid']) && $_GET['gid'] == 37 && isset($_GET['del']) && $database->getOasisField($_GET['del'], 'owner') == $session->uid){
|
||||
$units->returnTroops($village->wid, 1);
|
||||
$database->removeOases($_GET['del']);
|
||||
header("Location: build.php?id=".$id."&land");
|
||||
exit;
|
||||
}
|
||||
|
||||
if (isset($_GET['gid']) && $_GET['gid'] == 37 && isset($_GET['del']) && $database->getOasisField($_GET['del'], 'owner') == $session->uid) {
|
||||
$units->returnTroops($village->wid, 1);
|
||||
$database->removeOases($_GET['del']);
|
||||
header("Location: build.php?id=" . $id . "&land");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Explicit lookup, instead of the original repetitive switch:
|
||||
// each oasis type => which resources get bonus and how much.
|
||||
// Identical behavior to the original (same alt/title on each icon,
|
||||
// including the existing asymmetry: for wood, alt uses TZ_WOOD but
|
||||
// title uses LUMBER - kept exactly as in the original source).
|
||||
$oasisResourceIcons = [
|
||||
'wood' => ['class' => 'r1', 'alt' => TZ_WOOD, 'title' => LUMBER],
|
||||
'clay' => ['class' => 'r2', 'alt' => CLAY, 'title' => CLAY],
|
||||
'iron' => ['class' => 'r3', 'alt' => IRON, 'title' => IRON],
|
||||
'crop' => ['class' => 'r4', 'alt' => CROP, 'title' => CROP],
|
||||
];
|
||||
|
||||
$oasisTypeBonuses = [
|
||||
1 => [['wood', 25]],
|
||||
2 => [['wood', 25]],
|
||||
3 => [['wood', 25], ['crop', 25]],
|
||||
4 => [['clay', 25]],
|
||||
5 => [['clay', 25]],
|
||||
6 => [['clay', 25], ['crop', 25]],
|
||||
7 => [['iron', 25]],
|
||||
8 => [['iron', 25]],
|
||||
9 => [['iron', 25], ['crop', 25]],
|
||||
10 => [['crop', 25]],
|
||||
11 => [['crop', 25]],
|
||||
12 => [['crop', 50]],
|
||||
];
|
||||
|
||||
// Replace the original switch with 12 identical cases as the structure.
|
||||
// Unknown types => empty string, just like the lack of a 'default' in the original switch.
|
||||
$renderOasisBonus = function ($type) use ($oasisResourceIcons, $oasisTypeBonuses) {
|
||||
if (!isset($oasisTypeBonuses[$type])) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$html = '';
|
||||
foreach ($oasisTypeBonuses[$type] as $bonus) {
|
||||
[$resource, $percent] = $bonus;
|
||||
$icon = $oasisResourceIcons[$resource];
|
||||
$html .= '<img class="' . $icon['class'] . '" src="img/x.gif" alt="' . $icon['alt'] . '" title="' . $icon['title'] . '" />+' . $percent . '%';
|
||||
}
|
||||
|
||||
return $html;
|
||||
};
|
||||
?>
|
||||
<table id="oases" cellpadding="1" cellspacing="1">
|
||||
<thead><tr>
|
||||
@@ -40,64 +85,30 @@ if(isset($_GET['gid']) && $_GET['gid'] == 37 && isset($_GET['del']) && $database
|
||||
<tbody>
|
||||
|
||||
<?php
|
||||
if(!empty($oasisarray)){
|
||||
for($i = 0; $i < count($oasisarray); $i++){
|
||||
$oasiscoor = $database->getCoor($oasisarray[$i]['wref']);
|
||||
if (!empty($oasisarray)) {
|
||||
foreach ($oasisarray as $oasis) {
|
||||
$oasiscoor = $database->getCoor($oasis['wref']);
|
||||
?>
|
||||
<tr>
|
||||
<td class="nam">
|
||||
<a href="build.php?gid=37&c=<?php echo $generator->getMapCheck($oasisarray[$i]['wref']); ?>&del=<?php echo $oasisarray[$i]['wref']; ?>&land"><img class="del" src="img/x.gif" alt="<?php echo DELETE; ?>" title="<?php echo DELETE; ?>"></a>
|
||||
<a href="karte.php?d=<?php echo $oasisarray[$i]['wref']; ?>&c=<?php echo $generator->getMapCheck($oasisarray[$i]['wref']) ?>"><?php echo $oasisarray[$i]['name']; ?></a>
|
||||
<a href="build.php?gid=37&c=<?php echo $generator->getMapCheck($oasis['wref']); ?>&del=<?php echo $oasis['wref']; ?>&land"><img class="del" src="img/x.gif" alt="<?php echo DELETE; ?>" title="<?php echo DELETE; ?>"></a>
|
||||
<a href="karte.php?d=<?php echo $oasis['wref']; ?>&c=<?php echo $generator->getMapCheck($oasis['wref']) ?>"><?php echo $oasis['name']; ?></a>
|
||||
</td>
|
||||
<td class="aligned_coords">
|
||||
<div class="cox">(<?php echo $oasiscoor['x']; ?></div>
|
||||
<div class="pi">|</div>
|
||||
<div class="coy"><?php echo $oasiscoor['y']; ?>)</div>
|
||||
</td>
|
||||
<td class="zp"><?php echo floor($oasisarray[$i]['loyalty']); ?>%</td>
|
||||
<td class="res"><?php
|
||||
switch($oasisarray[$i]['type']) {
|
||||
case 1:
|
||||
case 2:
|
||||
?><img class="r1" src="img/x.gif" alt="<?php echo TZ_WOOD; ?>" title="<?php echo LUMBER; ?>" />+25%<?php
|
||||
break;
|
||||
case 3:
|
||||
?><img class="r1" src="img/x.gif" alt="<?php echo TZ_WOOD; ?>" title="<?php echo LUMBER; ?>" />+25%
|
||||
<img class="r4" src="img/x.gif" alt="<?php echo CROP; ?>" title="<?php echo CROP; ?>" />+25%<?php
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
?><img class="r2" src="img/x.gif" alt="<?php echo CLAY; ?>" title="<?php echo CLAY; ?>" />+25%<?php
|
||||
break;
|
||||
case 6:
|
||||
?><img class="r2" src="img/x.gif" alt="<?php echo CLAY; ?>" title="<?php echo CLAY; ?>" />+25%
|
||||
<img class="r4" src="img/x.gif" alt="<?php echo CROP; ?>" title="<?php echo CROP; ?>" />+25%<?php
|
||||
break;
|
||||
case 7:
|
||||
case 8:
|
||||
?><img class="r3" src="img/x.gif" alt="<?php echo IRON; ?>" title="<?php echo IRON; ?>" />+25%<?php
|
||||
break;
|
||||
case 9:
|
||||
?><img class="r3" src="img/x.gif" alt="<?php echo IRON; ?>" title="<?php echo IRON; ?>" />+25%
|
||||
<img class="r4" src="img/x.gif" alt="<?php echo CROP; ?>" title="<?php echo CROP; ?>" />+25%<?php
|
||||
break;
|
||||
case 10:
|
||||
case 11:
|
||||
?><img class="r4" src="img/x.gif" alt="<?php echo CROP; ?>" title="<?php echo CROP; ?>" />+25%<?php
|
||||
break;
|
||||
case 12:
|
||||
?><img class="r4" src="img/x.gif" alt="<?php echo CROP; ?>" title="<?php echo CROP; ?>" />+50%<?php
|
||||
break;
|
||||
}
|
||||
?></td>
|
||||
<td class="zp"><?php echo floor($oasis['loyalty']); ?>%</td>
|
||||
<td class="res"><?php echo $renderOasisBonus($oasis['type']); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
}else{
|
||||
<?php
|
||||
}
|
||||
} else {
|
||||
?>
|
||||
<tr>
|
||||
<td class="none" colspan="4"><?php echo NO_OASIS; ?></td>
|
||||
</tr>
|
||||
<?php }?>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user