mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-06-28 00:24:23 +00:00
133 lines
4.7 KiB
Smarty
133 lines
4.7 KiB
Smarty
<?php
|
|
|
|
#################################################################################
|
|
## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ##
|
|
## --------------------------------------------------------------------------- ##
|
|
## Project: TravianZ ##
|
|
## Version: 01.09.2013 ##
|
|
## Filename alliance.tpl ##
|
|
## Refactored by Shadow ##
|
|
## License: TravianZ Project ##
|
|
## Copyright: TravianZ (c) 2010-2013. All rights reserved. ##
|
|
## URLs: http://travian.shadowss.ro ##
|
|
## Source code: http://github.com/Shadowss/TravianZ/ ##
|
|
## ##
|
|
#################################################################################
|
|
|
|
// Inițializare sigură pentru search
|
|
$search = 0;
|
|
|
|
// Verificăm dacă există valoare în sesiune
|
|
if (!isset($_SESSION['search']) || !is_numeric($_SESSION['search'])) {
|
|
?>
|
|
<center>
|
|
<font color="orange" size="2">
|
|
<p class="error">
|
|
<?php echo TZ_THE_ALLIANCE; ?> <b>"<?php echo htmlspecialchars(isset($_SESSION['search']) ? $_SESSION['search'] : '', ENT_QUOTES, 'UTF-8'); ?>"</b> <?php echo TZ_DOES_NOT_EXIST; ?>
|
|
</p>
|
|
</font>
|
|
</center>
|
|
<?php
|
|
} else {
|
|
$search = (int)$_SESSION['search'];
|
|
}
|
|
?>
|
|
|
|
<table cellpadding="1" cellspacing="1" id="alliance" class="row_table_data">
|
|
<thead>
|
|
<tr>
|
|
<th colspan="5">
|
|
<?php echo TZ_THE_LARGEST_ALLIANCES; ?>
|
|
<div id="submenu">
|
|
<a title="<?php echo TZ_TOP_10; ?>" href="statistiken.php?id=43">
|
|
<img class="btn_top10" src="img/x.gif" alt="<?php echo TZ_TOP_10; ?>">
|
|
</a>
|
|
<a title="<?php echo DEFENDER; ?>" href="statistiken.php?id=42">
|
|
<img class="btn_def" src="img/x.gif" alt="<?php echo DEFENDER; ?>">
|
|
</a>
|
|
<a title="<?php echo ATTACKER; ?>" href="statistiken.php?id=41">
|
|
<img class="btn_off" src="img/x.gif" alt="<?php echo ATTACKER; ?>">
|
|
</a>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td><?php echo ALLIANCE; ?></td>
|
|
<td><?php echo PLAYER; ?></td>
|
|
<td>Ø</td>
|
|
<td><?php echo POINTS; ?></td>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<?php
|
|
// Luăm ranking-ul (fallback dacă nu există)
|
|
$rankArray = isset($ranking) ? $ranking->getRank() : array();
|
|
|
|
// Start implicit sigur
|
|
$start = isset($_SESSION['start']) ? ((int)$_SESSION['start'] + 1) : 1;
|
|
|
|
// Dacă există rank în GET, îl validăm
|
|
if (isset($_GET['rank']) && is_numeric($_GET['rank'])) {
|
|
$rank = (int)$_GET['rank'];
|
|
$multiplier = 1;
|
|
$totalRanks = count($rankArray);
|
|
|
|
// Limitare la dimensiunea array-ului
|
|
if ($rank > $totalRanks) {
|
|
$rank = $totalRanks - 1;
|
|
}
|
|
|
|
// Calcul paginare (pastrat logic original)
|
|
while ($rank > (20 * $multiplier)) {
|
|
$multiplier++;
|
|
}
|
|
|
|
$start = 20 * $multiplier - 19;
|
|
}
|
|
|
|
// Afișare rezultate
|
|
if (!empty($rankArray) && count($rankArray) > 1) {
|
|
|
|
for ($i = $start; $i < $start + 20; $i++) {
|
|
|
|
// Validare element existent
|
|
if (isset($rankArray[$i]) && $rankArray[$i] !== "pad" && isset($rankArray[$i]['name'])) {
|
|
|
|
// Highlight pentru căutare
|
|
$rowClass = ($i === $search) ? 'hl' : '';
|
|
|
|
echo '<tr class="' . $rowClass . '">';
|
|
echo '<td class="ra fc">' . $i . '.</td>';
|
|
|
|
// Alliance link (XSS safe)
|
|
echo '<td class="al">';
|
|
echo '<a href="allianz.php?aid=' . (int)$rankArray[$i]['id'] . '">';
|
|
echo htmlspecialchars($rankArray[$i]['tag'], ENT_QUOTES, 'UTF-8');
|
|
echo '</a></td>';
|
|
|
|
// Players
|
|
echo '<td class="pla">' . (int)$rankArray[$i]['players'] . '</td>';
|
|
|
|
// Average
|
|
echo '<td class="av">' . (int)$rankArray[$i]['avg'] . '</td>';
|
|
|
|
// Total population
|
|
echo '<td class="po">' . (int)$rankArray[$i]['totalpop'] . '</td>';
|
|
|
|
echo '</tr>';
|
|
}
|
|
}
|
|
|
|
} else {
|
|
echo '<tr><td class="none" colspan="5">No alliances found</td></tr>';
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
|
|
<?php
|
|
// Include fallback-safe
|
|
include("ranksearch.tpl");
|
|
?> |