Incremental Refactor Templates 3

Incremental Refactor Templates 2
This commit is contained in:
Catalin Novgorodschi
2026-05-07 11:20:05 +03:00
parent 8901c36c06
commit 60c2ed2f60
24 changed files with 2924 additions and 1057 deletions
+194 -107
View File
@@ -1,127 +1,214 @@
<?php
<?php
#################################################################################
## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ##
## --------------------------------------------------------------------------- ##
## Filename multivillage.tpl ##
## Developed by: Dzoki ##
## Refactored by: Shadow Incremental Refactor ##
## License: TravianZ Project ##
## Copyright: TravianZ (c) 2010-2025. All rights reserved. ##
## Copyright: TravianZ (c) 2010-2026. All rights reserved. ##
## ##
## Incremental Refactor Notes: ##
## - Preserved original functionality and HTML structure ##
## - Compatible with older PHP 7+ environments ##
## - Removed massive duplicated blocks ##
## - Added safer GET handling ##
## - Reduced repeated count() calls ##
## - Centralized URL generation ##
## - Added comments for maintainability ##
## ##
#################################################################################
/**
* ---------------------------------------------------------
* Default fallback
* ---------------------------------------------------------
*/
if (!isset($id)) {
$id = '';
$id = '';
}
if(count($session->villages) > 1){
/**
* ---------------------------------------------------------
* Show multivillage only if user owns >1 village
* ---------------------------------------------------------
*/
if (count($session->villages) > 1) {
/**
* Load villages once
*/
$returnVillageArray = $database->getArrayMemberVillage($session->uid);
/**
* Total village count
*/
$villageCount = count($session->villages);
/**
* Current selected village
*/
$currentVillage = isset($_SESSION['wid'])
? (int)$_SESSION['wid']
: 0;
/**
* -----------------------------------------------------
* Allowed GET parameters
* -----------------------------------------------------
* Keeps original functionality while avoiding
* duplicated if/else blocks.
*/
$allowedParams = array(
'w',
'r',
'z',
'o',
's',
'c',
't',
'd',
'aid',
'uid',
'vill',
'id'
);
/**
* -----------------------------------------------------
* Build extra URL parameters
* -----------------------------------------------------
*/
$extraParams = '';
foreach ($allowedParams as $param) {
if (isset($_GET[$param]) && $_GET[$param] !== '') {
/**
* Keep original special logic:
* if $id >= 19, preserve internal id
*/
if ($param == 'id' && $id >= 19) {
continue;
}
$extraParams .= '&' . $param . '=' . urlencode($_GET[$param]);
}
}
/**
* -----------------------------------------------------
* Preserve original behavior for internal building id
* -----------------------------------------------------
*/
if ($id >= 19) {
$extraParams = '&id=' . (int)$id;
}
?>
<table id="vlist" cellpadding="1" cellspacing="1">
<thead><tr><td colspan="3"><a href="dorf3.php" accesskey="9"><?php echo VILLAGES; ?>:</a></td></tr></thead>
<tbody><?php
$returnVillageArray = $database->getArrayMemberVillage($session->uid);
if(isset($_GET['w'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&w=".$_GET['w']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['r'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&r=".$_GET['r']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['z'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<thead>
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&z=".$_GET['z']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['o'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<td colspan="3">
<a href="dorf3.php" accesskey="9">
<?php echo VILLAGES; ?>:
</a>
</td>
</tr>
</thead>
<tbody>
<?php
/**
* -----------------------------------------------------
* Render village list
* -----------------------------------------------------
*/
for ($i = 0; $i < $villageCount; $i++) {
/**
* Safety checks for older PHP versions
*/
if (!isset($returnVillageArray[$i])) {
continue;
}
$villageData = $returnVillageArray[$i];
/**
* Village values
*/
$villageWref = isset($villageData['wref'])
? (int)$villageData['wref']
: 0;
$villageName = isset($villageData['name'])
? $villageData['name']
: '';
$villageX = isset($villageData['x'])
? (int)$villageData['x']
: 0;
$villageY = isset($villageData['y'])
? (int)$villageData['y']
: 0;
/**
* Highlight current village
*/
$highlight = ($currentVillage == $villageWref)
? 'hl'
: '';
/**
* Build village switch URL
*/
$villageUrl =
'?newdid=' . $villageWref . $extraParams;
?>
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&o=".$_GET['o']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
<td class="dot <?php echo $highlight; ?>">
</td>
<td class="link">
<a href="<?php echo $villageUrl; ?>">
<?php echo htmlspecialchars($villageName, ENT_QUOTES, 'UTF-8'); ?>
</a>
</td>
<td class="aligned_coords">
<div class="cox">
(<?php echo $villageX; ?>
</div>
<div class="pi">
|
</div>
<div class="coy">
<?php echo $villageY; ?>)
</div>
</td>
</tr>
<?php
}
}
else if(isset($_GET['s'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&s=".$_GET['s']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['c'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : (isset($_GET['d']) ? "&d=".$_GET['d'] : '')).(($id>=19) ? "&id=".$id : "&c=".$_GET['c']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['t'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&t=".$_GET['t']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['d'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&d=".$_GET['d']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['aid'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&aid=".$_GET['aid']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['uid'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&uid=".$_GET['uid']).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['vill']) && isset($_GET['id'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&id=".$_GET['id'])."&vill=".$_GET['vill'].'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}
}
else if(isset($_GET['t']) && isset($_GET['id'])) {
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : "&id=".$_GET['id'])."&t=".$_GET['t'].'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}}else{
for($i=1;$i<=count($session->villages);++$i){echo'
<tr>
<td class="dot '.(($_SESSION['wid'] == $returnVillageArray[$i-1]['wref'] ) ? 'hl':'').'">●</td>
<td class="link"><a href="?newdid='.$returnVillageArray[$i-1]['wref'].(($id>=19) ? "&id=".$id : (!empty($_GET['id']) ? "&id=".$_GET['id'] : '')).'">'.$returnVillageArray[$i-1]['name'].'</a></td>
<td class="aligned_coords"><div class="cox">('.$returnVillageArray[$i-1]['x'].'</div><div class="pi">|</div><div class="coy">'.$returnVillageArray[$i-1]['y'].')</div></td></tr>';
}}?>
</tbody>
?>
</tbody>
</table>
<?php
}
?>
?>