/*
|--------------------------------------------------------------------------
| FIX List
|--------------------------------------------------------------------------
|
| 1. Hero Attribute Points
| - When adding attribute points to the hero, the page currently refreshes
| after every click on the "+" button.
| - Implement a faster allocation method (AJAX or similar) so multiple
| points can be assigned without a full page refresh.
| - The implementation must remain secure and not be exploitable
| (validate requests server-side, prevent double submissions,
| verify available points, etc.).
|
| 2. Hero Equipment Restrictions (Original Travian Behavior)
| - Prevent equipping or unequipping hero items while the hero is:
| • On an adventure.
| • Attacking (alone or with troops).
| • Away as reinforcements.
|
| 3. Oasis Navigation
| - When opening an oasis (37_land.tpl), the 37_t4nav.tpl navigation
| disappears.
| - Include the navigation menu on the oasis page as well.
|
| 4. Auction House Redesign
| - Redesign 37_auction.tpl to match the Merchant.png mockup.
| - Keep the existing auction functionality exactly as it is.
| - Only improve the UI/UX.
| - You may crop and reuse graphics from Merchant.png.
| - Add Gold ⇄ Silver exchange functionality.
|
| 5. Hero Item Bonuses (Highest Priority)
| - Verify that hero equipment bonuses are applied correctly.
| - Example:
| • Helmet of the Ruler should reduce Barracks training time by 20%.
| • Currently, training time remains unchanged whether the helmet
| is equipped or not.
| - Also verify:
| • Stable training speed bonuses.
| • Boots bonuses.
| • Any other related hero equipment effects.
|
| 6. Adventures Page Redesign
| - Redesign 37_adventures.tpl to match the Adventure.png mockup.
| - Keep the "Expires in" column intact.
|
*/
Add (Admin Panel) : Multi-account detection, Push protection, Heatmap, Gold Shop (redem codes), Blacklist user names and Quest Editor + fix some php notice
Fix quest_core for mission 33,36, train 2 units, etc (NEW TRIBE)
There are some temporary bugs that will be fixed in next commit (pagination for new heatmap, quest reward)
NEW TRIBES ENHANCEMENT (Huns, Egipteans, Spartans & Vikings) #327
Please be advised, is not fully tested so if you activate on install maybe is not fully working
sendMessage, massmessage and sysmessage are POSTed to directly, bypassing
admin.php's central csrf_verify(). Add csrf_verify() (after the admin access
check, via the shared GameEngine/Admin/csrf.php) and csrf_field() in their
forms (Newmessage.tpl, massmessage.tpl, sysmessage.tpl; the mass/sys templates
have both a prepare and an execute form).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
editAli, delAli, medals, delallymedal, delallymedalbyaid, delallymedalbyweek
and deletemedalbyweek are POSTed to directly, bypassing admin.php's central
csrf_verify(). Add csrf_verify() (after the admin access check, via the shared
GameEngine/Admin/csrf.php) and csrf_field() in their forms (playermedals.tpl,
editAli.tpl, delAli.tpl, delmedal.tpl, allymedals.tpl, delallymedal.tpl).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
The alliance/editAli/delAli pages are linked all over the admin panel
(?p=alliance&aid=, ?p=editAli, ?p=delAli) but were never in
admin_validated_page()'s whitelist, so admin.php fell back to search.tpl and
the pages never showed. Add them to the whitelist plus switch cases for the
breadcrumb (the templates resolve $aid/$alidata themselves from $_GET, like
editSitter/editPassword).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
editVillageOwner, renameVillage, editBuildings and editResources are POSTed
to directly, bypassing admin.php's central csrf_verify(). Add csrf_verify()
(after the admin access check, via the shared GameEngine/Admin/csrf.php) and
csrf_field() in their forms (editVillage.tpl, village.tpl, editResources.tpl).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
addTroops and addABTroops are POSTed to directly, bypassing admin.php's
central csrf_verify(). Add csrf_verify() (after the admin access check, via
the shared GameEngine/Admin/csrf.php) and csrf_field() in their forms.
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Add an admin-controlled debug mode that captures PHP errors of all
players into var/log/debug-players.log, to hunt remaining PHP 8.3 bugs
from real play sessions. Fully transparent to players: no redirect, no
gameplay change, errors are never displayed.
- DB: new debug_log table (one row), mirroring the maintenance pattern.
- Database: getDebugMode()/setDebugMode()/setDebugSettings(), defensive
when the table is absent (no blank page).
- Session: register a custom error + shutdown handler when enabled; the
handler runs even when php.ini error_reporting masks warnings/notices,
so capture is complete without a Docker rebuild. Auto-disables after a
configurable window.
- DebugErrorLogger: size-capped file with a single .log.1 rotation,
honours the @ operator, never throws.
- Admin: new "Debug Error Log" page (levels, size cap, auto-off, on-page
viewer, clear, download) + debugLog action mod.
- Menu: admin-only quick on/off widget (TZ_DEBUG_ON/OFF, EN/FR/RO).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>