From fe6ff01396a99dcc96f153df99a2423815bb774b Mon Sep 17 00:00:00 2001
From: novgorodschi catalin
Date: Thu, 25 Jun 2026 10:54:58 +0300
Subject: [PATCH] Fix Some PHP 8+ view error in Build & Credits
Fix Some PHP 8+ view error in Build & Credits
TO DO : Full audit in build directory
---
GameEngine/Data/hero_full.php | 2 +-
Templates/Build/1.tpl | 23 ++++++++++--
Templates/Build/10.tpl | 19 +++++++++-
Templates/Build/11.tpl | 19 +++++++++-
Templates/Build/12.tpl | 20 +++++++++--
Templates/Build/12_upgrades.tpl | 25 ++++++++++---
Templates/Build/13.tpl | 19 +++++++++-
Templates/Build/13_upgrades.tpl | 21 +++++++++--
Templates/Build/14.tpl | 19 +++++++++-
Templates/Build/15.tpl | 19 +++++++++-
Templates/Build/15_1.tpl | 19 +++++++++-
Templates/Build/16.tpl | 19 +++++++++-
Templates/Build/16_99.tpl | 19 +++++++++-
Templates/Build/16_incomming.tpl | 19 +++++++++-
Templates/Build/16_menu.tpl | 19 +++++++++-
Templates/Build/16_troops.tpl | 19 +++++++++-
Templates/Build/16_walking.tpl | 19 +++++++++-
Templates/Build/17.tpl | 21 ++++++++++-
Templates/Build/17_1.tpl | 23 ++++++++++--
Templates/Build/17_2.tpl | 21 ++++++++++-
Templates/Build/17_3.tpl | 23 ++++++++++--
Templates/Build/17_4.tpl | 21 ++++++++++-
Templates/Build/17_create.tpl | 21 ++++++++++-
Templates/Build/17_edit.tpl | 21 ++++++++++-
Templates/Build/17_menu.tpl | 21 ++++++++++-
Templates/Build/18.tpl | 21 ++++++++++-
Templates/Build/18_create.tpl | 21 ++++++++++-
Templates/Build/19.tpl | 21 ++++++++++-
Templates/Build/19_train.tpl | 23 ++++++++++--
Templates/Build/2.tpl | 21 +++++++++--
Templates/Build/20.tpl | 21 ++++++++++-
Templates/Build/20_train.tpl | 21 ++++++++++-
Templates/Build/21.tpl | 21 ++++++++++-
Templates/Build/22.tpl | 21 ++++++++++-
Templates/Build/22_1.tpl | 21 ++++++++++-
Templates/Build/22_2.tpl | 21 ++++++++++-
Templates/Build/22_3.tpl | 21 ++++++++++-
Templates/Build/22_4.tpl | 21 ++++++++++-
Templates/Build/22_5.tpl | 21 ++++++++++-
Templates/Build/23.tpl | 21 ++++++++++-
Templates/Build/24.tpl | 21 ++++++++++-
Templates/Build/24_1.tpl | 21 ++++++++++-
Templates/Build/24_2.tpl | 21 ++++++++++-
Templates/Build/25.tpl | 21 ++++++++++-
Templates/Build/25_2.tpl | 21 ++++++++++-
Templates/Build/25_3.tpl | 21 ++++++++++-
Templates/Build/25_4.tpl | 21 ++++++++++-
Templates/Build/25_create.tpl | 21 ++++++++++-
Templates/Build/25_menu.tpl | 22 ++++++++++--
Templates/Build/25_progress.tpl | 21 ++++++++++-
Templates/Build/25_train.tpl | 23 ++++++++++--
Templates/Build/26.tpl | 35 ++++++++++++++-----
Templates/Build/26_2.tpl | 25 +++++++++++--
Templates/Build/26_3.tpl | 21 ++++++++++-
Templates/Build/26_4.tpl | 27 +++++++++++---
Templates/Build/26_create.tpl | 25 +++++++++++--
Templates/Build/26_menu.tpl | 21 ++++++++++-
Templates/Build/26_progress.tpl | 25 +++++++++++--
Templates/Build/26_train.tpl | 23 ++++++++++--
Templates/Build/27.tpl | 23 ++++++++++++
Templates/Build/27_1.tpl | 23 +++++++++++-
Templates/Build/27_2.tpl | 23 ++++++++++++
Templates/Build/27_3.tpl | 23 ++++++++++++
Templates/Build/27_menu.tpl | 23 ++++++++++++
Templates/Build/27_show.tpl | 20 +++++++++++
Templates/Build/28.tpl | 21 ++++++++++-
Templates/Build/29.tpl | 21 ++++++++++-
Templates/Build/29_train.tpl | 21 ++++++++++-
Templates/Build/3.tpl | 21 +++++++++--
Templates/Build/30.tpl | 21 ++++++++++-
Templates/Build/30_train.tpl | 21 ++++++++++-
Templates/Build/31.tpl | 21 ++++++++++-
Templates/Build/32.tpl | 21 ++++++++++-
Templates/Build/33.tpl | 21 ++++++++++-
Templates/Build/34.tpl | 19 +++++++++-
Templates/Build/35.tpl | 20 +++++++++--
Templates/Build/36.tpl | 21 ++++++++++-
Templates/Build/37.tpl | 27 +++++++++-----
Templates/Build/37_hero.tpl | 60 ++++++++++++++++++++++----------
Templates/Build/37_land.tpl | 23 ++++++++++--
Templates/Build/37_revive.tpl | 31 +++++++++++++----
Templates/Build/37_train.tpl | 30 +++++++++-------
Templates/Build/38.tpl | 21 ++++++++++-
Templates/Build/39.tpl | 21 ++++++++++-
Templates/Build/4.tpl | 21 +++++++++--
Templates/Build/41.tpl | 21 ++++++++++-
Templates/Build/42.tpl | 21 ++++++++++-
Templates/Build/42_train.tpl | 21 ++++++++++-
Templates/Build/5.tpl | 21 +++++++++--
Templates/Build/6.tpl | 19 +++++++++-
Templates/Build/7.tpl | 19 +++++++++-
Templates/Build/8.tpl | 19 +++++++++-
Templates/Build/9.tpl | 19 +++++++++-
Templates/Build/avaliable.tpl | 20 +++++++++++
Templates/Build/index.php | 19 +++++++---
Templates/Build/next.tpl | 21 ++++++++++-
Templates/Build/upgrade.tpl | 21 ++++++++++-
Templates/Build/ww.tpl | 21 ++++++++++-
Templates/Build/wwupgrade.tpl | 21 ++++++++++-
99 files changed, 1969 insertions(+), 176 deletions(-)
diff --git a/GameEngine/Data/hero_full.php b/GameEngine/Data/hero_full.php
index 6dd1ac58..4347438a 100755
--- a/GameEngine/Data/hero_full.php
+++ b/GameEngine/Data/hero_full.php
@@ -14,7 +14,7 @@
#################################################################################
$hero_levels = array(0 => 0, 100, 300, 600, 1000, 1500, 2100, 2800, 3600, 4500, 5500, 6600, 7800, 9100, 10500, 12000, 13600, 15300, 17100, 19000, 21000, 23100, 25300, 27600, 30000, 32500, 35100, 37800, 40600, 43500, 46500, 49600, 52800, 56100, 59500, 63000, 66600, 70300, 74100, 78000, 82000, 86100, 90300, 94600, 99000, 103500, 108100, 112800, 117600, 122500, 127500, 132600, 137800, 143100, 148500, 154000, 159600, 165300, 171100, 177000, 183000, 189100, 195300, 201600, 208000, 214500, 221100, 227800,
- 234600, 241500, 248500, 255600, 262800, 270100, 277500, 285000, 292600, 300300, 308100, 316000, 324000, 332100, 340300, 348600, 357000, 365500, 374100, 382800, 391600, 400500, 409500, 418600, 427800, 437100, 446500, 456000, 465600, 475300, 485100, 495000);
+ 234600, 241500, 248500, 255600, 262800, 270100, 277500, 285000, 292600, 300300, 308100, 316000, 324000, 332100, 340300, 348600, 357000, 365500, 374100, 382800, 391600, 400500, 409500, 418600, 427800, 437100, 446500, 456000, 465600, 475300, 485100, 495000, 495000);
//ROMAN UNITS
diff --git a/Templates/Build/1.tpl b/Templates/Build/1.tpl
index 7dcd2a7b..356c29a9 100644
--- a/Templates/Build/1.tpl
+++ b/Templates/Build/1.tpl
@@ -1,10 +1,27 @@
resarray[$field] ?? 0);
$buildingType = $village->resarray[$field . 't'] ?? 0;
@@ -14,7 +31,7 @@ $currentProd = $bid1[$currentLevel]['prod'] * SPEED;
$isMax = $building->isMax($buildingType, $id);
$maxLevel = ($village->capital == 1) ? 20 : 10;
-// calculează nivelul următor luând în calcul queue-urile
+// calculates the next level taking into account queues
$nextLevelRaw = $currentLevel + 1 + $loopsame + $doublebuild + $master;
$nextLevel = min($nextLevelRaw, $maxLevel);
$nextProd = $bid1[$nextLevel]['prod'] * SPEED;
diff --git a/Templates/Build/10.tpl b/Templates/Build/10.tpl
index c7e6188b..f1d4494d 100644
--- a/Templates/Build/10.tpl
+++ b/Templates/Build/10.tpl
@@ -1,6 +1,23 @@
resarray[$field] ?? 0);
$hasBlacksmith = $building->getTypeLevel(12) > 0;
diff --git a/Templates/Build/12_upgrades.tpl b/Templates/Build/12_upgrades.tpl
index 335218fd..000d8bc9 100644
--- a/Templates/Build/12_upgrades.tpl
+++ b/Templates/Build/12_upgrades.tpl
@@ -1,6 +1,23 @@
getABTech($village->wid);
$ABups = $technology->getABUpgrades('b');
@@ -26,7 +43,7 @@ $end = $session->tribe * 10 - 2;
$unitName = $technology->getUnitName($i);
$current = (int)$abdata['b'.$j];
- // câte upgrade-uri sunt deja în coadă pentru unitatea asta
+ //how many upgrades are already in the queue for this unit
$ups = 0;
foreach ($ABups as $up) {
if (in_array('b'.$j, $up)) $ups++;
@@ -64,7 +81,7 @@ $end = $session->tribe * 10 - 2;
$village->awood || $next['clay'] > $village->aclay || $next['iron'] > $village->airon || $next['crop'] > $village->acrop) {
if ($village->getProd('crop') > 0 || $village->acrop > $next['crop']) {
$time = $technology->calculateAvaliable(12, $next);
@@ -124,7 +141,7 @@ $end = $session->tribe * 10 - 2;
tribe - 1) * 10 + $ABUnit;
$unitName = $technology->getUnitName($unit);
$date = $generator->procMtime($black['timestamp']);
diff --git a/Templates/Build/13.tpl b/Templates/Build/13.tpl
index 02d873d8..b0581f66 100644
--- a/Templates/Build/13.tpl
+++ b/Templates/Build/13.tpl
@@ -1,6 +1,23 @@
resarray[$field]) ? (int)$village->resarray[$field] : 0;
diff --git a/Templates/Build/13_upgrades.tpl b/Templates/Build/13_upgrades.tpl
index 10d8f995..b4b981de 100644
--- a/Templates/Build/13_upgrades.tpl
+++ b/Templates/Build/13_upgrades.tpl
@@ -1,6 +1,23 @@
getABTech($village->wid);
$ABups = $technology->getABUpgrades('a');
@@ -26,7 +43,7 @@ $end = $session->tribe * 10 - 2;
$unitName = $technology->getUnitName($i);
$current = (int)$abdata['a'.$j];
- // câte upgrade-uri sunt deja în coadă pentru unitatea asta
+ // how many upgrades are already in the queue for this unit
$ups = 0;
foreach ($ABups as $up) {
if (in_array('a'.$j, $up)) $ups++;
diff --git a/Templates/Build/14.tpl b/Templates/Build/14.tpl
index b41ce62b..e34745d0 100644
--- a/Templates/Build/14.tpl
+++ b/Templates/Build/14.tpl
@@ -1,6 +1,23 @@
unitarray = $database->getUnit($village->wid, false);
diff --git a/Templates/Build/16_99.tpl b/Templates/Build/16_99.tpl
index 0e317ce9..af45f15b 100644
--- a/Templates/Build/16_99.tpl
+++ b/Templates/Build/16_99.tpl
@@ -1,6 +1,23 @@
goldclub) {
include 'Templates/Build/16.tpl';
diff --git a/Templates/Build/16_incomming.tpl b/Templates/Build/16_incomming.tpl
index 2eac8816..52b356f4 100644
--- a/Templates/Build/16_incomming.tpl
+++ b/Templates/Build/16_incomming.tpl
@@ -1,6 +1,23 @@
goldclub);
diff --git a/Templates/Build/16_troops.tpl b/Templates/Build/16_troops.tpl
index ee811cf3..de6d9f94 100644
--- a/Templates/Build/16_troops.tpl
+++ b/Templates/Build/16_troops.tpl
@@ -1,6 +1,23 @@
tribe;
$start = ($tribe - 1) * 10 + 1;
diff --git a/Templates/Build/16_walking.tpl b/Templates/Build/16_walking.tpl
index 506948c6..1082fed1 100644
--- a/Templates/Build/16_walking.tpl
+++ b/Templates/Build/16_walking.tpl
@@ -1,6 +1,23 @@
getMovement(3, $village->wid, 0);
?>
diff --git a/Templates/Build/17.tpl b/Templates/Build/17.tpl
index 7f844490..285d5c43 100644
--- a/Templates/Build/17.tpl
+++ b/Templates/Build/17.tpl
@@ -1,5 +1,24 @@
merchantAvail();
diff --git a/Templates/Build/17_1.tpl b/Templates/Build/17_1.tpl
index c2b9fb4f..b744ba27 100644
--- a/Templates/Build/17_1.tpl
+++ b/Templates/Build/17_1.tpl
@@ -1,5 +1,24 @@
'.NOT_ENOUGH_RESOURCES.'
';
elseif (isset($_GET['e2'])) echo ''.INVALID_OFFER.'
';
elseif (isset($_GET['e3'])) echo ''.NOT_ENOUGH_MERCHANTS.'
';
diff --git a/Templates/Build/17_2.tpl b/Templates/Build/17_2.tpl
index 42786bb9..192d7989 100644
--- a/Templates/Build/17_2.tpl
+++ b/Templates/Build/17_2.tpl
@@ -1,5 +1,24 @@
gold <= 2) {
@@ -26,7 +45,7 @@ $totalRes = $awood + $aclay + $airon + $acrop;
$maxstore = max(0, (int)$village->maxstore);
$maxcrop = max(0, (int)$village->maxcrop);
-// valori prefill din GET
+// PREFILL VALUE FROM GET
$r = [];
for ($i = 1; $i <= 4; $i++) {
$r[$i] = isset($_GET['r'.$i])? max(0, (int)$_GET['r'.$i]) : '';
diff --git a/Templates/Build/17_4.tpl b/Templates/Build/17_4.tpl
index 4f3cfd60..82a76648 100644
--- a/Templates/Build/17_4.tpl
+++ b/Templates/Build/17_4.tpl
@@ -1,5 +1,24 @@
goldclub == 1 && count($database->getProfileVillages($session->uid)) > 1)) {
diff --git a/Templates/Build/17_create.tpl b/Templates/Build/17_create.tpl
index 40d487ab..41a6df26 100644
--- a/Templates/Build/17_create.tpl
+++ b/Templates/Build/17_create.tpl
@@ -1,5 +1,24 @@
villages?? [];
diff --git a/Templates/Build/17_edit.tpl b/Templates/Build/17_edit.tpl
index 01f26d58..bd329d72 100644
--- a/Templates/Build/17_edit.tpl
+++ b/Templates/Build/17_edit.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/18_create.tpl b/Templates/Build/18_create.tpl
index 0209eb73..dbd80440 100644
--- a/Templates/Build/18_create.tpl
+++ b/Templates/Build/18_create.tpl
@@ -1,5 +1,24 @@
access == BANNED;
diff --git a/Templates/Build/19.tpl b/Templates/Build/19.tpl
index 4e7b55e4..806fe9b8 100644
--- a/Templates/Build/19.tpl
+++ b/Templates/Build/19.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/19_train.tpl b/Templates/Build/19_train.tpl
index cecb6e2d..fc769ce3 100644
--- a/Templates/Build/19_train.tpl
+++ b/Templates/Build/19_train.tpl
@@ -1,12 +1,31 @@
tribe;
$units = ($tribe !== 4) ? range(($tribe-1)*10+1, ($tribe-1)*10+4) : range(31, 40);
foreach ($units as $i) {
- // skip unități invalide
+ // SKIP INVALID UNITS
if ($tribe !== 4 && ($i == 4 || $i == 23 || $i == 24)) continue;
if (!($technology->getTech($i) || $i % 10 == 1)) continue;
diff --git a/Templates/Build/2.tpl b/Templates/Build/2.tpl
index 579425ab..1e575c21 100644
--- a/Templates/Build/2.tpl
+++ b/Templates/Build/2.tpl
@@ -1,10 +1,27 @@
resarray[$field] ?? 0);
$buildingType = $village->resarray[$field . 't'] ?? 0;
diff --git a/Templates/Build/20.tpl b/Templates/Build/20.tpl
index b38d9f1d..3d3d6375 100644
--- a/Templates/Build/20.tpl
+++ b/Templates/Build/20.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/20_train.tpl b/Templates/Build/20_train.tpl
index c1992ec6..57ec6e81 100644
--- a/Templates/Build/20_train.tpl
+++ b/Templates/Build/20_train.tpl
@@ -1,5 +1,24 @@
tribe;
diff --git a/Templates/Build/21.tpl b/Templates/Build/21.tpl
index 3e7569fb..73bb0a3e 100644
--- a/Templates/Build/21.tpl
+++ b/Templates/Build/21.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/22.tpl b/Templates/Build/22.tpl
index 3404e6b1..5620beed 100644
--- a/Templates/Build/22.tpl
+++ b/Templates/Build/22.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/22_1.tpl b/Templates/Build/22_1.tpl
index 83346b6c..0f56484a 100644
--- a/Templates/Build/22_1.tpl
+++ b/Templates/Build/22_1.tpl
@@ -1,5 +1,24 @@
grabAcademyRes();
diff --git a/Templates/Build/22_2.tpl b/Templates/Build/22_2.tpl
index b343413d..a31f3efe 100644
--- a/Templates/Build/22_2.tpl
+++ b/Templates/Build/22_2.tpl
@@ -1,5 +1,24 @@
grabAcademyRes();
diff --git a/Templates/Build/22_3.tpl b/Templates/Build/22_3.tpl
index b94e95c6..8448f88e 100644
--- a/Templates/Build/22_3.tpl
+++ b/Templates/Build/22_3.tpl
@@ -1,5 +1,24 @@
grabAcademyRes();
diff --git a/Templates/Build/22_4.tpl b/Templates/Build/22_4.tpl
index c2c31eaa..9078c3a1 100644
--- a/Templates/Build/22_4.tpl
+++ b/Templates/Build/22_4.tpl
@@ -1,5 +1,24 @@
grabAcademyRes();
diff --git a/Templates/Build/22_5.tpl b/Templates/Build/22_5.tpl
index f8cd54cd..541fbf7c 100644
--- a/Templates/Build/22_5.tpl
+++ b/Templates/Build/22_5.tpl
@@ -1,5 +1,24 @@
grabAcademyRes();
diff --git a/Templates/Build/23.tpl b/Templates/Build/23.tpl
index 3d218c4c..0d5634bd 100644
--- a/Templates/Build/23.tpl
+++ b/Templates/Build/23.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
?>
diff --git a/Templates/Build/24_1.tpl b/Templates/Build/24_1.tpl
index 81e15ac2..83aa3221 100644
--- a/Templates/Build/24_1.tpl
+++ b/Templates/Build/24_1.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/24_2.tpl b/Templates/Build/24_2.tpl
index 5bd78b9e..97c41c7b 100644
--- a/Templates/Build/24_2.tpl
+++ b/Templates/Build/24_2.tpl
@@ -1,5 +1,24 @@
getVillageField($village->wid, 'celebration');
diff --git a/Templates/Build/25.tpl b/Templates/Build/25.tpl
index 94eb9210..4cedfbc0 100644
--- a/Templates/Build/25.tpl
+++ b/Templates/Build/25.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/25_2.tpl b/Templates/Build/25_2.tpl
index 9e311d41..cc2895b6 100644
--- a/Templates/Build/25_2.tpl
+++ b/Templates/Build/25_2.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/25_3.tpl b/Templates/Build/25_3.tpl
index 09ee3cff..4981e323 100644
--- a/Templates/Build/25_3.tpl
+++ b/Templates/Build/25_3.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/25_4.tpl b/Templates/Build/25_4.tpl
index dcf30cfc..21531824 100644
--- a/Templates/Build/25_4.tpl
+++ b/Templates/Build/25_4.tpl
@@ -1,5 +1,24 @@
resarray['f'.$id];
diff --git a/Templates/Build/25_create.tpl b/Templates/Build/25_create.tpl
index 1b742b5e..5379fd7a 100644
--- a/Templates/Build/25_create.tpl
+++ b/Templates/Build/25_create.tpl
@@ -1,5 +1,24 @@
diff --git a/Templates/Build/25_progress.tpl b/Templates/Build/25_progress.tpl
index d5bc893e..13aded21 100644
--- a/Templates/Build/25_progress.tpl
+++ b/Templates/Build/25_progress.tpl
@@ -1,5 +1,24 @@
getTrainingList(4);
diff --git a/Templates/Build/25_train.tpl b/Templates/Build/25_train.tpl
index 41152b1a..fb6384c2 100644
--- a/Templates/Build/25_train.tpl
+++ b/Templates/Build/25_train.tpl
@@ -1,10 +1,27 @@
getAvailableExpansionTraining();
+$slots = $database->getAvailableExpansionTraining();
- if ($slots['settlers'] + $slots['chiefs']>0) { ?>
+if ($slots['settlers'] + $slots['chiefs']>0) { ?>