Add Translation to Admin Panel

Add Translation to Admin Panel
This commit is contained in:
Catalin Novgorodschi
2026-07-26 07:58:41 +03:00
parent a23b9875a0
commit f1854c1559
97 changed files with 3938 additions and 1236 deletions
+4 -4
View File
@@ -11,9 +11,9 @@
?> ?>
<div style="margin-top: 50px;"> <div style="margin-top: 50px;">
<center> <center>
<h1>404 - File not found</h1> <h1><?php echo ADM_404_FILE_NOT_FOUND; ?></h1>
<img src="../../<?php echo GP_LOCATE; ?>img/misc/404.gif" title="Not Found" alt="Not Found"><br /> <img src="../../<?php echo GP_LOCATE; ?>img/misc/404.gif" title="<?php echo ADM_NOT_FOUND; ?>" alt="<?php echo ADM_NOT_FOUND; ?>"><br />
<p>We looked 404 times already but can't find anything, Not even an X marking the spot.</p> <p><?php echo ADM_WE_LOOKED_404_TIMES_ALREADY_BUT_CAN_T_FIND_A; ?></p>
<p>This system is not complete yet. So the page probably does not exist.</p><br> <p><?php echo ADM_THIS_SYSTEM_IS_NOT_COMPLETE_YET_SO_THE_PAGE; ?></p><br>
</center> </center>
</div> </div>
+9 -10
View File
@@ -49,8 +49,8 @@ $user = $database->getUserArray($id,1);
<div class="msg-card"> <div class="msg-card">
<div class="msg-head"> <div class="msg-head">
<h4>New Message</h4> <h4><?php echo ADM_NEW_MESSAGE; ?></h4>
<div>to <a href="admin.php?p=player&uid=<?php echo $user['id']; ?>"><?php echo htmlspecialchars($user['username']); ?></a></div> <div><?php echo ADM_TO; ?><a href="admin.php?p=player&uid=<?php echo $user['id']; ?>"><?php echo htmlspecialchars($user['username']); ?></a></div>
</div> </div>
<form method="post" action="../GameEngine/Admin/Mods/sendMessage.php" name="msg"> <form method="post" action="../GameEngine/Admin/Mods/sendMessage.php" name="msg">
@@ -59,12 +59,12 @@ $user = $database->getUserArray($id,1);
<input type="hidden" name="uid" value="<?php echo $id; ?>"> <input type="hidden" name="uid" value="<?php echo $id; ?>">
<div class="msg-row"> <div class="msg-row">
<div class="msg-label">Recipient</div> <div class="msg-label"><?php echo ADM_RECIPIENT; ?></div>
<div><strong style="color:#0f172a"><?php echo htmlspecialchars($user['username']); ?></strong> (UID <?php echo $id; ?>)</div> <div><strong style="color:#0f172a"><?php echo htmlspecialchars($user['username']); ?></strong> (UID <?php echo $id; ?>)</div>
</div> </div>
<div class="msg-row"> <div class="msg-row">
<div class="msg-label">Subject</div> <div class="msg-label"><?php echo ADM_SUBJECT_2; ?></div>
<input class="msg-input" type="text" name="topic" maxlength="35" value="Message From Admin" required> <input class="msg-input" type="text" name="topic" maxlength="35" value="Message From Admin" required>
</div> </div>
@@ -74,13 +74,13 @@ $user = $database->getUserArray($id,1);
</div> </div>
<div class="msg-row" style="align-items:start"> <div class="msg-row" style="align-items:start">
<div class="msg-label" style="padding-top:8px">Message</div> <div class="msg-label" style="padding-top:8px"><?php echo ADM_MESSAGE; ?></div>
<textarea class="msg-text" name="message" required placeholder="Write your message here..."></textarea> <textarea class="msg-text" name="message" required placeholder="<?php echo ADM_WRITE_YOUR_MESSAGE_HERE; ?>"></textarea>
</div> </div>
<div class="msg-actions"> <div class="msg-actions">
<a href="javascript:history.go(-1)" class="btn-ghost">Cancel</a> <a href="javascript:history.go(-1)" class="btn-ghost"><?php echo ADM_CANCEL; ?></a>
<button type="submit" name="s1" class="btn-primary">Send Message</button> <button type="submit" name="s1" class="btn-primary"><?php echo ADM_SEND_MESSAGE; ?></button>
</div> </div>
</div> </div>
</form> </form>
@@ -88,7 +88,6 @@ $user = $database->getUserArray($id,1);
</div> </div>
<?php } else { ?> <?php } else { ?>
<div style="font-family:system-ui;padding:30px;text-align:center;color:#64748b"> <div style="font-family:system-ui;padding:30px;text-align:center;color:#64748b"><?php echo ADM_PLAYER_NOT_FOUND; ?><a href="javascript:history.go(-1)" style="color:#2563eb"><?php echo ADM_GO_BACK; ?></a>
Player not found. <a href="javascript:history.go(-1)" style="color:#2563eb">Go Back</a>
</div> </div>
<?php } ?> <?php } ?>
+3 -5
View File
@@ -62,7 +62,7 @@ if(isset($id)){
<div class="ab-grid"> <div class="ab-grid">
<div class="ab-row header"> <div class="ab-row header">
<div></div><div>Troop</div><div style="text-align:center">Armoury</div><div style="text-align:center">Blacksmith</div> <div></div><div><?php echo ADM_TROOP; ?></div><div style="text-align:center"><?php echo ADM_ARMOURY; ?></div><div style="text-align:center"><?php echo ADM_BLACKSMITH; ?></div>
</div> </div>
<?php for($i=1;$i<9;$i++){ ?> <?php for($i=1;$i<9;$i++){ ?>
<div class="ab-row"> <div class="ab-row">
@@ -76,11 +76,9 @@ if(isset($id)){
<div class="ab-foot"> <div class="ab-foot">
<button type="button" class="btn btn-back" onclick="location.href='admin.php?p=village&did=<?=(int)($_GET['did'] ?? 0)?>'"> <button type="button" class="btn btn-back" onclick="location.href='admin.php?p=village&did=<?=(int)($_GET['did'] ?? 0)?>'">
<svg viewBox="0 0 24 24"><path d="M19 12H5M12 19l-7-7 7-7"/></svg>Back <svg viewBox="0 0 24 24"><path d="M19 12H5M12 19l-7-7 7-7"/></svg><?php echo ADM_BACK_3; ?></button>
</button>
<button type="submit" name="save" class="btn btn-save"> <button type="submit" name="save" class="btn btn-save">
<svg viewBox="0 0 24 24"><path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/><polyline points="17 21 17 13 7 13 7 21"/></svg>Save <svg viewBox="0 0 24 24"><path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/><polyline points="17 21 17 13 7 13 7 21"/></svg><?php echo ADM_SAVE_3; ?></button>
</button>
</div> </div>
</div> </div>
+3 -5
View File
@@ -72,7 +72,7 @@ if(isset($id)){
<div class="troop-name"><?=$unarray[$uid]?></div> <div class="troop-name"><?=$unarray[$uid]?></div>
<div class="troop-input"> <div class="troop-input">
<input name="u<?=$uid?>" id="u<?=$uid?>" value="<?=$current?>" maxlength="10" type="number" min="0"> <input name="u<?=$uid?>" id="u<?=$uid?>" value="<?=$current?>" maxlength="10" type="number" min="0">
<div class="troop-current">Now: <b><?=number_format($current)?></b></div> <div class="troop-current"><?php echo ADM_NOW; ?><b><?=number_format($current)?></b></div>
</div> </div>
</div> </div>
<?php } ?> <?php } ?>
@@ -80,11 +80,9 @@ if(isset($id)){
<div class="addtroops-foot"> <div class="addtroops-foot">
<button type="button" class="btn btn-back" onclick="location.href='admin.php?p=village&did=<?=(int)($_GET['did'] ?? 0)?>'"> <button type="button" class="btn btn-back" onclick="location.href='admin.php?p=village&did=<?=(int)($_GET['did'] ?? 0)?>'">
<svg viewBox="0 0 24 24"><path d="M19 12H5M12 19l-7-7 7-7"/></svg>Back <svg viewBox="0 0 24 24"><path d="M19 12H5M12 19l-7-7 7-7"/></svg><?php echo ADM_BACK_3; ?></button>
</button>
<button type="submit" name="save" class="btn btn-save"> <button type="submit" name="save" class="btn btn-save">
<svg viewBox="0 0 24 24"><path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/><polyline points="17 21 17 13 7 13 7 21"/><polyline points="7 3 7 8 15 8"/></svg>Save <svg viewBox="0 0 24 24"><path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/><polyline points="17 21 17 13 7 13 7 21"/><polyline points="7 3 7 8 15 8"/></svg><?php echo ADM_SAVE_3; ?></button>
</button>
</div> </div>
</div> </div>
+14 -15
View File
@@ -96,12 +96,12 @@ elseif(isset($_GET['g']) && $_GET['g']=='OK'){
</style> </style>
<div class="add-wrap"> <div class="add-wrap">
<div class="add-head"><h2>👤 Create Users</h2></div> <div class="add-head"><h2><?php echo ADM_CREATE_USERS; ?></h2></div>
<div class="add-card"> <div class="add-card">
<div class="add-top"> <div class="add-top">
<div class="warn-red">Submitting this form will create new Users and/or Villages on your server!</div> <div class="warn-red"><?php echo ADM_SUBMITTING_THIS_FORM_WILL_CREATE_NEW_USERS_A; ?></div>
<div class="warn-blue">Includes resources, main building, rally point, warehouse, granary, wall, market, residence, troops (for hero level-up), and one cranny.</div> <div class="warn-blue"><?php echo ADM_INCLUDES_RESOURCES_MAIN_BUILDING_RALLY_POINT; ?></div>
</div> </div>
<form action="../GameEngine/Admin/Mods/addUsers.php" method="POST" class="add-form"> <form action="../GameEngine/Admin/Mods/addUsers.php" method="POST" class="add-form">
@@ -112,38 +112,37 @@ elseif(isset($_GET['g']) && $_GET['g']=='OK'){
<?php if($successMsg){?><div class="alert alert-ok"> <?php echo $successMsg;?></div><?php }?> <?php if($successMsg){?><div class="alert alert-ok"> <?php echo $successMsg;?></div><?php }?>
<div class="mode-box"> <div class="mode-box">
<label><input type="radio" name="mode" value="many_accounts" <?php echo $mode=='many_accounts'?'checked':'';?>><span>Many accounts (1 village)</span></label> <label><input type="radio" name="mode" value="many_accounts" <?php echo $mode=='many_accounts'?'checked':'';?>><span><?php echo ADM_MANY_ACCOUNTS_1_VILLAGE; ?></span></label>
<label><input type="radio" name="mode" value="single_with_villages" <?php echo $mode=='single_with_villages'?'checked':'';?>><span>1 account (many villages)</span></label> <label><input type="radio" name="mode" value="single_with_villages" <?php echo $mode=='single_with_villages'?'checked':'';?>><span><?php echo ADM_1_ACCOUNT_MANY_VILLAGES; ?></span></label>
</div> </div>
<div class="examples"> <div class="examples">
<b>Base Name</b> 4-20 characters. Ex: Farm | 5 → Farm1..Farm5. Single ex: FarmLord | 5 villages.<br> <b><?php echo ADM_BASE_NAME; ?></b><?php echo ADM_4_20_CHARACTERS_EX_FARM_5_FARM1_FARM5_SINGLE; ?><br>
<b>Warning:</b> large values may freeze the server! <b><?php echo ADM_WARNING_2; ?></b><?php echo ADM_LARGE_VALUES_MAY_FREEZE_THE_SERVER; ?></div>
</div>
<div class="row"> <div class="row">
<label>Base Name</label> <label><?php echo ADM_BASE_NAME; ?></label>
<input type="text" name="users_base_name" value="<?php echo htmlspecialchars($baseName);?>" maxlength="20"> <input type="text" name="users_base_name" value="<?php echo htmlspecialchars($baseName);?>" maxlength="20">
</div> </div>
<div class="row" id="accRow"> <div class="row" id="accRow">
<label>How many accounts</label> <label><?php echo ADM_HOW_MANY_ACCOUNTS; ?></label>
<input type="text" name="users_amount" value="<?php echo htmlspecialchars($amount);?>" maxlength="4"> <input type="text" name="users_amount" value="<?php echo htmlspecialchars($amount);?>" maxlength="4">
</div> </div>
<div class="hint">1 - 200</div> <div class="hint">1 - 200</div>
<div class="row" id="vilRow"> <div class="row" id="vilRow">
<label>How many villages</label> <label><?php echo ADM_HOW_MANY_VILLAGES; ?></label>
<input type="text" name="villages_amount" value="<?php echo htmlspecialchars($villages);?>" maxlength="4"> <input type="text" name="villages_amount" value="<?php echo htmlspecialchars($villages);?>" maxlength="4">
</div> </div>
<div class="hint">1 - 200 (single only)</div> <div class="hint"><?php echo ADM_1_200_SINGLE_ONLY; ?></div>
<div class="check"> <div class="check">
<label><input type="checkbox" name="users_protection" checked> Enable beginner protection</label> <label><input type="checkbox" name="users_protection" checked><?php echo ADM_ENABLE_BEGINNER_PROTECTION; ?></label>
</div> </div>
<div class="tribe-wrap"> <div class="tribe-wrap">
<div class="tribe-title">Tribe</div> <div class="tribe-title"><?php echo ADM_TRIBE; ?></div>
<div class="tribe-grid"> <div class="tribe-grid">
<label><input type="radio" name="tribe" value="0" checked><span class="tribe-icon">🎲</span><span class="tribe-text"><?php echo RANDOM;?></span></label> <label><input type="radio" name="tribe" value="0" checked><span class="tribe-icon">🎲</span><span class="tribe-text"><?php echo RANDOM;?></span></label>
<label><input type="radio" name="tribe" value="1"><span class="tribe-icon">🏛</span><span class="tribe-text"><?php echo TRIBE1;?></span></label> <label><input type="radio" name="tribe" value="1"><span class="tribe-icon">🏛</span><span class="tribe-text"><?php echo TRIBE1;?></span></label>
@@ -156,7 +155,7 @@ elseif(isset($_GET['g']) && $_GET['g']=='OK'){
</div> </div>
</div> </div>
<div class="submit"><button type="submit">+ Create</button></div> <div class="submit"><button type="submit"><?php echo ADM_CREATE_2; ?></button></div>
</form> </form>
</div> </div>
</div> </div>
+3 -3
View File
@@ -62,12 +62,12 @@
<input name="uid" type="hidden" value="<?php echo $user['id'];?>"> <input name="uid" type="hidden" value="<?php echo $user['id'];?>">
<table class="punish-box"> <table class="punish-box">
<thead> <thead>
<tr><th>Add Village</th></tr> <tr><th><?php echo ADM_ADD_VILLAGE; ?></th></tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td style="padding-bottom:4px;border-bottom:0"> <td style="padding-bottom:4px;border-bottom:0">
<span class="addv-label">Coordinates (X|Y)</span> <span class="addv-label"><?php echo ADM_COORDINATES_X_Y; ?></span>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -89,7 +89,7 @@
<tr> <tr>
<td style="padding-top:8px"> <td style="padding-top:8px">
<div class="punish-row" style="justify-content:center"> <div class="punish-row" style="justify-content:center">
<button type="submit" class="btn-add" <?php if($_SESSION['access'] != ADMIN){ echo 'disabled'; } ?>>ADD VILLAGE</button> <button type="submit" class="btn-add" <?php if($_SESSION['access'] != ADMIN){ echo 'disabled'; } ?>><?php echo ADM_ADD_VILLAGE_2; ?></button>
</div> </div>
</td> </td>
</tr> </tr>
+8 -8
View File
@@ -145,7 +145,7 @@ function logCategory($entry) {
?> ?>
<div class="log-wrap"> <div class="log-wrap">
<div class="log-head"> <div class="log-head">
<h2>📋 Unified Admin Log last 300 actions</h2> <h2><?php echo ADM_UNIFIED_ADMIN_LOG_LAST_300_ACTIONS; ?></h2>
</div> </div>
<div class="log-filters" id="logFilters"> <div class="log-filters" id="logFilters">
@@ -170,11 +170,11 @@ function logCategory($entry) {
<table class="logTable" id="logTable"> <table class="logTable" id="logTable">
<thead> <thead>
<tr> <tr>
<th width="50">ID</th> <th width="50"><?php echo ADM_ID; ?></th>
<th width="120">Admin</th> <th width="120"><?php echo ADMIN_ADMIN; ?></th>
<th width="100">Categorie</th> <th width="100"><?php echo ADM_CATEGORIE; ?></th>
<th>Detalii</th> <th><?php echo ADM_DETALII; ?></th>
<th width="140">Data</th> <th width="140"><?php echo ADM_DATA; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -202,9 +202,9 @@ foreach($paged as $e) {
</div> </div>
<?php $catQS = ($catFilter !== '' && $catFilter !== 'ALL') ? '&cat='.$catFilter : ''; ?> <?php $catQS = ($catFilter !== '' && $catFilter !== 'ALL') ? '&cat='.$catFilter : ''; ?>
<div class="log-page" style="text-align:center;margin:10px 0;font-size:11px"> <div class="log-page" style="text-align:center;margin:10px 0;font-size:11px">
<?php if($page>1){ ?><a href="admin.php?p=admin_log&pg=<?php echo $page-1;?><?php echo $catQS;?>">« Prev</a><?php } ?> <?php if($page>1){ ?><a href="admin.php?p=admin_log&pg=<?php echo $page-1;?><?php echo $catQS;?>"><?php echo ADM_PREV; ?></a><?php } ?>
<span class="cur"><?php echo $page;?> / <?php echo max(1,$totalPages);?></span> <span class="cur"><?php echo $page;?> / <?php echo max(1,$totalPages);?></span>
<?php if($page<$totalPages){ ?><a href="admin.php?p=admin_log&pg=<?php echo $page+1;?><?php echo $catQS;?>">Next »</a><?php } ?> <?php if($page<$totalPages){ ?><a href="admin.php?p=admin_log&pg=<?php echo $page+1;?><?php echo $catQS;?>"><?php echo ADM_NEXT; ?></a><?php } ?>
</div> </div>
</div> </div>
</div> </div>
+19 -19
View File
@@ -134,29 +134,29 @@ if($_GET['aid']) {
<div class="ali-head"> <div class="ali-head">
<h1><span class="tag"><?php echo htmlspecialchars($alidata['tag']); ?></span> <?php echo htmlspecialchars($alidata['name']); ?></h1> <h1><span class="tag"><?php echo htmlspecialchars($alidata['tag']); ?></span> <?php echo htmlspecialchars($alidata['name']); ?></h1>
<div class="stats"> <div class="stats">
<div>👑 Founder: <b><a href="?p=player&uid=<?php echo $alidata['leader']; ?>"><?php echo htmlspecialchars($founder); ?></a></b></div> <div><?php echo ADM_FOUNDER; ?><b><a href="?p=player&uid=<?php echo $alidata['leader']; ?>"><?php echo htmlspecialchars($founder); ?></a></b></div>
<div>👥 Members: <b><?php echo count($aliusers); ?>/<?php echo $maxMembers; ?></b></div> <div><?php echo ADM_MEMBERS; ?><b><?php echo count($aliusers); ?>/<?php echo $maxMembers; ?></b></div>
<div>🏆 Points: <b><?php echo number_format($totalpop); ?></b></div> <div><?php echo ADM_POINTS; ?><b><?php echo number_format($totalpop); ?></b></div>
</div> </div>
</div> </div>
<!-- ALLIANCE DETAILS --> <!-- ALLIANCE DETAILS -->
<div class="card"> <div class="card">
<h3>📋 Alliance Details</h3> <h3><?php echo ADM_ALLIANCE_DETAILS; ?></h3>
<div class="body"> <div class="body">
<table class="info-list"> <table class="info-list">
<tr><th>Tag</th><td><?php echo htmlspecialchars($alidata['tag']); ?></td></tr> <tr><th><?php echo ADM_TAG; ?></th><td><?php echo htmlspecialchars($alidata['tag']); ?></td></tr>
<tr><th>Name</th><td><?php echo htmlspecialchars($alidata['name']); ?></td></tr> <tr><th><?php echo ADM_NAME; ?></th><td><?php echo htmlspecialchars($alidata['name']); ?></td></tr>
<tr><th>Rank</th><td><b>#<?php echo $allianceRank; ?></b></td></tr> <tr><th><?php echo ADM_RANK; ?></th><td><b>#<?php echo $allianceRank; ?></b></td></tr>
<tr><th>Points</th><td><?php echo number_format($totalpop); ?></td></tr> <tr><th><?php echo ADM_POINTS_2; ?></th><td><?php echo number_format($totalpop); ?></td></tr>
<tr><th>Capacity</th><td> <tr><th><?php echo ADM_CAPACITY; ?></th><td>
<?php $now=count($aliusers); $cls=$now>=$maxMembers?'full':'ok'; ?> <?php $now=count($aliusers); $cls=$now>=$maxMembers?'full':'ok'; ?>
<span class="badge-cap <?php echo $cls; ?>"><?php echo "$now/$maxMembers"; ?></span> <span class="badge-cap <?php echo $cls; ?>"><?php echo "$now/$maxMembers"; ?></span>
</td></tr> </td></tr>
</table> </table>
<div style="margin-top:12px;"> <div style="margin-top:12px;">
<b style="font-size:12px;">🛡 Alliance Positions</b> <b style="font-size:12px;"><?php echo ADM_ALLIANCE_POSITIONS; ?></b>
<div class="positions"> <div class="positions">
<?php <?php
$sql = "SELECT * FROM ".TB_PREFIX."ali_permission WHERE alliance = $aid"; $sql = "SELECT * FROM ".TB_PREFIX."ali_permission WHERE alliance = $aid";
@@ -175,21 +175,21 @@ if($_GET['aid']) {
</div> </div>
<div class="btn-row"> <div class="btn-row">
<a class="btn edit" href="?p=editAli&aid=<?php echo $alidata['id'];?>"> Edit Alliance</a> <a class="btn edit" href="?p=editAli&aid=<?php echo $alidata['id'];?>"><?php echo ADM_EDIT_ALLIANCE; ?></a>
<a class="btn del" href="?p=delAli&aid=<?php echo $alidata['id'];?>" onclick="return confirm('Delete alliance?')">🗑 Delete</a> <a class="btn del" href="?p=delAli&aid=<?php echo $alidata['id'];?>" onclick="return confirm('Delete alliance?')"><?php echo ADM_DELETE_2; ?></a>
</div> </div>
</div> </div>
</div> </div>
<!-- ALLIANCE DESCRIPTION - ACUM SUB DETAILS --> <!-- ALLIANCE DESCRIPTION - ACUM SUB DETAILS -->
<div class="card"> <div class="card">
<h3>📖 Alliance Description</h3> <h3><?php echo ADM_ALLIANCE_DESCRIPTION; ?></h3>
<div class="body"><div class="desc-box" style="min-height:120px;"><?php echo nl2br(htmlspecialchars($alidata['desc'])); ?></div></div> <div class="body"><div class="desc-box" style="min-height:120px;"><?php echo nl2br(htmlspecialchars($alidata['desc'])); ?></div></div>
</div> </div>
<!-- ALLIANCE NOTICE - ACUM SUB DESCRIPTION --> <!-- ALLIANCE NOTICE - ACUM SUB DESCRIPTION -->
<div class="card"> <div class="card">
<h3>📢 Alliance Notice</h3> <h3><?php echo ADM_ALLIANCE_NOTICE; ?></h3>
<div class="body"><div class="desc-box"><?php echo nl2br(htmlspecialchars($alidata['notice'])); ?></div></div> <div class="body"><div class="desc-box"><?php echo nl2br(htmlspecialchars($alidata['notice'])); ?></div></div>
</div> </div>
@@ -198,7 +198,7 @@ if($_GET['aid']) {
<h3>👥 Members (<?php echo count($aliusers); ?>)</h3> <h3>👥 Members (<?php echo count($aliusers); ?>)</h3>
<div class="body" style="padding:0;"> <div class="body" style="padding:0;">
<table class="members-table"> <table class="members-table">
<thead><tr><th>#</th><th>Player</th><th>Population</th><th>Villages</th><th></th></tr></thead> <thead><tr><th>#</th><th><?php echo ADM_PLAYER_2; ?></th><th><?php echo ADM_POPULATION; ?></th><th><?php echo ADM_VILLAGES; ?></th><th></th></tr></thead>
<tbody> <tbody>
<?php <?php
$rank=0; $rank=0;
@@ -228,10 +228,10 @@ if($_GET['aid']) {
<!-- NEWS - FULL WIDTH --> <!-- NEWS - FULL WIDTH -->
<div class="card"> <div class="card">
<h3>📰 Alliance News</h3> <h3><?php echo ADM_ALLIANCE_NEWS; ?></h3>
<div class="body" style="padding:0;max-height:300px;overflow:auto;"> <div class="body" style="padding:0;max-height:300px;overflow:auto;">
<table class="mini-table"> <table class="mini-table">
<thead><tr><th>Event</th><th style="width:130px;">Time</th></tr></thead> <thead><tr><th><?php echo ADM_EVENT; ?></th><th style="width:130px;"><?php echo ADM_TIME; ?></th></tr></thead>
<tbody> <tbody>
<?php <?php
$sql = "SELECT * FROM ".TB_PREFIX."ali_log WHERE aid = $aid ORDER BY date DESC LIMIT 50"; $sql = "SELECT * FROM ".TB_PREFIX."ali_log WHERE aid = $aid ORDER BY date DESC LIMIT 50";
@@ -250,10 +250,10 @@ if($_GET['aid']) {
<!-- DIPLOMACY - FULL WIDTH --> <!-- DIPLOMACY - FULL WIDTH -->
<div class="card"> <div class="card">
<h3>🤝 Diplomacy</h3> <h3><?php echo ADM_DIPLOMACY; ?></h3>
<div class="body" style="padding:0;"> <div class="body" style="padding:0;">
<table class="mini-table"> <table class="mini-table">
<thead><tr><th>Alliance</th><th>Type</th><th style="width:60px;">Status</th></tr></thead> <thead><tr><th><?php echo ADMIN_ALLIANCE; ?></th><th><?php echo ADM_TYPE; ?></th><th style="width:60px;"><?php echo ADM_STATUS; ?></th></tr></thead>
<tbody> <tbody>
<?php <?php
$sql = "SELECT * FROM ".TB_PREFIX."diplomacy WHERE alli1 = $aid OR alli2 = $aid ORDER BY accepted DESC"; $sql = "SELECT * FROM ".TB_PREFIX."diplomacy WHERE alli1 = $aid OR alli2 = $aid ORDER BY accepted DESC";
+6 -6
View File
@@ -42,12 +42,12 @@ $varmedal = $database->getProfileMedalAlly($_GET['aid']);
<table class="medal-table"> <table class="medal-table">
<thead> <thead>
<tr> <tr>
<th>Category</th><th>Rank</th><th>Week</th><th>Points</th><th>Medal</th><th style="width:32px"></th> <th><?php echo ADM_CATEGORY; ?></th><th><?php echo ADM_RANK; ?></th><th><?php echo ADM_WEEK; ?></th><th><?php echo ADM_POINTS_2; ?></th><th><?php echo ADM_MEDAL; ?></th><th style="width:32px"></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php if(sizeof($varmedal)==0){ ?> <?php if(sizeof($varmedal)==0){ ?>
<tr><td colspan="6" class="medal-empty">This alliance has no medals yet</td></tr> <tr><td colspan="6" class="medal-empty"><?php echo ADM_THIS_ALLIANCE_HAS_NO_MEDALS_YET; ?></td></tr>
<?php } else { <?php } else {
$i=0;$averagerank=0; $i=0;$averagerank=0;
foreach($varmedal as $medal){ foreach($varmedal as $medal){
@@ -66,7 +66,7 @@ $varmedal = $database->getProfileMedalAlly($_GET['aid']);
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="aid" value="<?=(int)($_GET['aid'] ?? 0)?>"> <input type="hidden" name="aid" value="<?=(int)($_GET['aid'] ?? 0)?>">
<input type="hidden" name="admid" value="<?=$_SESSION['id']?>"> <input type="hidden" name="admid" value="<?=$_SESSION['id']?>">
<button type="submit" name="medalid" value="<?=$medal['id']?>" class="medal-del" title="Delete"> <button type="submit" name="medalid" value="<?=$medal['id']?>" class="medal-del" title="<?php echo ADM_DELETE; ?>">
<svg viewBox="0 0 24 24"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" y1="11" x2="10" y2="17"/><line x1="14" y1="11" x2="14" y2="17"/></svg> <svg viewBox="0 0 24 24"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" y1="11" x2="10" y2="17"/><line x1="14" y1="11" x2="14" y2="17"/></svg>
</button> </button>
</form> </form>
@@ -76,16 +76,16 @@ $varmedal = $database->getProfileMedalAlly($_GET['aid']);
$average = $i>0 ? round($averagerank/$i,2) : 0; $average = $i>0 ? round($averagerank/$i,2) : 0;
?> ?>
<tr class="medal-avg"> <tr class="medal-avg">
<td>Average Rank</td> <td><?php echo ADM_AVERAGE_RANK; ?></td>
<td><?=$average?></td> <td><?=$average?></td>
<td></td><td></td> <td></td><td></td>
<td>Delete All</td> <td><?php echo ADM_DELETE_ALL; ?></td>
<td> <td>
<form action="../GameEngine/Admin/Mods/delallymedalbyaid.php" method="POST" style="margin:0"> <form action="../GameEngine/Admin/Mods/delallymedalbyaid.php" method="POST" style="margin:0">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="admid" value="<?=$_SESSION['id']?>"> <input type="hidden" name="admid" value="<?=$_SESSION['id']?>">
<input type="hidden" name="aid" value="<?=(int)($_GET['aid'] ?? 0)?>"> <input type="hidden" name="aid" value="<?=(int)($_GET['aid'] ?? 0)?>">
<button type="submit" class="medal-del" title="Delete All"> <button type="submit" class="medal-del" title="<?php echo ADM_DELETE_ALL; ?>">
<svg viewBox="0 0 24 24"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" y1="11" x2="10" y2="17"/><line x1="14" y1="11" x2="14" y2="17"/></svg> <svg viewBox="0 0 24 24"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" y1="11" x2="10" y2="17"/><line x1="14" y1="11" x2="14" y2="17"/></svg>
</button> </button>
</form> </form>
+6 -6
View File
@@ -49,11 +49,11 @@ $artifactInfo = $artifact ? Artifacts::getArtifactInfo($artifact) : null;
<tr> <tr>
<th class="del"></th> <th class="del"></th>
<th class="icon"></th> <th class="icon"></th>
<th>Name</th> <th><?php echo ADM_NAME; ?></th>
<th>Bonus</th> <th><?php echo ADM_BONUS; ?></th>
<th>Area of effect</th> <th><?php echo ADM_AREA_OF_EFFECT; ?></th>
<th>Time of conquer</th> <th><?php echo ADM_TIME_OF_CONQUER; ?></th>
<th>Time of activation</th> <th><?php echo ADM_TIME_OF_ACTIVATION; ?></th>
<?php if($artifactOfTheFool) echo '<th>Next activation</th>'; ?> <?php if($artifactOfTheFool) echo '<th>Next activation</th>'; ?>
</tr> </tr>
</thead> </thead>
@@ -74,7 +74,7 @@ $artifactInfo = $artifact ? Artifacts::getArtifactInfo($artifact) : null;
<?php if($village['owner'] != 3 && !empty($artifact)): ?> <?php if($village['owner'] != 3 && !empty($artifact)): ?>
<div class="artifact-foot"> <div class="artifact-foot">
<a href="admin.php?action=returnArtifact&artid=<?php echo $artifact['id']; ?>">Return to Natars</a> <a href="admin.php?action=returnArtifact&artid=<?php echo $artifact['id']; ?>"><?php echo ADM_RETURN_TO_NATARS; ?></a>
</div> </div>
<?php endif; ?> <?php endif; ?>
</div> </div>
+15 -15
View File
@@ -126,39 +126,39 @@ $historyCount = $banHistory ? mysqli_num_rows($banHistory) : 0;
<div class="ban-wrap"> <div class="ban-wrap">
<div class="ban-head"> <div class="ban-head">
<svg viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" fill="#c0392b"/><path d="M7 7l10 10M17 7L7 17" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> <svg viewBox="0 0 24 24" fill="none"><circle cx="12" cy="12" r="10" fill="#c0392b"/><path d="M7 7l10 10M17 7L7 17" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg>
<h2>Ban Management</h2> <h2><?php echo ADM_BAN_MANAGEMENT; ?></h2>
</div> </div>
<?php if($error){?><div class="alert error"><?php echo $error;?></div><?php }?> <?php if($error){?><div class="alert error"><?php echo $error;?></div><?php }?>
<?php if($success){?><div class="alert success"><?php echo $success;?></div><?php }?> <?php if($success){?><div class="alert success"><?php echo $success;?></div><?php }?>
<div class="ban-stats"> <div class="ban-stats">
<div class="stat"><div class="ico"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 12a5 5 0 100-10 5 5 0 000 10zM4 20c0-3.3 2.7-6 6-6h4c3.3 0 6 2.7 6 6v1H4v-1z"/></svg></div><div><div class="lbl">Active User Bans</div><div class="val"><?php echo count($bannedUsers);?></div></div></div> <div class="stat"><div class="ico"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 12a5 5 0 100-10 5 5 0 000 10zM4 20c0-3.3 2.7-6 6-6h4c3.3 0 6 2.7 6 6v1H4v-1z"/></svg></div><div><div class="lbl"><?php echo ADM_ACTIVE_USER_BANS; ?></div><div class="val"><?php echo count($bannedUsers);?></div></div></div>
<div class="stat"><div class="ico"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="12" r="10"/></svg></div><div><div class="lbl">Active IP Bans</div><div class="val"><?php echo count($bannedIps);?></div></div></div> <div class="stat"><div class="ico"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="12" r="10"/></svg></div><div><div class="lbl"><?php echo ADM_ACTIVE_IP_BANS; ?></div><div class="val"><?php echo count($bannedIps);?></div></div></div>
<div class="stat"><div class="ico"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg></div><div><div class="lbl">History (last 50)</div><div class="val"><?php echo $historyCount;?></div></div></div> <div class="stat"><div class="ico"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg></div><div><div class="lbl"><?php echo ADM_HISTORY_50; ?></div><div class="val"><?php echo $historyCount;?></div></div></div>
</div> </div>
<div class="ban-stack"> <div class="ban-stack">
<!-- 1. Add New Ban --> <!-- 1. Add New Ban -->
<div class="ban-card"> <div class="ban-card">
<h3><svg width="16" height="16" viewBox="0 0 24 24"><path d="M12 2L2 7v10l10 5 10-5V7L12 2z" fill="#c0392b"/></svg> Add New Ban</h3> <h3><svg width="16" height="16" viewBox="0 0 24 24"><path d="M12 2L2 7v10l10 5 10-5V7L12 2z" fill="#c0392b"/></svg><?php echo ADM_ADD_NEW_BAN; ?></h3>
<form method="post" class="ban-form"> <form method="post" class="ban-form">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="action" value="addBan"> <input type="hidden" name="action" value="addBan">
<div class="row"> <div class="row">
<input type="number" name="uid" placeholder="User ID" required> <input type="number" name="uid" placeholder="<?php echo ADM_USER_ID; ?>" required>
<select name="reason"><?php foreach(['Pushing','Cheat','Hack','Bug','Bad Name','Multi Account','Swearing'] as $r){ echo "<option>$r</option>"; }?></select> <select name="reason"><?php foreach(['Pushing','Cheat','Hack','Bug','Bad Name','Multi Account','Swearing'] as $r){ echo "<option>$r</option>"; }?></select>
</div> </div>
<div class="row two"> <div class="row two">
<select name="time"><?php foreach([1,2,5,10,12] as $h) echo "<option value='".($h*3600)."'>$h hour/s</option>"; foreach([1,2,5,10,30,50,90] as $d) echo "<option value='".($d*86400)."'>$d day/s</option>"; ?><option value="0">Forever</option></select> <select name="time"><?php foreach([1,2,5,10,12] as $h) echo "<option value='".($h*3600)."'>$h hour/s</option>"; foreach([1,2,5,10,30,50,90] as $d) echo "<option value='".($d*86400)."'>$d day/s</option>"; ?><option value="0"><?php echo ADM_FOREVER; ?></option></select>
<button type="submit">Ban User</button> <button type="submit"><?php echo ADM_BAN_USER; ?></button>
</div> </div>
</form> </form>
</div> </div>
<!-- 2. Active Bans --> <!-- 2. Active Bans -->
<div class="ban-card"> <div class="ban-card">
<h3><svg width="16" height="16" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9" fill="#e74c3c"/></svg> Active Bans <span class="badge-count"><?php echo count($bannedUsers);?></span></h3> <h3><svg width="16" height="16" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9" fill="#e74c3c"/></svg><?php echo ADM_ACTIVE_BANS; ?><span class="badge-count"><?php echo count($bannedUsers);?></span></h3>
<div class="ban-list"> <div class="ban-list">
<?php if($bannedUsers){ foreach($bannedUsers as $b){ $name = $database->getUserField($b['uid'],'username',0) ?: $b['name']; $end = $b['end'] ? date("d.m H:i",$b['end']) : '∞'; ?> <?php if($bannedUsers){ foreach($bannedUsers as $b){ $name = $database->getUserField($b['uid'],'username',0) ?: $b['name']; $end = $b['end'] ? date("d.m H:i",$b['end']) : '∞'; ?>
<div class="ban-item"> <div class="ban-item">
@@ -171,24 +171,24 @@ $historyCount = $banHistory ? mysqli_num_rows($banHistory) : 0;
<!-- 3. Ban IP Address --> <!-- 3. Ban IP Address -->
<div class="ban-card"> <div class="ban-card">
<h3><svg width="16" height="16" viewBox="0 0 24 24"><path d="M12 2L2 7v10l10 5 10-5V7L12 2z" fill="#c0392b"/></svg> Ban IP Address</h3> <h3><svg width="16" height="16" viewBox="0 0 24 24"><path d="M12 2L2 7v10l10 5 10-5V7L12 2z" fill="#c0392b"/></svg><?php echo ADM_BAN_IP_ADDRESS; ?></h3>
<form method="post" class="ban-form"> <form method="post" class="ban-form">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="action" value="addIpBan"> <input type="hidden" name="action" value="addIpBan">
<div class="row"> <div class="row">
<input type="text" name="ip" placeholder="IPv4 or IPv6" required> <input type="text" name="ip" placeholder="<?php echo ADM_IPV4_OR_IPV6; ?>" required>
<select name="reason"><?php foreach(['Pushing','Cheat','Hack','Bug','Bad Name','Multi Account','Swearing'] as $r){ echo "<option>$r</option>"; }?></select> <select name="reason"><?php foreach(['Pushing','Cheat','Hack','Bug','Bad Name','Multi Account','Swearing'] as $r){ echo "<option>$r</option>"; }?></select>
</div> </div>
<div class="row two"> <div class="row two">
<select name="time"><?php foreach([1,2,5,10,12] as $h) echo "<option value='".($h*3600)."'>$h hour/s</option>"; foreach([1,2,5,10,30,50,90] as $d) echo "<option value='".($d*86400)."'>$d day/s</option>"; ?><option value="0">Forever</option></select> <select name="time"><?php foreach([1,2,5,10,12] as $h) echo "<option value='".($h*3600)."'>$h hour/s</option>"; foreach([1,2,5,10,30,50,90] as $d) echo "<option value='".($d*86400)."'>$d day/s</option>"; ?><option value="0"><?php echo ADM_FOREVER; ?></option></select>
<button type="submit">Ban IP</button> <button type="submit"><?php echo ADM_BAN_IP; ?></button>
</div> </div>
</form> </form>
</div> </div>
<!-- 4. Active IP Bans --> <!-- 4. Active IP Bans -->
<div class="ban-card"> <div class="ban-card">
<h3><svg width="16" height="16" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9" fill="#e74c3c"/></svg> Active IP Bans <span class="badge-count"><?php echo count($bannedIps);?></span></h3> <h3><svg width="16" height="16" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9" fill="#e74c3c"/></svg><?php echo ADM_ACTIVE_IP_BANS; ?><span class="badge-count"><?php echo count($bannedIps);?></span></h3>
<div class="ban-list"> <div class="ban-list">
<?php if($bannedIps){ foreach($bannedIps as $b){ $end = $b['end'] ? date("d.m H:i",$b['end']) : '∞'; ?> <?php if($bannedIps){ foreach($bannedIps as $b){ $end = $b['end'] ? date("d.m H:i",$b['end']) : '∞'; ?>
<div class="ban-item"> <div class="ban-item">
@@ -201,7 +201,7 @@ $historyCount = $banHistory ? mysqli_num_rows($banHistory) : 0;
<!-- 5. Ban History --> <!-- 5. Ban History -->
<div class="ban-card"> <div class="ban-card">
<h3><svg width="16" height="16" viewBox="0 0 24 24"><path d="M12 5v7l4 2" stroke="#555" stroke-width="2" fill="none" stroke-linecap="round"/><circle cx="12" cy="12" r="9" stroke="#555" stroke-width="2" fill="none"/></svg> Ban History</h3> <h3><svg width="16" height="16" viewBox="0 0 24 24"><path d="M12 5v7l4 2" stroke="#555" stroke-width="2" fill="none" stroke-linecap="round"/><circle cx="12" cy="12" r="9" stroke="#555" stroke-width="2" fill="none"/></svg><?php echo ADM_BAN_HISTORY; ?></h3>
<div class="ban-list" style="max-height:300px"> <div class="ban-list" style="max-height:300px">
<?php if($banHistory && $historyCount>0){ while($h=mysqli_fetch_assoc($banHistory)){ $end = $h['end'] ? date("d.m H:i",$h['end']) : '∞'; ?> <?php if($banHistory && $historyCount>0){ while($h=mysqli_fetch_assoc($banHistory)){ $end = $h['end'] ? date("d.m H:i",$h['end']) : '∞'; ?>
<div class="ban-item" style="opacity:.8"> <div class="ban-item" style="opacity:.8">
+10 -15
View File
@@ -51,25 +51,20 @@ You have been banned due to a violation of the rules.
Your banning reason is <?php echo htmlspecialchars($reason, ENT_QUOTES); ?>. Your banning reason is <?php echo htmlspecialchars($reason, ENT_QUOTES); ?>.
<br> <br>
<br><br> <br><br><?php echo ADM_TO_ENSURE_THAT_YOU_WON_T_GET_BANNED_AGAIN_IN; ?><br><br>
To ensure that you won't get banned again in the future, you should read the rules carefully:
<br><br>
<center> <center>
<a class="rules" href="rules.php">» Game rules</a> <a class="rules" href="rules.php"><?php echo ADM_GAME_RULES; ?></a>
</center> </center>
<br><br><br> <br><br><br><?php echo ADM_TO_CONTINUE_PLAYING_CONTACT_THE_MULTIHUNTER; ?><br><br>
To continue playing contact the Multihunter and put things straight with him/her
<br><br>
<center> <center>
<a class="rules" href="nachrichten.php?t=1&id=5">» Write Message</a> <a class="rules" href="nachrichten.php?t=1&id=5"><?php echo ADM_WRITE_MESSAGE; ?></a>
</center> </br> </center> </br>
</br> Heed the following advice when writing your message: </br></br> </br><?php echo ADM_HEED_THE_FOLLOWING_ADVICE_WHEN_WRITING_YOUR; ?></br></br>
</br> ● There is always a reason for a ban. <u>Try to think about possible reasons for this ban</u> and put things straight with the Multihunter. </br> </br><?php echo ADM_THERE_IS_ALWAYS_A_REASON_FOR_A_BAN; ?><u><?php echo ADM_TRY_TO_THINK_ABOUT_POSSIBLE_REASONS_FOR_THIS; ?></u><?php echo ADM_AND_PUT_THINGS_STRAIGHT_WITH_THE_MULTIHUNTER; ?></br>
</br> ● Multihunters can review enormous amounts of information about accounts. <u>Stick to the truth</u> and do not make excuses to justify your violation of the rules. </br> </br><?php echo ADM_MULTIHUNTERS_CAN_REVIEW_ENORMOUS_AMOUNTS_OF; ?><u><?php echo ADM_STICK_TO_THE_TRUTH; ?></u><?php echo ADM_AND_DO_NOT_MAKE_EXCUSES_TO_JUSTIFY_YOUR_VIOL; ?></br>
</br> ● Be cooperative and insightful, this might reduce the punishment. </br> </br><?php echo ADM_BE_COOPERATIVE_AND_INSIGHTFUL_THIS_MIGHT_RED; ?></br>
</br> ● If the Multihunter does not answer immediately, then he/she is probably not online. The issue will not be resolved any faster by sending multiple messages, especially if he/she did not even read the first one yet. </br> </br><?php echo ADM_IF_THE_MULTIHUNTER_DOES_NOT_ANSWER_IMMEDIATE; ?></br>
</br> ● If you have really been banned unjustly, try to stay <u>calm and polite</u> while talking to the Multihunter and telling him/her about your point of view. </p> </br><?php echo ADM_IF_YOU_HAVE_REALLY_BEEN_BANNED_UNJUSTLY_TRY; ?><u><?php echo ADM_CALM_AND_POLITE; ?></u><?php echo ADM_WHILE_TALKING_TO_THE_MULTIHUNTER_AND_TELLING; ?></p>
+18 -26
View File
@@ -62,58 +62,50 @@ $typeLabel = [
</style> </style>
<div class="rb-wrap"> <div class="rb-wrap">
<h2>Registration <span>Blocklist</span></h2> <h2><?php echo ADM_REGISTRATION; ?><span><?php echo ADM_BLOCKLIST; ?></span></h2>
<p class="rb-intro"> <p class="rb-intro"><?php echo ADM_BLOCK_NEW_REGISTRATIONS_BY_A_SPECIFIC; ?><b><?php echo ADM_USERNAME_3; ?></b><?php echo ADM_A_SPECIFIC; ?><b><?php echo ADM_E_MAIL_ADDRESS_2; ?></b><?php echo ADM_OR_A_WHOLE; ?><b><?php echo ADM_E_MAIL_DOMAIN; ?></b><?php echo ADM_E_G_AN_OBSCENE_USERNAME_OR_THE_ENTIRE; ?><span class="rb-val">yahoo.com</span><?php echo ADM_DOMAIN_MATCHING_IS_EXACT_AND_CASE_INSENSITIV; ?></p>
Block new registrations by a specific <b>username</b>, a specific <b>e-mail
address</b>, or a whole <b>e-mail domain</b> (e.g. an obscene username, or the
entire <span class="rb-val">yahoo.com</span> domain). Matching is exact and
case-insensitive. Existing accounts are not affected &mdash; only new sign-ups.
</p>
<?php if ($msg !== ''): ?> <?php if ($msg !== ''): ?>
<div class="rb-msg"><?php echo e($msg); ?></div> <div class="rb-msg"><?php echo e($msg); ?></div>
<?php endif; ?> <?php endif; ?>
<div class="rb-card"> <div class="rb-card">
<h3>Add a block</h3> <h3><?php echo ADM_ADD_A_BLOCK; ?></h3>
<form method="post" action="../GameEngine/Admin/Mods/blockReg.php" class="rb-add"> <form method="post" action="../GameEngine/Admin/Mods/blockReg.php" class="rb-add">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="do" value="add"> <input type="hidden" name="do" value="add">
<div> <div>
<label>Type</label> <label><?php echo ADM_TYPE; ?></label>
<select name="type"> <select name="type">
<option value="<?php echo RegBlock::T_USERNAME; ?>">Username</option> <option value="<?php echo RegBlock::T_USERNAME; ?>"><?php echo ADM_USERNAME; ?></option>
<option value="<?php echo RegBlock::T_EMAIL; ?>">E-mail address</option> <option value="<?php echo RegBlock::T_EMAIL; ?>"><?php echo ADM_E_MAIL_ADDRESS; ?></option>
<option value="<?php echo RegBlock::T_DOMAIN; ?>">E-mail domain</option> <option value="<?php echo RegBlock::T_DOMAIN; ?>"><?php echo ADM_E_MAIL_DOMAIN_2; ?></option>
</select> </select>
</div> </div>
<div> <div>
<label>Value</label> <label><?php echo ADM_VALUE; ?></label>
<input class="val" type="text" name="value" maxlength="255" placeholder="e.g. BadName / spam@x.com / yahoo.com" required> <input class="val" type="text" name="value" maxlength="255" placeholder="e.g. BadName / spam@x.com / yahoo.com" required>
</div> </div>
<div> <div>
<label>Note (optional)</label> <label><?php echo ADM_NOTE_OPTIONAL; ?></label>
<input class="note" type="text" name="note" maxlength="255" placeholder="reason"> <input class="note" type="text" name="note" maxlength="255" placeholder="<?php echo ADM_REASON_2; ?>">
</div> </div>
<button type="submit">Add block</button> <button type="submit"><?php echo ADM_ADD_BLOCK; ?></button>
</form> </form>
<div class="rb-hint"> <div class="rb-hint"><?php echo ADM_DOMAIN_ENTER_JUST_THE_DOMAIN; ?><span class="rb-val">yahoo.com</span><?php echo ADM_WITH_OR_WITHOUT_THE_LEADING_E_MAIL_THE_FULL; ?></div>
Domain: enter just the domain (<span class="rb-val">yahoo.com</span>), with or without the leading &ldquo;@&rdquo;.
E-mail: the full address. Username: the exact name.
</div>
</div> </div>
<div class="rb-card" style="padding:0;overflow:hidden;"> <div class="rb-card" style="padding:0;overflow:hidden;">
<?php if (empty($blocks)): ?> <?php if (empty($blocks)): ?>
<div class="rb-empty">No registration blocks yet.</div> <div class="rb-empty"><?php echo ADM_NO_REGISTRATION_BLOCKS_YET; ?></div>
<?php else: ?> <?php else: ?>
<table class="rb-table"> <table class="rb-table">
<thead> <thead>
<tr> <tr>
<th style="width:130px;">Type</th> <th style="width:130px;"><?php echo ADM_TYPE; ?></th>
<th>Value</th> <th><?php echo ADM_VALUE; ?></th>
<th>Note</th> <th><?php echo ADM_NOTE; ?></th>
<th style="width:150px;">Added</th> <th style="width:150px;"><?php echo ADM_ADDED; ?></th>
<th style="width:90px;"></th> <th style="width:90px;"></th>
</tr> </tr>
</thead> </thead>
@@ -132,7 +124,7 @@ $typeLabel = [
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="do" value="remove"> <input type="hidden" name="do" value="remove">
<input type="hidden" name="id" value="<?php echo (int)$b['id']; ?>"> <input type="hidden" name="id" value="<?php echo (int)$b['id']; ?>">
<button type="submit" class="rb-del">Remove</button> <button type="submit" class="rb-del"><?php echo ADM_REMOVE; ?></button>
</form> </form>
</td> </td>
</tr> </tr>
+3 -4
View File
@@ -33,12 +33,11 @@
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="admid" value="<?=$_SESSION['id']?>"> <input type="hidden" name="admid" value="<?=$_SESSION['id']?>">
<div class="clean-card"> <div class="clean-card">
<div class="clean-head">Clear Banlist - Data</div> <div class="clean-head"><?php echo ADM_CLEAR_BANLIST_DATA; ?></div>
<div class="clean-body"> <div class="clean-body">
<div class="clean-desc">Clean Banlist Data <strong>(TRUNCATE)</strong></div> <div class="clean-desc"><?php echo ADMIN_CLEAN_BANLIST_DATA; ?><strong><?php echo ADM_TRUNCATE; ?></strong></div>
<button type="submit" class="clean-btn"> <button type="submit" class="clean-btn">
<svg viewBox="0 0 24 24"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/></svg>Clean <svg viewBox="0 0 24 24"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/></svg><?php echo ADM_CLEAN; ?></button>
</button>
</div> </div>
</div> </div>
</form> </form>
+51 -55
View File
@@ -92,22 +92,6 @@ $editIcon = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke=
<tr><td><?php echo CONF_SERV_PEACESYST ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_PEACESYST_TOOLTIP ?></span></em></td><td><?php echo (["None", "Normal", "Christmas", "New Year", "Easter"])[PEACE]; ?></td></tr> <tr><td><?php echo CONF_SERV_PEACESYST ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_PEACESYST_TOOLTIP ?></span></em></td><td><?php echo (["None", "Normal", "Christmas", "New Year", "Easter"])[PEACE]; ?></td></tr>
<tr><td><?php echo CONF_SERV_GRAPHICPACK ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_GRAPHICPACK_TOOLTIP ?></span></em></td><td><?php echo GP_ENABLE ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo CONF_SERV_GRAPHICPACK ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_GRAPHICPACK_TOOLTIP ?></span></em></td><td><?php echo GP_ENABLE ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td><?php echo CONF_SERV_ERRORREPORT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_ERRORREPORT_TOOLTIP ?></span></em></td><td><b><?php echo (ERROR_REPORT=="error_reporting (0);")? "No": "Yes";?></b></td></tr> <tr><td><?php echo CONF_SERV_ERRORREPORT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_ERRORREPORT_TOOLTIP ?></span></em></td><td><b><?php echo (ERROR_REPORT=="error_reporting (0);")? "No": "Yes";?></b></td></tr>
<tr>
<td>Hero base regeneration <em class="tooltip">?<span class="classic">Hit points the hero recovers per day, independent of the regeneration attribute and of equipped items. 0 disables it.</span></em></td>
<td><b><?php echo defined('HERO_BASE_REGEN') ? (int) HERO_BASE_REGEN : 10; ?></b> HP / day</td>
</tr>
<tr>
<td>Hero exchange rates <em class="tooltip">?<span class="classic">Rates of the exchange office in the auction house. The difference between the two directions is the house margin, so trading back and forth loses value instead of creating it.</span></em></td>
<td>1 gold &rarr; <b><?php echo defined('HERO_SILVER_PER_GOLD') ? (int) HERO_SILVER_PER_GOLD : 10; ?></b> silver
&nbsp;|&nbsp;
<b><?php echo defined('HERO_SILVER_TO_GOLD') ? (int) HERO_SILVER_TO_GOLD : 25; ?></b> silver &rarr; 1 gold</td>
</tr>
<tr>
<td>Hero resource production <em class="tooltip">?<span class="classic">Hourly resources produced by each point the hero invested in the Resources attribute, in the village where the hero is. Players choose freely between spreading it over all four resources or concentrating it on one.</span></em></td>
<td><b><?php echo defined('HERO_RES_PER_POINT_ALL') ? (int) HERO_RES_PER_POINT_ALL : 3; ?></b> of each
&nbsp;|&nbsp;
<b><?php echo defined('HERO_RES_PER_POINT_ONE') ? (int) HERO_RES_PER_POINT_ONE : 10; ?></b> of one type</td>
</tr>
</table> </table>
</div> </div>
@@ -144,19 +128,19 @@ $cronKeyMasked = ($cronKey === '')
: (strlen($cronKey) > 12 ? substr($cronKey, 0, 6) . str_repeat('&bull;', 8) . substr($cronKey, -4) : str_repeat('&bull;', 8)); : (strlen($cronKey) > 12 ? substr($cronKey, 0, 6) . str_repeat('&bull;', 8) . substr($cronKey, -4) : str_repeat('&bull;', 8));
?> ?>
<div class="config-card"> <div class="config-card">
<div class="config-head"><span>Cron &amp; Automation</span><a href="admin.php?p=editCronSet" title="Edit Cron &amp; Automation" class="edit-btn"><?php echo $editIcon; ?></a></div> <div class="config-head"><span><?php echo ADM_CRON_AUTOMATION; ?></span><a href="admin.php?p=editCronSet" title="<?php echo ADM_EDIT_CRON_AUTOMATION; ?>" class="edit-btn"><?php echo $editIcon; ?></a></div>
<table class="config-table"> <table class="config-table">
<tr><td class="b"><?php echo SERV_VARIABLE ?></td><td class="b"><?php echo SERV_VALUE ?></td></tr> <tr><td class="b"><?php echo SERV_VARIABLE ?></td><td class="b"><?php echo SERV_VALUE ?></td></tr>
<tr> <tr>
<td>Automation source <em class="tooltip">?<span class="classic">Where the game tick (battles, movements, training, construction) is processed from. When the cron job is running, players' page loads no longer carry the processing.</span></em></td> <td><?php echo ADM_AUTOMATION_SOURCE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_WHERE_THE_GAME_TICK_BATTLES_MOVEMENTS_TRAINI; ?></span></em></td>
<td><?php echo $cronActive <td><?php echo $cronActive
? "<span class='badge green'>Cron job</span>" ? "<span class='badge green'>Cron job</span>"
: "<span class='badge red'>Page loads (fallback)</span>"; ?></td> : "<span class='badge red'>Page loads (fallback)</span>"; ?></td>
</tr> </tr>
<tr> <tr>
<td>Last cron tick <em class="tooltip">?<span class="classic">Written by cron.php on every tick into GameEngine/Prevention/cron_active.txt. Under 90 seconds means the cron is alive.</span></em></td> <td><?php echo ADM_LAST_CRON_TICK; ?><em class="tooltip">?<span class="classic"><?php echo ADM_WRITTEN_BY_CRON_PHP_ON_EVERY_TICK_INTO_GAMEE; ?></span></em></td>
<td><?php <td><?php
if ($cronLastRun > 0) { if ($cronLastRun > 0) {
echo date('d.m.Y H:i:s', $cronLastRun) . ' <span style="color:#777">(' . $cronAge . 's ago)</span>'; echo date('d.m.Y H:i:s', $cronLastRun) . ' <span style="color:#777">(' . $cronAge . 's ago)</span>';
@@ -167,38 +151,38 @@ $cronKeyMasked = ($cronKey === '')
</tr> </tr>
<tr> <tr>
<td>Invocation length <em class="tooltip">?<span class="classic">CRON_LOOP_SECONDS - how long one cron.php invocation keeps running. Hosts that only allow a cron every 5 minutes still get a tick every minute this way. 0 = a single tick per invocation.</span></em></td> <td><?php echo ADM_INVOCATION_LENGTH; ?><em class="tooltip">?<span class="classic"><?php echo ADM_CRON_LOOP_SECONDS_HOW_LONG_ONE_CRON_PHP_INVO; ?></span></em></td>
<td><?php echo $cronLoop > 0 <td><?php echo $cronLoop > 0
? $cronLoop . ' s <span style="color:#777">(' . (int) floor($cronLoop / max($cronTick, 1)) . ' ticks per invocation)</span>' ? $cronLoop . ' s <span style="color:#777">(' . (int) floor($cronLoop / max($cronTick, 1)) . ' ticks per invocation)</span>'
: "<span class='badge blue'>Single tick</span>"; ?></td> : "<span class='badge blue'>Single tick</span>"; ?></td>
</tr> </tr>
<tr> <tr>
<td>Tick interval <em class="tooltip">?<span class="classic">CRON_TICK_SECONDS - how often Automation runs inside one invocation. Automation itself expects to run about every 60 seconds.</span></em></td> <td><?php echo ADM_TICK_INTERVAL; ?><em class="tooltip">?<span class="classic"><?php echo ADM_CRON_TICK_SECONDS_HOW_OFTEN_AUTOMATION_RUNS; ?></span></em></td>
<td><?php echo $cronTick; ?> s</td> <td><?php echo $cronTick; ?> s</td>
</tr> </tr>
<tr> <tr>
<td>HTTP trigger key <em class="tooltip">?<span class="classic">CRON_KEY - only needed to call cron.php over HTTP (external cron service). Running it from the server's own cron job does not use this key. Generated automatically at install.</span></em></td> <td><?php echo ADM_HTTP_TRIGGER_KEY; ?><em class="tooltip">?<span class="classic"><?php echo ADM_CRON_KEY_ONLY_NEEDED_TO_CALL_CRON_PHP_OVER_H; ?></span></em></td>
<td><?php if ($cronKey === '') { ?> <td><?php if ($cronKey === '') { ?>
<span class='badge red'>Not set</span> <span class='badge red'><?php echo ADM_NOT_SET; ?></span>
<?php } else { ?> <?php } else { ?>
<span id="cronKeyMask"><?php echo $cronKeyMasked; ?></span> <span id="cronKeyMask"><?php echo $cronKeyMasked; ?></span>
<span id="cronKeyFull" style="display:none;word-break:break-all"><?php echo htmlspecialchars($cronKey, ENT_QUOTES, 'UTF-8'); ?></span> <span id="cronKeyFull" style="display:none;word-break:break-all"><?php echo htmlspecialchars($cronKey, ENT_QUOTES, 'UTF-8'); ?></span>
<a href="#" style="margin-left:6px" onclick="var m=document.getElementById('cronKeyMask'),f=document.getElementById('cronKeyFull'),u=document.getElementById('cronUrlFull');var hidden=(f.style.display==='none');m.style.display=hidden?'none':'';f.style.display=hidden?'':'none';if(u){u.style.display=hidden?'':'none';}this.textContent=hidden?'hide':'show';return false;">show</a> <a href="#" style="margin-left:6px" onclick="var m=document.getElementById('cronKeyMask'),f=document.getElementById('cronKeyFull'),u=document.getElementById('cronUrlFull');var hidden=(f.style.display==='none');m.style.display=hidden?'none':'';f.style.display=hidden?'':'none';if(u){u.style.display=hidden?'':'none';}this.textContent=hidden?'hide':'show';return false;"><?php echo ADM_SHOW; ?></a>
<?php } ?></td> <?php } ?></td>
</tr> </tr>
<?php if ($cronUrl !== '') { ?> <?php if ($cronUrl !== '') { ?>
<tr> <tr>
<td>HTTP trigger URL <em class="tooltip">?<span class="classic">Optional. Use this with an external cron service if the host cannot run a local cron job. One HTTP call = one tick.</span></em></td> <td><?php echo ADM_HTTP_TRIGGER_URL; ?><em class="tooltip">?<span class="classic"><?php echo ADM_OPTIONAL_USE_THIS_WITH_AN_EXTERNAL_CRON_SERV; ?></span></em></td>
<td><span style="color:#777">hidden &ndash; use "show" above</span> <td><span style="color:#777"><?php echo ADM_HIDDEN_USE_SHOW_ABOVE; ?></span>
<span id="cronUrlFull" style="display:none;word-break:break-all"><?php echo htmlspecialchars($cronUrl, ENT_QUOTES, 'UTF-8'); ?></span></td> <span id="cronUrlFull" style="display:none;word-break:break-all"><?php echo htmlspecialchars($cronUrl, ENT_QUOTES, 'UTF-8'); ?></span></td>
</tr> </tr>
<?php } ?> <?php } ?>
<tr> <tr>
<td>Database cleanup <em class="tooltip">?<span class="classic">Automation trims tables that would otherwise grow forever. Archived reports are never deleted. 0 disables a rule.</span></em></td> <td><?php echo ADM_DATABASE_CLEANUP; ?><em class="tooltip">?<span class="classic"><?php echo ADM_AUTOMATION_TRIMS_TABLES_THAT_WOULD_OTHERWISE; ?></span></em></td>
<td><?php <td><?php
$parts = array(); $parts = array();
$parts[] = 'reports: ' . ($cleanReports > 0 ? $cleanReports . 'd' : 'off'); $parts[] = 'reports: ' . ($cleanReports > 0 ? $cleanReports . 'd' : 'off');
@@ -209,7 +193,7 @@ $cronKeyMasked = ($cronKey === '')
</tr> </tr>
<tr> <tr>
<td>Last cleanup run <em class="tooltip">?<span class="classic">Cleanup runs once per hour from Automation and deletes in batches, so a first run on an old server catches up over several passes.</span></em></td> <td><?php echo ADM_LAST_CLEANUP_RUN; ?><em class="tooltip">?<span class="classic"><?php echo ADM_CLEANUP_RUNS_ONCE_PER_HOUR_FROM_AUTOMATION_A; ?></span></em></td>
<td><?php <td><?php
if (is_array($cleanupInfo) && !empty($cleanupInfo['time'])) { if (is_array($cleanupInfo) && !empty($cleanupInfo['time'])) {
$r = isset($cleanupInfo['removed']) ? $cleanupInfo['removed'] : array(); $r = isset($cleanupInfo['removed']) ? $cleanupInfo['removed'] : array();
@@ -225,7 +209,7 @@ $cronKeyMasked = ($cronKey === '')
<?php if ($cronCmd !== '') { ?> <?php if ($cronCmd !== '') { ?>
<tr> <tr>
<td>Cron job command <em class="tooltip">?<span class="classic">Add this in cPanel &rarr; Cron Jobs. The path is detected from this installation.</span></em></td> <td><?php echo ADM_CRON_JOB_COMMAND; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ADD_THIS_IN_CPANEL_CRON_JOBS_THE_PATH_IS_DET; ?></span></em></td>
<td style="word-break:break-all"><code><?php echo htmlspecialchars($cronCmd, ENT_QUOTES, 'UTF-8'); ?></code></td> <td style="word-break:break-all"><code><?php echo htmlspecialchars($cronCmd, ENT_QUOTES, 'UTF-8'); ?></code></td>
</tr> </tr>
<?php } ?> <?php } ?>
@@ -234,34 +218,46 @@ $cronKeyMasked = ($cronKey === '')
<!-- NEW FUNCTIONS --> <!-- NEW FUNCTIONS -->
<div class="config-card"> <div class="config-card">
<div class="config-head"><span>New Mechanics and Functions</span><a href="admin.php?p=editNewFunctions" title="Edit New Mechanics and Functions" class="edit-btn"><?php echo $editIcon; ?></a></div> <div class="config-head"><span><?php echo ADM_NEW_MECHANICS_AND_FUNCTIONS; ?></span><a href="admin.php?p=editNewFunctions" title="<?php echo ADM_EDIT_NEW_MECHANICS_AND_FUNCTIONS; ?>" class="edit-btn"><?php echo $editIcon; ?></a></div>
<table class="config-table"> <table class="config-table">
<tr>
<td><?php echo ADM_HERO_BASE_REGENERATION; ?><em class="tooltip">?<span class="classic"><?php echo ADM_HIT_POINTS_THE_HERO_RECOVERS_PER_DAY_INDEPEN; ?></span></em></td>
<td><b><?php echo defined('HERO_BASE_REGEN') ? (int) HERO_BASE_REGEN : 10; ?></b><?php echo ADM_HP_DAY; ?></td>
</tr>
<tr>
<td><?php echo ADM_HERO_EXCHANGE_RATES; ?><em class="tooltip">?<span class="classic"><?php echo ADM_RATES_OF_THE_EXCHANGE_OFFICE_IN_THE_AUCTION; ?></span></em></td>
<td><?php echo ADM_1_GOLD; ?><b><?php echo defined('HERO_SILVER_PER_GOLD') ? (int) HERO_SILVER_PER_GOLD : 10; ?></b><?php echo ADM_SILVER_2; ?><b><?php echo defined('HERO_SILVER_TO_GOLD') ? (int) HERO_SILVER_TO_GOLD : 25; ?></b><?php echo ADM_SILVER_1_GOLD; ?></td>
</tr>
<tr>
<td><?php echo ADM_HERO_RESOURCE_PRODUCTION; ?><em class="tooltip">?<span class="classic"><?php echo ADM_HOURLY_RESOURCES_PRODUCED_BY_EACH_POINT_THE; ?></span></em></td>
<td><b><?php echo defined('HERO_RES_PER_POINT_ALL') ? (int) HERO_RES_PER_POINT_ALL : 3; ?></b><?php echo ADM_OF_EACH; ?><b><?php echo defined('HERO_RES_PER_POINT_ONE') ? (int) HERO_RES_PER_POINT_ONE : 10; ?></b><?php echo ADM_OF_ONE_TYPE; ?></td>
</tr>
<tr><td class="b"><?php echo SERV_VARIABLE ?></td><td class="b"><?php echo SERV_VALUE ?></td></tr> <tr><td class="b"><?php echo SERV_VARIABLE ?></td><td class="b"><?php echo SERV_VALUE ?></td></tr>
<tr><td>Display oasis in profile <em class="tooltip">?<span class="classic">Enable (Disable) the display of oases of each village in the player profile</span></em></td><td><?php echo NEW_FUNCTIONS_OASIS ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_DISPLAY_OASIS_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_DISPLAY_OF_OASES_OF_EACH; ?></span></em></td><td><?php echo NEW_FUNCTIONS_OASIS ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Alliance invitation message <em class="tooltip">?<span class="classic">Enable (Disable) sending an in-game message to the player, if he was invited to the alliance</span></em></td><td><?php echo NEW_FUNCTIONS_ALLIANCE_INVITATION ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_ALLIANCE_INVITATION_MESSAGE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_SENDING_AN_IN_GAME_MESSAGE_TO; ?></span></em></td><td><?php echo NEW_FUNCTIONS_ALLIANCE_INVITATION ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>New Alliance & Embassy Mechanics <em class="tooltip">?<span class="classic">https://github.com/Shadowss/TravianZ/wiki/New-Alliance-&-Embassy-Mechanics</span></em></td><td><?php echo NEW_FUNCTIONS_EMBASSY_MECHANICS ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_NEW_ALLIANCE_EMBASSY_MECHANICS; ?><em class="tooltip">?<span class="classic">https://github.com/Shadowss/TravianZ/wiki/New-Alliance-&-Embassy-Mechanics</span></em></td><td><?php echo NEW_FUNCTIONS_EMBASSY_MECHANICS ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>New forum post message <em class="tooltip">?<span class="classic">Enable (Disable) forum subscription messages</span></em></td><td><?php echo NEW_FUNCTIONS_FORUM_POST_MESSAGE ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_NEW_FORUM_POST_MESSAGE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_FORUM_SUBSCRIPTION_MESSAGES; ?></span></em></td><td><?php echo NEW_FUNCTIONS_FORUM_POST_MESSAGE ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Tribes images in profile <em class="tooltip">?<span class="classic">Enable (Disable) displaying images of tribes</span></em></td><td><?php echo NEW_FUNCTIONS_TRIBE_IMAGES ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_TRIBES_IMAGES_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_TRIBES; ?></span></em></td><td><?php echo NEW_FUNCTIONS_TRIBE_IMAGES ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>New Tribe: Huns <em class="tooltip">?<span class="classic">Enable (Disable) the Huns tribe</span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_HUNS') && NEW_FUNCTION_TRIBE_HUNS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_NEW_TRIBE_HUNS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_HUNS_TRIBE; ?></span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_HUNS') && NEW_FUNCTION_TRIBE_HUNS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>New Tribe: Egyptians <em class="tooltip">?<span class="classic">Enable (Disable) the Egyptians tribe</span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_EGIPTEANS') && NEW_FUNCTION_TRIBE_EGIPTEANS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_NEW_TRIBE_EGYPTIANS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_EGYPTIANS_TRIBE; ?></span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_EGIPTEANS') && NEW_FUNCTION_TRIBE_EGIPTEANS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>New Tribe: Spartans <em class="tooltip">?<span class="classic">Enable (Disable) the Spartans tribe</span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_SPARTANS') && NEW_FUNCTION_TRIBE_SPARTANS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_NEW_TRIBE_SPARTANS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_SPARTANS_TRIBE; ?></span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_SPARTANS') && NEW_FUNCTION_TRIBE_SPARTANS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>New Tribe: Vikings <em class="tooltip">?<span class="classic">Enable (Disable) the Vikings tribe</span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_VIKINGS') && NEW_FUNCTION_TRIBE_VIKINGS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_NEW_TRIBE_VIKINGS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_VIKINGS_TRIBE; ?></span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_VIKINGS') && NEW_FUNCTION_TRIBE_VIKINGS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>MHs images in profile <em class="tooltip">?<span class="classic">Enable (Disable) displaying images of Multihunters</span></em></td><td><?php echo NEW_FUNCTIONS_MHS_IMAGES ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_MHS_IMAGES_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_MULTIHUN; ?></span></em></td><td><?php echo NEW_FUNCTIONS_MHS_IMAGES ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Display artifact in profile <em class="tooltip">?<span class="classic">Enable (Disable) the display of the artifact</span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_ARTIFACT ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_DISPLAY_ARTIFACT_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_ARTIFACT; ?></span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_ARTIFACT ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Display WoW in profile <em class="tooltip">?<span class="classic">Enable (Disable) the display of the wonder</span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_WONDER ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_DISPLAY_WOW_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_WONDER; ?></span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_WONDER ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Vacation Mode <em class="tooltip">?<span class="classic">Enable (Disable) vacation mode</span></em></td><td><?php echo NEW_FUNCTIONS_VACATION ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_VACATION_MODE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_VACATION_MODE; ?></span></em></td><td><?php echo NEW_FUNCTIONS_VACATION ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Catapult targets <em class="tooltip">?<span class="classic">Enable (Disable) the display of catapult targets</span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_CATAPULT_TARGET ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_CATAPULT_TARGETS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_DISPLAY_OF_CATAPULT_TARGE; ?></span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_CATAPULT_TARGET ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Manual on Nature and Natars <em class="tooltip">?<span class="classic">Enable (Disable) manual info</span></em></td><td><?php echo NEW_FUNCTIONS_MANUAL_NATURENATARS ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_MANUAL_ON_NATURE_AND_NATARS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_MANUAL_INFO; ?></span></em></td><td><?php echo NEW_FUNCTIONS_MANUAL_NATURENATARS ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Direct links placement <em class="tooltip">?<span class="classic">Left menu vs right menu</span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_LINKS ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_DIRECT_LINKS_PLACEMENT; ?><em class="tooltip">?<span class="classic"><?php echo ADM_LEFT_MENU_VS_RIGHT_MENU; ?></span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_LINKS ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Medal Veteran Player <em class="tooltip">?<span class="classic">3 years</span></em></td><td><?php echo NEW_FUNCTIONS_MEDAL_3YEAR ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_MEDAL_VETERAN_PLAYER; ?><em class="tooltip">?<span class="classic"><?php echo ADM_3_YEARS; ?></span></em></td><td><?php echo NEW_FUNCTIONS_MEDAL_3YEAR ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Medal Veteran Player 5a <em class="tooltip">?<span class="classic">5 years</span></em></td><td><?php echo NEW_FUNCTIONS_MEDAL_5YEAR ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_MEDAL_VETERAN_PLAYER_5A; ?><em class="tooltip">?<span class="classic"><?php echo ADM_5_YEARS; ?></span></em></td><td><?php echo NEW_FUNCTIONS_MEDAL_5YEAR ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Medal Veteran Player 10a <em class="tooltip">?<span class="classic">10 years</span></em></td><td><?php echo NEW_FUNCTIONS_MEDAL_10YEAR ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_MEDAL_VETERAN_PLAYER_10A; ?><em class="tooltip">?<span class="classic"><?php echo ADM_10_YEARS; ?></span></em></td><td><?php echo NEW_FUNCTIONS_MEDAL_10YEAR ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Special Medals<em class="tooltip">?<span class="classic">Special Medals</span></em></td><td><?php echo NEW_FUNCTIONS_SPECIAL_MEDALS_SYSTEM ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_SPECIAL_MEDALS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_SPECIAL_MEDALS; ?></span></em></td><td><?php echo NEW_FUNCTIONS_SPECIAL_MEDALS_SYSTEM ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Server Milestones<em class="tooltip">?<span class="classic">Server Milestones</span></em></td><td><?php echo NEW_FUNCTIONS_MILESTONES ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_SERVER_MILESTONES; ?><em class="tooltip">?<span class="classic"><?php echo ADM_SERVER_MILESTONES; ?></span></em></td><td><?php echo NEW_FUNCTIONS_MILESTONES ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Server Medal Reset Timer<em class="tooltip">?<span class="classic">Server Medal Reset Timer</span></em></td><td><?php echo NEW_FUNCTIONS_MEDAL_RESET ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_SERVER_MEDAL_RESET_TIMER; ?><em class="tooltip">?<span class="classic"><?php echo ADM_SERVER_MEDAL_RESET_TIMER; ?></span></em></td><td><?php echo NEW_FUNCTIONS_MEDAL_RESET ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>T4 Hero (items, adventures, auction)<em class="tooltip">?<span class="classic">T4 Hero (items, adventures, auction)</span></em></td><td><?php echo NEW_FUNCTIONS_HERO_T4 ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_T4_HERO_ITEMS_ADVENTURES_AUCTION; ?><em class="tooltip">?<span class="classic"><?php echo ADM_T4_HERO_ITEMS_ADVENTURES_AUCTION; ?></span></em></td><td><?php echo NEW_FUNCTIONS_HERO_T4 ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Registration Bonus Gold<em class="tooltip">?<span class="classic">Give every newly registered player a one-time gold bonus at account creation</span></em></td><td><?php echo (defined('NEW_FUNCTION_REGISTRATION_GOLD') && NEW_FUNCTION_REGISTRATION_GOLD) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr> <tr><td><?php echo ADM_REGISTRATION_BONUS_GOLD; ?><em class="tooltip">?<span class="classic"><?php echo ADM_GIVE_EVERY_NEWLY_REGISTERED_PLAYER_A_ONE_TIM; ?></span></em></td><td><?php echo (defined('NEW_FUNCTION_REGISTRATION_GOLD') && NEW_FUNCTION_REGISTRATION_GOLD) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
<tr><td>Registration Bonus Gold &ndash; amount<em class="tooltip">?<span class="classic">How much gold each new player receives when the bonus is enabled</span></em></td><td><?php echo (defined('NEW_FUNCTION_REGISTRATION_GOLD_VALUE') ? (int) NEW_FUNCTION_REGISTRATION_GOLD_VALUE : 200); ?></td></tr> <tr><td><?php echo ADM_REGISTRATION_BONUS_GOLD_AMOUNT; ?><em class="tooltip">?<span class="classic"><?php echo ADM_HOW_MUCH_GOLD_EACH_NEW_PLAYER_RECEIVES_WHEN; ?></span></em></td><td><?php echo (defined('NEW_FUNCTION_REGISTRATION_GOLD_VALUE') ? (int) NEW_FUNCTION_REGISTRATION_GOLD_VALUE : 200); ?></td></tr>
</table> </table>
</div> </div>
+18 -20
View File
@@ -75,18 +75,18 @@ $autoOff = (int)($cfg['auto_off_hours'] ?? 0);
<div class="dbg-wrap"> <div class="dbg-wrap">
<div class="dbg-head"> <div class="dbg-head">
<h2>🐞 Debug Error Log</h2> <h2><?php echo ADM_DEBUG_ERROR_LOG; ?></h2>
<span class="dbg-state <?php echo $isOn ? 'dbg-on' : 'dbg-off'; ?>"> <span class="dbg-state <?php echo $isOn ? 'dbg-on' : 'dbg-off'; ?>">
<?php echo $isOn ? 'CAPTURE ON' : 'CAPTURE OFF'; ?> <?php echo $isOn ? 'CAPTURE ON' : 'CAPTURE OFF'; ?>
</span> </span>
</div> </div>
<div class="dbg-card"> <div class="dbg-card">
<h3>Status</h3> <h3><?php echo ADM_STATUS; ?></h3>
<div class="dbg-row"> <div class="dbg-row">
<span>Capture is <b><?php echo $isOn ? 'ON' : 'OFF'; ?></b><?php echo $isOn ? ' since '.$since : ''; ?>.</span> <span><?php echo ADM_CAPTURE_IS; ?><b><?php echo $isOn ? 'ON' : 'OFF'; ?></b><?php echo $isOn ? ' since '.$since : ''; ?>.</span>
<span>Auto-off: <b><?php echo $autoOff > 0 ? $autoOff.' h' : 'never'; ?></b></span> <span><?php echo ADM_AUTO_OFF; ?><b><?php echo $autoOff > 0 ? $autoOff.' h' : 'never'; ?></b></span>
<span>Log size: <b><?php echo number_format($logSize / 1024, 1); ?> KB</b></span> <span><?php echo ADM_LOG_SIZE; ?><b><?php echo number_format($logSize / 1024, 1); ?> KB</b></span>
</div> </div>
<form action="../GameEngine/Admin/Mods/debugLog.php" method="POST" style="display:inline"> <form action="../GameEngine/Admin/Mods/debugLog.php" method="POST" style="display:inline">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
@@ -96,44 +96,42 @@ $autoOff = (int)($cfg['auto_off_hours'] ?? 0);
<?php echo $isOn ? 'Turn capture OFF' : 'Turn capture ON'; ?> <?php echo $isOn ? 'Turn capture OFF' : 'Turn capture ON'; ?>
</button> </button>
</form> </form>
<p class="dbg-note">Transparent to players: errors are only written to the log file, never shown in-game and gameplay is unaffected.</p> <p class="dbg-note"><?php echo ADM_TRANSPARENT_TO_PLAYERS_ERRORS_ARE_ONLY_WRITT; ?></p>
</div> </div>
<div class="dbg-card"> <div class="dbg-card">
<h3>Capture settings</h3> <h3><?php echo ADM_CAPTURE_SETTINGS; ?></h3>
<form action="../GameEngine/Admin/Mods/debugLog.php" method="POST"> <form action="../GameEngine/Admin/Mods/debugLog.php" method="POST">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="do" value="save"> <input type="hidden" name="do" value="save">
<div class="dbg-row"> <div class="dbg-row">
<label><input type="checkbox" name="lvl_warning" <?php echo !empty($cfg['lvl_warning']) ? 'checked' : ''; ?>> Warnings</label> <label><input type="checkbox" name="lvl_warning" <?php echo !empty($cfg['lvl_warning']) ? 'checked' : ''; ?>><?php echo ADM_WARNINGS; ?></label>
<label><input type="checkbox" name="lvl_notice" <?php echo !empty($cfg['lvl_notice']) ? 'checked' : ''; ?>> Notices</label> <label><input type="checkbox" name="lvl_notice" <?php echo !empty($cfg['lvl_notice']) ? 'checked' : ''; ?>><?php echo ADM_NOTICES; ?></label>
<label><input type="checkbox" name="lvl_deprecated" <?php echo !empty($cfg['lvl_deprecated']) ? 'checked' : ''; ?>> Deprecated</label> <label><input type="checkbox" name="lvl_deprecated" <?php echo !empty($cfg['lvl_deprecated']) ? 'checked' : ''; ?>><?php echo ADM_DEPRECATED; ?></label>
<label><input type="checkbox" name="lvl_fatal" <?php echo !empty($cfg['lvl_fatal']) ? 'checked' : ''; ?>> Fatal errors</label> <label><input type="checkbox" name="lvl_fatal" <?php echo !empty($cfg['lvl_fatal']) ? 'checked' : ''; ?>><?php echo ADM_FATAL_ERRORS; ?></label>
</div> </div>
<div class="dbg-row"> <div class="dbg-row">
<label>Max file size (MB): <label><?php echo ADM_MAX_FILE_SIZE_MB; ?><input type="number" name="max_size_mb" min="1" max="200" value="<?php echo (int)($cfg['max_size_mb'] ?? 5); ?>">
<input type="number" name="max_size_mb" min="1" max="200" value="<?php echo (int)($cfg['max_size_mb'] ?? 5); ?>">
</label> </label>
<label>Auto-off after (hours, 0 = never): <label><?php echo ADM_AUTO_OFF_AFTER_HOURS_0_NEVER; ?><input type="number" name="auto_off_hours" min="0" max="168" value="<?php echo (int)($cfg['auto_off_hours'] ?? 6); ?>">
<input type="number" name="auto_off_hours" min="0" max="168" value="<?php echo (int)($cfg['auto_off_hours'] ?? 6); ?>">
</label> </label>
<button type="submit" class="dbg-btn primary">Save settings</button> <button type="submit" class="dbg-btn primary"><?php echo ADM_SAVE_SETTINGS; ?></button>
</div> </div>
<p class="dbg-note">Beyond the size cap the file is rotated to a single <code>.log.1</code> backup, so the total volume stays bounded.</p> <p class="dbg-note"><?php echo ADM_BEYOND_THE_SIZE_CAP_THE_FILE_IS_ROTATED_TO_A; ?><code>.log.1</code><?php echo ADM_BACKUP_SO_THE_TOTAL_VOLUME_STAYS_BOUNDED; ?></p>
</form> </form>
</div> </div>
<div class="dbg-card"> <div class="dbg-card">
<h3>Last <?php echo $maxLines; ?> lines</h3> <h3>Last <?php echo $maxLines; ?> lines</h3>
<div class="dbg-actions"> <div class="dbg-actions">
<a class="dbg-btn" href="../GameEngine/Admin/Mods/debugLog.php?do=download">⬇ Download full log</a> <a class="dbg-btn" href="../GameEngine/Admin/Mods/debugLog.php?do=download"><?php echo ADM_DOWNLOAD_FULL_LOG; ?></a>
<form action="../GameEngine/Admin/Mods/debugLog.php" method="POST" style="display:inline" <form action="../GameEngine/Admin/Mods/debugLog.php" method="POST" style="display:inline"
onsubmit="return confirm('Clear the debug log file?');"> onsubmit="return confirm('Clear the debug log file?');">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="do" value="clear"> <input type="hidden" name="do" value="clear">
<button type="submit" class="dbg-btn red">🗑 Clear log</button> <button type="submit" class="dbg-btn red"><?php echo ADM_CLEAR_LOG; ?></button>
</form> </form>
<a class="dbg-btn" href="?p=debug_log">↻ Refresh</a> <a class="dbg-btn" href="?p=debug_log"><?php echo ADM_REFRESH; ?></a>
</div> </div>
<div class="dbg-log" style="margin-top:8px"><?php <div class="dbg-log" style="margin-top:8px"><?php
if (empty($lines)) { if (empty($lines)) {
+6 -6
View File
@@ -35,20 +35,20 @@ $members = $database->getAllMember($aid);
<div class="del-wrap"> <div class="del-wrap">
<div class="del-card"> <div class="del-card">
<h3>🗑 Delete Alliance</h3> <h3><?php echo ADM_DELETE_ALLIANCE; ?></h3>
<div class="body"> <div class="body">
<p>Are you sure you want to permanently delete?:</p> <p><?php echo ADM_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE; ?></p>
<p style="font-size:16px;margin:10px 0;"><b>[<?php echo htmlspecialchars($alidata['tag']);?>] <?php echo htmlspecialchars($alidata['name']);?></b></p> <p style="font-size:16px;margin:10px 0;"><b>[<?php echo htmlspecialchars($alidata['tag']);?>] <?php echo htmlspecialchars($alidata['name']);?></b></p>
<p>Members: <b><?php echo count($members);?></b> | Points: <b><?php echo number_format($database->getVSumField(array_column($members,'id'),'pop')[0]['Total']?? 0);?></b></p> <p><?php echo ADM_MEMBERS_2; ?><b><?php echo count($members);?></b><?php echo ADM_POINTS_3; ?><b><?php echo number_format($database->getVSumField(array_column($members,'id'),'pop')[0]['Total']?? 0);?></b></p>
<div class="warn">⚠ All members will be removed from the alliance, permissions, diplomacy, logs and the alliance forum will be deleted. The action is irreversible!</div> <div class="warn"><?php echo ADM_ALL_MEMBERS_WILL_BE_REMOVED_FROM_THE_ALLIANC; ?></div>
<form method="POST" action="../GameEngine/Admin/Mods/delAli.php" onsubmit="return confirm('Last warning: DELETE PERMANENTLY?');"> <form method="POST" action="../GameEngine/Admin/Mods/delAli.php" onsubmit="return confirm('Last warning: DELETE PERMANENTLY?');">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="aid" value="<?php echo $aid;?>"> <input type="hidden" name="aid" value="<?php echo $aid;?>">
<input type="hidden" name="admid" value="<?php echo $_SESSION['id'];?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id'];?>">
<button type="submit" class="btn del">YES, DELETE</button> <button type="submit" class="btn del"><?php echo ADM_YES_DELETE; ?></button>
<a href="admin.php?p=alliance&aid=<?php echo $aid;?>" class="btn cancel">Cancel</a> <a href="admin.php?p=alliance&aid=<?php echo $aid;?>" class="btn cancel"><?php echo ADM_CANCEL; ?></a>
</form> </form>
</div> </div>
</div> </div>
+13 -13
View File
@@ -32,15 +32,15 @@ $nummedals = $sql['Total'];
<table id="member"> <table id="member">
<thead> <thead>
<tr> <tr>
<th>Medal Information</th> <th><?php echo ADM_MEDAL_INFORMATION; ?></th>
</tr> </tr>
</thead> </thead>
</table> </table>
<table id="profile"> <table id="profile">
<thead> <thead>
<tr> <tr>
<td>Week</td> <td><?php echo ADM_WEEK; ?></td>
<td>Medals</td> <td><?php echo ADM_MEDALS_2; ?></td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -68,15 +68,15 @@ $nummedals = $sql['Total'];
<table id="member"> <table id="member">
<thead> <thead>
<tr> <tr>
<th>Medal Week by Week</th> <th><?php echo ADM_MEDAL_WEEK_BY_WEEK; ?></th>
</tr> </tr>
</thead> </thead>
</table> </table>
<table id="profile"> <table id="profile">
<thead> <thead>
<tr> <tr>
<td>Week</td> <td><?php echo ADM_WEEK; ?></td>
<td>Medals</td> <td><?php echo ADM_MEDALS_2; ?></td>
<td></td> <td></td>
</tr> </tr>
</thead> </thead>
@@ -109,13 +109,13 @@ $nummedals = $sql['Total'];
<table id="profile"> <table id="profile">
<thead> <thead>
<tr> <tr>
<td>Medal</td> <td><?php echo ADM_MEDAL; ?></td>
<td>BB-Code</td> <td><?php echo ADM_BB_CODE; ?></td>
<td>Type</td> <td><?php echo ADM_TYPE; ?></td>
<td>Player</td> <td><?php echo ADM_PLAYER_2; ?></td>
<td>Rank</td> <td><?php echo ADM_RANK; ?></td>
<td>Week</td> <td><?php echo ADM_WEEK; ?></td>
<td>Points</td> <td><?php echo ADM_POINTS_2; ?></td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
+14 -14
View File
@@ -73,8 +73,8 @@ if(isset($_GET['uid']) && (int)$_GET['uid'] > 0) {
<div class="del-wrap"> <div class="del-wrap">
<div class="del-head"> <div class="del-head">
<div class="icon"></div> <div class="icon"></div>
<h2>DELETE PLAYER PERMANENTLY</h2> <h2><?php echo ADM_DELETE_PLAYER_PERMANENTLY; ?></h2>
<div class="warn">This action cannot be undone!</div> <div class="warn"><?php echo ADM_THIS_ACTION_CANNOT_BE_UNDONE; ?></div>
</div> </div>
<form action="../GameEngine/Admin/Mods/delUser.php" method="post" onsubmit="return confirm('ESTI SIGUR? Se va sterge tot: sate, trupe, rapoarte!')"> <form action="../GameEngine/Admin/Mods/delUser.php" method="post" onsubmit="return confirm('ESTI SIGUR? Se va sterge tot: sate, trupe, rapoarte!')">
@@ -83,31 +83,31 @@ if(isset($_GET['uid']) && (int)$_GET['uid'] > 0) {
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<div class="card"> <div class="card">
<h3>🗑 Player to delete</h3> <h3><?php echo ADM_PLAYER_TO_DELETE; ?></h3>
<div class="player-info"> <div class="player-info">
<div class="info-item"><b>Name</b><div class="val"><a href="?p=player&uid=<?php echo $target['id']; ?>"><?php echo htmlspecialchars($target['username']); ?></a></div></div> <div class="info-item"><b><?php echo ADM_NAME; ?></b><div class="val"><a href="?p=player&uid=<?php echo $target['id']; ?>"><?php echo htmlspecialchars($target['username']); ?></a></div></div>
<div class="info-item"><b>Gold</b><div class="val"><?php echo $target['gold']; ?> <img src="../img/x.gif" class="gold" style="vertical-align:-2px;"></div></div> <div class="info-item"><b><?php echo ADMIN_GOLD; ?></b><div class="val"><?php echo $target['gold']; ?> <img src="../img/x.gif" class="gold" style="vertical-align:-2px;"></div></div>
<div class="info-item"><b>Rank</b><div class="val">#<?php echo $rank; ?></div></div> <div class="info-item"><b><?php echo ADM_RANK; ?></b><div class="val">#<?php echo $rank; ?></div></div>
<div class="info-item"><b>Population</b><div class="val"><?php echo number_format($totalpop); ?></div></div> <div class="info-item"><b><?php echo ADM_POPULATION; ?></b><div class="val"><?php echo number_format($totalpop); ?></div></div>
<div class="info-item"><b>Villages</b><div class="val"><?php echo $villages; ?></div></div> <div class="info-item"><b><?php echo ADM_VILLAGES; ?></b><div class="val"><?php echo $villages; ?></div></div>
<div class="info-item"><b>Plus ends</b><div class="val"><?php echo $target['plus'] > time() ? date('d.m.Y H:i',$target['plus']) : '-'; ?></div></div> <div class="info-item"><b><?php echo ADM_PLUS_ENDS; ?></b><div class="val"><?php echo $target['plus'] > time() ? date('d.m.Y H:i',$target['plus']) : '-'; ?></div></div>
<div class="info-item" style="grid-column:1/-1;border-bottom:none;"><b>Alliance</b><div class="val"><?php echo $database->getAllianceName($target['alliance']) ?: '-'; ?></div></div> <div class="info-item" style="grid-column:1/-1;border-bottom:none;"><b><?php echo ADMIN_ALLIANCE; ?></b><div class="val"><?php echo $database->getAllianceName($target['alliance']) ?: '-'; ?></div></div>
</div> </div>
<div class="danger-box"> <div class="danger-box">
<div class="icon">🚨</div> <div class="icon">🚨</div>
<div><b>WARNING:</b> All villages (<?php echo $villages; ?>), troops, buildings, reports, messages and player statistics will be <u>permanently</u> deleted. There is no recovery!</div> <div><b><?php echo ADM_WARNING; ?></b> All villages (<?php echo $villages; ?>), troops, buildings, reports, messages and player statistics will be <u><?php echo ADM_PERMANENTLY; ?></u><?php echo ADM_DELETED_THERE_IS_NO_RECOVERY; ?></div>
</div> </div>
<div class="confirm-area"> <div class="confirm-area">
<label for="pass">Confirm with your admin password:</label> <label for="pass"><?php echo ADM_CONFIRM_WITH_YOUR_ADMIN_PASSWORD; ?></label>
<input type="password" name="pass" id="pass" placeholder="••••••••" required autocomplete="current-password"> <input type="password" name="pass" id="pass" placeholder="••••••••" required autocomplete="current-password">
</div> </div>
<div class="actions"> <div class="actions">
<a href="?p=player&uid=<?php echo $uid; ?>" class="btn-cancel"> Cancel</a> <a href="?p=player&uid=<?php echo $uid; ?>" class="btn-cancel"><?php echo ADM_CANCEL_2; ?></a>
<button type="submit" class="btn-delete">🗑 DELETE PLAYER</button> <button type="submit" class="btn-delete"><?php echo ADM_DELETE_PLAYER; ?></button>
</div> </div>
</div> </div>
</form> </form>
+13 -13
View File
@@ -33,15 +33,15 @@ $nummedals = $sql['Total'];
<table id="member"> <table id="member">
<thead> <thead>
<tr> <tr>
<th>Medal Information</th> <th><?php echo ADM_MEDAL_INFORMATION; ?></th>
</tr> </tr>
</thead> </thead>
</table> </table>
<table id="profile"> <table id="profile">
<thead> <thead>
<tr> <tr>
<td>Week</td> <td><?php echo ADM_WEEK; ?></td>
<td>Medals</td> <td><?php echo ADM_MEDALS_2; ?></td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -69,15 +69,15 @@ $nummedals = $sql['Total'];
<table id="member"> <table id="member">
<thead> <thead>
<tr> <tr>
<th>Medal Week by Week</th> <th><?php echo ADM_MEDAL_WEEK_BY_WEEK; ?></th>
</tr> </tr>
</thead> </thead>
</table> </table>
<table id="profile"> <table id="profile">
<thead> <thead>
<tr> <tr>
<td>Week</td> <td><?php echo ADM_WEEK; ?></td>
<td>Medals</td> <td><?php echo ADM_MEDALS_2; ?></td>
<td></td> <td></td>
</tr> </tr>
</thead> </thead>
@@ -114,13 +114,13 @@ $nummedals = $sql['Total'];
<table id="profile"> <table id="profile">
<thead> <thead>
<tr> <tr>
<td>Medal</td> <td><?php echo ADM_MEDAL; ?></td>
<td>BB-Code</td> <td><?php echo ADM_BB_CODE; ?></td>
<td>Type</td> <td><?php echo ADM_TYPE; ?></td>
<td>Player</td> <td><?php echo ADM_PLAYER_2; ?></td>
<td>Rank</td> <td><?php echo ADM_RANK; ?></td>
<td>Week</td> <td><?php echo ADM_WEEK; ?></td>
<td>Points</td> <td><?php echo ADM_POINTS_2; ?></td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
+6 -6
View File
@@ -45,16 +45,16 @@ if(isset($_GET['uid']))
<tr> <tr>
<td> <td>
<center> <center>
<b>Change Access</b> <b><?php echo ADM_CHANGE_ACCESS; ?></b>
</center> </center>
</td> </td>
<td> <td>
<center> <center>
<select name="access" class="dropdown"> <select name="access" class="dropdown">
<option value="0" <?php if($curaccess == 0) { echo 'selected="selected"'; } else { echo ''; } ?>>Banned</option> <option value="0" <?php if($curaccess == 0) { echo 'selected="selected"'; } else { echo ''; } ?>><?php echo ADM_BANNED; ?></option>
<option value="2" <?php if($curaccess == 2) { echo 'selected="selected"'; } else { echo ''; } ?>>Normal User</option> <option value="2" <?php if($curaccess == 2) { echo 'selected="selected"'; } else { echo ''; } ?>><?php echo ADM_NORMAL_USER; ?></option>
<option value="8" <?php if($curaccess == 8) { echo 'selected="selected"'; } else { echo ''; } ?>>Multihunter</option> <option value="8" <?php if($curaccess == 8) { echo 'selected="selected"'; } else { echo ''; } ?>><?php echo ADM_MULTIHUNTER; ?></option>
<option value="9" <?php if($curaccess == 9) { echo 'selected="selected"'; } else { echo ''; } ?>>Admin</option> <option value="9" <?php if($curaccess == 9) { echo 'selected="selected"'; } else { echo ''; } ?>><?php echo ADMIN_ADMIN; ?></option>
</select> </select>
</center> </center>
</td> </td>
@@ -62,7 +62,7 @@ if(isset($_GET['uid']))
<tr> <tr>
<td colspan="2"> <td colspan="2">
<center> <center>
<input type="image" src="../img/admin/b/ok1.gif" value="submit" title="Give Players Free Gold"> <input type="image" src="../img/admin/b/ok1.gif" value="submit" title="<?php echo ADM_GIVE_PLAYERS_FREE_GOLD; ?>">
</center> </center>
</td> </td>
</tr> </tr>
+26 -26
View File
@@ -67,7 +67,7 @@ if(isset($id)) {
<div class="editAdd-wrap"> <div class="editAdd-wrap">
<div class="editAdd-head"> <div class="editAdd-head">
<h2> Edit Additional: <a href="admin.php?p=player&uid=<?php echo $user['id']; ?>"><?php echo htmlspecialchars($user['username']); ?></a></h2> <h2><?php echo ADM_EDIT_ADDITIONAL; ?><a href="admin.php?p=player&uid=<?php echo $user['id']; ?>"><?php echo htmlspecialchars($user['username']); ?></a></h2>
<div class="uid">UID: <?php echo $id; ?> | Gold: <?php echo $user['gold']; ?> <img src="../img/admin/gold.gif" style="vertical-align:-2px;"></div> <div class="uid">UID: <?php echo $id; ?> | Gold: <?php echo $user['gold']; ?> <img src="../img/admin/gold.gif" style="vertical-align:-2px;"></div>
</div> </div>
@@ -79,17 +79,17 @@ if(isset($id)) {
<div class="grid-2"> <div class="grid-2">
<!-- LEFT: ACCOUNT CONTROL --> <!-- LEFT: ACCOUNT CONTROL -->
<div class="card"> <div class="card">
<h3>🔐 Account Control</h3> <h3><?php echo ADM_ACCOUNT_CONTROL; ?></h3>
<div class="body"> <div class="body">
<div class="form-row"> <div class="form-row">
<label>Access Level</label> <label><?php echo ADM_ACCESS_LEVEL; ?></label>
<div class="field"> <div class="field">
<?php if($id != $_SESSION['id']) { ?> <?php if($id != $_SESSION['id']) { ?>
<select name="access"> <select name="access">
<option value="0" <?php if($user['access']==0)echo'selected'; ?>>0 - Banned</option> <option value="0" <?php if($user['access']==0)echo'selected'; ?>><?php echo ADM_0_BANNED; ?></option>
<option value="2" <?php if($user['access']==2)echo'selected'; ?>>2 - Normal User</option> <option value="2" <?php if($user['access']==2)echo'selected'; ?>><?php echo ADM_2_NORMAL_USER; ?></option>
<option value="8" <?php if($user['access']==8)echo'selected'; ?>>8 - Multihunter</option> <option value="8" <?php if($user['access']==8)echo'selected'; ?>><?php echo ADM_8_MULTIHUNTER; ?></option>
<option value="9" <?php if($user['access']==9)echo'selected'; ?>>9 - Admin</option> <option value="9" <?php if($user['access']==9)echo'selected'; ?>><?php echo ADM_9_ADMIN; ?></option>
</select> </select>
<?php } else { <?php } else {
$names=[0=>'Banned',2=>'Normal',8=>'Multihunter',9=>'Admin']; $names=[0=>'Banned',2=>'Normal',8=>'Multihunter',9=>'Admin'];
@@ -101,27 +101,27 @@ if(isset($id)) {
</div> </div>
<div class="form-row"> <div class="form-row">
<label>🏖 Vacation Mode</label> <label><?php echo ADM_VACATION_MODE_2; ?></label>
<div class="field"> <div class="field">
<select name="vac_mode"> <select name="vac_mode">
<option value="0" <?php if(!$user['vac_mode']) echo 'selected'; ?>>0 - Disabled</option> <option value="0" <?php if(!$user['vac_mode']) echo 'selected'; ?>><?php echo ADM_0_DISABLED; ?></option>
<option value="1" <?php if($user['vac_mode']) echo 'selected'; ?>>1 - Enabled</option> <option value="1" <?php if($user['vac_mode']) echo 'selected'; ?>><?php echo ADM_1_ENABLED; ?></option>
</select> </select>
</div> </div>
</div> </div>
<div class="form-row"> <div class="form-row">
<label>💰 Gold</label> <label><?php echo ADM_GOLD; ?></label>
<div class="field input-icon"> <div class="field input-icon">
<input type="number" name="gold" value="<?php echo (int)$user['gold']; ?>"> <input type="number" name="gold" value="<?php echo (int)$user['gold']; ?>">
<img src="../img/admin/gold.gif" alt="gold"> <img src="../img/admin/gold.gif" alt="<?php echo ADM_GOLD_2; ?>">
</div> </div>
</div> </div>
<div class="form-row"> <div class="form-row">
<label>🛡 Protection</label> <label><?php echo ADM_PROTECTION_2; ?></label>
<div class="field input-icon"> <div class="field input-icon">
<input type="number" name="protect" value="<?php echo $protect; ?>" min="0" max="30"> <input type="number" name="protect" value="<?php echo $protect; ?>" min="0" max="30">
<span style="font-size:12px;color:#666;">zile</span> <span style="font-size:12px;color:#666;"><?php echo ADM_ZILE; ?></span>
</div> </div>
</div> </div>
</div> </div>
@@ -129,17 +129,17 @@ if(isset($id)) {
<!-- RIGHT: SITTERS --> <!-- RIGHT: SITTERS -->
<div class="card"> <div class="card">
<h3>👥 Sitters</h3> <h3><?php echo ADM_SITTERS; ?></h3>
<div class="body"> <div class="body">
<div class="form-row"> <div class="form-row">
<label>Sitter 1 (UID)</label> <label><?php echo ADM_SITTER_1_UID; ?></label>
<div class="field"> <div class="field">
<input type="number" name="sitter1" value="<?php echo (int)$user['sit1']; ?>"> <input type="number" name="sitter1" value="<?php echo (int)$user['sit1']; ?>">
<span class="sitter-link"><?php echo $sitter1 ? '→ <a href="admin.php?p=player&uid='.$sitter1['id'].'">'.htmlspecialchars($sitter1['username']).'</a>' : 'No Sitter'; ?></span> <span class="sitter-link"><?php echo $sitter1 ? '→ <a href="admin.php?p=player&uid='.$sitter1['id'].'">'.htmlspecialchars($sitter1['username']).'</a>' : 'No Sitter'; ?></span>
</div> </div>
</div> </div>
<div class="form-row"> <div class="form-row">
<label>Sitter 2 (UID)</label> <label><?php echo ADM_SITTER_2_UID; ?></label>
<div class="field"> <div class="field">
<input type="number" name="sitter2" value="<?php echo (int)$user['sit2']; ?>"> <input type="number" name="sitter2" value="<?php echo (int)$user['sit2']; ?>">
<span class="sitter-link"><?php echo $sitter2 ? '→ <a href="admin.php?p=player&uid='.$sitter2['id'].'">'.htmlspecialchars($sitter2['username']).'</a>' : 'No Sitter'; ?></span> <span class="sitter-link"><?php echo $sitter2 ? '→ <a href="admin.php?p=player&uid='.$sitter2['id'].'">'.htmlspecialchars($sitter2['username']).'</a>' : 'No Sitter'; ?></span>
@@ -151,22 +151,22 @@ if(isset($id)) {
<!-- STATISTICS --> <!-- STATISTICS -->
<div class="card"> <div class="card">
<h3>📊 Statistics & Points</h3> <h3><?php echo ADM_STATISTICS_POINTS; ?></h3>
<div class="body"> <div class="body">
<div class="grid-2"> <div class="grid-2">
<div class="form-row"><label>🏛 Culture Points</label><div class="field"><input type="number" name="cp" value="<?php echo round($user['cp']); ?>"></div></div> <div class="form-row"><label><?php echo ADM_CULTURE_POINTS; ?></label><div class="field"><input type="number" name="cp" value="<?php echo round($user['cp']); ?>"></div></div>
<div class="form-row"><label> Attack Points</label><div class="field"><input type="number" name="off" value="<?php echo (int)$user['ap']; ?>"></div></div> <div class="form-row"><label><?php echo ADM_ATTACK_POINTS_2; ?></label><div class="field"><input type="number" name="off" value="<?php echo (int)$user['ap']; ?>"></div></div>
<div class="form-row"><label>🛡 Defence Points</label><div class="field"><input type="number" name="def" value="<?php echo (int)$user['dp']; ?>"></div></div> <div class="form-row"><label><?php echo ADM_DEFENCE_POINTS_2; ?></label><div class="field"><input type="number" name="def" value="<?php echo (int)$user['dp']; ?>"></div></div>
<div class="form-row"><label>💎 Resources Raided</label><div class="field"><input type="number" name="res" value="<?php echo (int)$user['RR']; ?>"></div></div> <div class="form-row"><label><?php echo ADM_RESOURCES_RAIDED; ?></label><div class="field"><input type="number" name="res" value="<?php echo (int)$user['RR']; ?>"></div></div>
<div class="form-row"><label> Total Attack</label><div class="field"><input type="number" name="ooff" value="<?php echo (int)$user['apall']; ?>"></div></div> <div class="form-row"><label><?php echo ADM_TOTAL_ATTACK; ?></label><div class="field"><input type="number" name="ooff" value="<?php echo (int)$user['apall']; ?>"></div></div>
<div class="form-row"><label>🛡 Total Defence</label><div class="field"><input type="number" name="odef" value="<?php echo (int)$user['dpall']; ?>"></div></div> <div class="form-row"><label><?php echo ADM_TOTAL_DEFENCE; ?></label><div class="field"><input type="number" name="odef" value="<?php echo (int)$user['dpall']; ?>"></div></div>
</div> </div>
</div> </div>
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $id; ?>" class="btn btn-back"> Back</a> <a href="admin.php?p=player&uid=<?php echo $id; ?>" class="btn btn-back"><?php echo ADM_BACK; ?></a>
<button type="submit" name="save" class="btn btn-save">💾 Save Changes</button> <button type="submit" name="save" class="btn btn-save"><?php echo ADM_SAVE_CHANGES_2; ?></button>
</div> </div>
</form> </form>
</div> </div>
+7 -9
View File
@@ -79,8 +79,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_ADMIN_SHOWSTATS ?> <em class="tooltip">?<span class="classic"><?php echo CONF_ADMIN_SHOWSTATS_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_ADMIN_SHOWSTATS ?> <em class="tooltip">?<span class="classic"><?php echo CONF_ADMIN_SHOWSTATS_TOOLTIP ?></span></em></td>
<td> <td>
<select name="admin_rank"> <select name="admin_rank">
<option value="true" <?php if (INCLUDE_ADMIN==true) echo "selected";?>>True</option> <option value="true" <?php if (INCLUDE_ADMIN==true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="false" <?php if (INCLUDE_ADMIN==false) echo "selected";?>>False</option> <option value="false" <?php if (INCLUDE_ADMIN==false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -88,8 +88,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_ADMIN_SUPPMESS ?> <em class="tooltip">?<span class="classic"><?php echo CONF_ADMIN_SUPPMESS_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_ADMIN_SUPPMESS ?> <em class="tooltip">?<span class="classic"><?php echo CONF_ADMIN_SUPPMESS_TOOLTIP ?></span></em></td>
<td> <td>
<select name="admin_support_msgs"> <select name="admin_support_msgs">
<option value="True" <?php if (ADMIN_RECEIVE_SUPPORT_MESSAGES==true) echo "selected";?>>True</option> <option value="True" <?php if (ADMIN_RECEIVE_SUPPORT_MESSAGES==true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if (ADMIN_RECEIVE_SUPPORT_MESSAGES==false) echo "selected";?>>False</option> <option value="False" <?php if (ADMIN_RECEIVE_SUPPORT_MESSAGES==false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -97,8 +97,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_ADMIN_RAIDATT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_ADMIN_RAIDATT_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_ADMIN_RAIDATT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_ADMIN_RAIDATT_TOOLTIP ?></span></em></td>
<td> <td>
<select name="admin_raidable"> <select name="admin_raidable">
<option value="True" <?php if (ADMIN_ALLOW_INCOMING_RAIDS==true) echo "selected";?>>True</option> <option value="True" <?php if (ADMIN_ALLOW_INCOMING_RAIDS==true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if (ADMIN_ALLOW_INCOMING_RAIDS==false) echo "selected";?>>False</option> <option value="False" <?php if (ADMIN_ALLOW_INCOMING_RAIDS==false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -113,9 +113,7 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/> <path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
<polyline points="17 21 17 13 7 13 7 21"/> <polyline points="17 21 17 13 7 13 7 21"/>
</svg> </svg><?php echo ADM_SAVE; ?></button>
SAVE
</button>
</div> </div>
</form> </form>
</div> </div>
+13 -13
View File
@@ -55,7 +55,7 @@ textarea{width:100%;box-sizing:border-box;min-height:120px;padding:8px;border:1p
<div class="editAli-wrap"> <div class="editAli-wrap">
<div class="editAli-head"> <div class="editAli-head">
<h2> Edit Alliance: <span><?php echo htmlspecialchars($alidata['tag']); ?></span> - <?php echo htmlspecialchars($alidata['name']); ?></h2> <h2><?php echo ADM_EDIT_ALLIANCE_2; ?><span><?php echo htmlspecialchars($alidata['tag']); ?></span> - <?php echo htmlspecialchars($alidata['name']); ?></h2>
</div> </div>
<form action="../GameEngine/Admin/Mods/editAli.php" method="POST"> <form action="../GameEngine/Admin/Mods/editAli.php" method="POST">
@@ -64,29 +64,29 @@ textarea{width:100%;box-sizing:border-box;min-height:120px;padding:8px;border:1p
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<div class="card"> <div class="card">
<h3> Basic Settings</h3> <h3><?php echo ADM_BASIC_SETTINGS; ?></h3>
<div class="body"> <div class="body">
<div class="form-grid"> <div class="form-grid">
<div class="form-row"> <div class="form-row">
<label>Alliance Tag (max 8)</label> <label><?php echo ADM_ALLIANCE_TAG_MAX_8; ?></label>
<input type="text" name="tag" maxlength="8" value="<?php echo htmlspecialchars($alidata['tag']); ?>" required> <input type="text" name="tag" maxlength="8" value="<?php echo htmlspecialchars($alidata['tag']); ?>" required>
</div> </div>
<div class="form-row"> <div class="form-row">
<label>Alliance Name</label> <label><?php echo ADM_ALLIANCE_NAME; ?></label>
<input type="text" name="name" maxlength="25" value="<?php echo htmlspecialchars($alidata['name']); ?>" required> <input type="text" name="name" maxlength="25" value="<?php echo htmlspecialchars($alidata['name']); ?>" required>
</div> </div>
<div class="form-row"> <div class="form-row">
<label>👑 Leader (Founder)</label> <label><?php echo ADM_LEADER_FOUNDER; ?></label>
<select name="leader"> <select name="leader">
<?php foreach($members as $m){ <?php foreach($members as $m){
$sel = $m['id']==$alidata['leader'] ? 'selected' : ''; $sel = $m['id']==$alidata['leader'] ? 'selected' : '';
echo '<option value="'.$m['id'].'" '.$sel.'>'.htmlspecialchars($m['username']).'</option>'; echo '<option value="'.$m['id'].'" '.$sel.'>'.htmlspecialchars($m['username']).'</option>';
} ?> } ?>
</select> </select>
<div class="hint">Schimbă fondatorul alianței</div> <div class="hint"><?php echo ADM_SCHIMB_FONDATORUL_ALIAN_EI; ?></div>
</div> </div>
<div class="form-row"> <div class="form-row">
<label>👥 Max Members</label> <label><?php echo ADM_MAX_MEMBERS; ?></label>
<input type="number" name="max" min="3" max="60" value="<?php echo (int)($alidata['max'] ? $alidata['max'] : $calcMax); ?>"> <input type="number" name="max" min="3" max="60" value="<?php echo (int)($alidata['max'] ? $alidata['max'] : $calcMax); ?>">
<div class="hint">Calculat automat: <?php echo $calcMax; ?> (Ambasada lvl <?php echo $embLevel; ?> × 3)</div> <div class="hint">Calculat automat: <?php echo $calcMax; ?> (Ambasada lvl <?php echo $embLevel; ?> × 3)</div>
</div> </div>
@@ -95,22 +95,22 @@ textarea{width:100%;box-sizing:border-box;min-height:120px;padding:8px;border:1p
</div> </div>
<div class="card"> <div class="card">
<h3>📢 Alliance Notice (apare sus)</h3> <h3><?php echo ADM_ALLIANCE_NOTICE_APARE_SUS; ?></h3>
<div class="body"> <div class="body">
<textarea name="notice" placeholder="Mesaj scurt pentru membri..."><?php echo htmlspecialchars($alidata['notice']); ?></textarea> <textarea name="notice" placeholder="<?php echo ADM_MESAJ_SCURT_PENTRU_MEMBRI; ?>"><?php echo htmlspecialchars($alidata['notice']); ?></textarea>
</div> </div>
</div> </div>
<div class="card"> <div class="card">
<h3>📖 Alliance Description (pagina publică)</h3> <h3><?php echo ADM_ALLIANCE_DESCRIPTION_PAGINA_PUBLIC; ?></h3>
<div class="body"> <div class="body">
<textarea name="desc" style="min-height:200px;" placeholder="Descriere lungă, BBCode permis..."><?php echo htmlspecialchars($alidata['desc']); ?></textarea> <textarea name="desc" style="min-height:200px;" placeholder="<?php echo ADM_DESCRIERE_LUNG_BBCODE_PERMIS; ?>"><?php echo htmlspecialchars($alidata['desc']); ?></textarea>
</div> </div>
</div> </div>
<div class="actions"> <div class="actions">
<button type="submit" class="btn-save">💾 Save Alliance</button> <button type="submit" class="btn-save"><?php echo ADM_SAVE_ALLIANCE; ?></button>
<a href="admin.php?p=alliance&aid=<?php echo $aid; ?>" style="margin-left:12px;color:#555;text-decoration:none;"> Cancel</a> <a href="admin.php?p=alliance&aid=<?php echo $aid; ?>" style="margin-left:12px;color:#555;text-decoration:none;"><?php echo ADM_CANCEL_2; ?></a>
</div> </div>
</form> </form>
</div> </div>
+26 -34
View File
@@ -68,24 +68,24 @@ code{background:#f1f5f9;padding:2px 5px;border-radius:4px;font-size:11px;word-br
</style> </style>
<div class="config-wrap"> <div class="config-wrap">
<div class="config-title">Cron &amp; Automation</div> <div class="config-title"><?php echo ADM_CRON_AUTOMATION; ?></div>
<form action="../GameEngine/Admin/Mods/editCronSet.php" method="POST"> <form action="../GameEngine/Admin/Mods/editCronSet.php" method="POST">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="id" id="id" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="id" id="id" value="<?php echo $_SESSION['id']; ?>">
<div class="config-card"> <div class="config-card">
<div class="config-head"><span>Current status</span></div> <div class="config-head"><span><?php echo ADM_CURRENT_STATUS; ?></span></div>
<table class="config-table"> <table class="config-table">
<tr> <tr>
<td class="b">Automation source</td> <td class="b"><?php echo ADM_AUTOMATION_SOURCE; ?></td>
<td><?php echo $cronActive <td><?php echo $cronActive
? "<span class='badge green'>Cron job</span>" ? "<span class='badge green'>Cron job</span>"
: "<span class='badge red'>Page loads (fallback)</span>"; ?> : "<span class='badge red'>Page loads (fallback)</span>"; ?>
<span class="hint">When the cron job is not running, the game still works: players' page loads process the tick, exactly as before the cron was introduced.</span></td> <span class="hint"><?php echo ADM_WHEN_THE_CRON_JOB_IS_NOT_RUNNING_THE_GAME_ST; ?></span></td>
</tr> </tr>
<tr> <tr>
<td class="b">Last cron tick</td> <td class="b"><?php echo ADM_LAST_CRON_TICK; ?></td>
<td><?php <td><?php
if ($cronLastRun > 0) { if ($cronLastRun > 0) {
echo date('d.m.Y H:i:s', $cronLastRun) . ' <span style="color:#777">(' . $cronAge . 's ago)</span>'; echo date('d.m.Y H:i:s', $cronLastRun) . ' <span style="color:#777">(' . $cronAge . 's ago)</span>';
@@ -96,54 +96,51 @@ code{background:#f1f5f9;padding:2px 5px;border-radius:4px;font-size:11px;word-br
</tr> </tr>
<?php if ($cronCmd !== '') { ?> <?php if ($cronCmd !== '') { ?>
<tr> <tr>
<td class="b">Cron job command</td> <td class="b"><?php echo ADM_CRON_JOB_COMMAND; ?></td>
<td><code><?php echo htmlspecialchars($cronCmd, ENT_QUOTES, 'UTF-8'); ?></code> <td><code><?php echo htmlspecialchars($cronCmd, ENT_QUOTES, 'UTF-8'); ?></code>
<span class="hint">Add this in cPanel &rarr; Cron Jobs. Writing to cron.log instead of /dev/null lets you see errors if it fails to start.</span></td> <span class="hint"><?php echo ADM_ADD_THIS_IN_CPANEL_CRON_JOBS_WRITING_TO_CRON; ?></span></td>
</tr> </tr>
<?php } ?> <?php } ?>
</table> </table>
</div> </div>
<div class="config-card"> <div class="config-card">
<div class="config-head"><span>Settings</span></div> <div class="config-head"><span><?php echo ADM_SETTINGS; ?></span></div>
<table class="config-table"> <table class="config-table">
<tr> <tr>
<td class="b">Invocation length (seconds) <td class="b"><?php echo ADM_INVOCATION_LENGTH_SECONDS; ?><em class="tooltip">?<span><?php echo ADM_HOW_LONG_ONE_CRON_PHP_INVOCATION_KEEPS_WORKI; ?></span></em>
<em class="tooltip">?<span>How long one cron.php invocation keeps working. Most shared hosts only allow a cron every 5 minutes, while Automation expects to run about every minute &mdash; so one invocation runs several ticks in a row. Use 300 for a "*/5" cron. Set 0 only if your host allows a cron every minute.</span></em>
</td> </td>
<td><input class="fm" type="number" name="cron_loop" min="0" max="3300" value="<?php echo $cronLoop; ?>" style="width:120px"> <td><input class="fm" type="number" name="cron_loop" min="0" max="3300" value="<?php echo $cronLoop; ?>" style="width:120px">
<span class="hint">0 = a single tick per invocation. Maximum 3300 (55 minutes).</span></td> <span class="hint"><?php echo ADM_0_A_SINGLE_TICK_PER_INVOCATION_MAXIMUM_3300; ?></span></td>
</tr> </tr>
<tr> <tr>
<td class="b">Tick interval (seconds) <td class="b"><?php echo ADM_TICK_INTERVAL_SECONDS; ?><em class="tooltip">?<span><?php echo ADM_HOW_OFTEN_AUTOMATION_RUNS_INSIDE_ONE_INVOCAT; ?></span></em>
<em class="tooltip">?<span>How often Automation runs inside one invocation. Automation's own guard expects roughly 60 seconds; going lower mostly adds load without processing anything new.</span></em>
</td> </td>
<td><input class="fm" type="number" name="cron_tick" min="15" max="900" value="<?php echo $cronTick; ?>" style="width:120px"> <td><input class="fm" type="number" name="cron_tick" min="15" max="900" value="<?php echo $cronTick; ?>" style="width:120px">
<span class="hint">Recommended: 60. Allowed range 15&ndash;900.</span></td> <span class="hint"><?php echo ADM_RECOMMENDED_60_ALLOWED_RANGE_15_900; ?></span></td>
</tr> </tr>
<tr> <tr>
<td class="b">HTTP trigger key <td class="b"><?php echo ADM_HTTP_TRIGGER_KEY; ?><em class="tooltip">?<span><?php echo ADM_ONLY_NEEDED_WHEN_CALLING_CRON_PHP_OVER_HTTP; ?></span></em>
<em class="tooltip">?<span>Only needed when calling cron.php over HTTP (for example from an external cron service). The server's own cron job does not use it. Regenerating invalidates any URL you configured elsewhere.</span></em>
</td> </td>
<td> <td>
<?php if ($cronKey === '') { ?> <?php if ($cronKey === '') { ?>
<span class="badge red">Not set</span> &ndash; one will be generated on save. <span class="badge red"><?php echo ADM_NOT_SET; ?></span> &ndash; one will be generated on save.
<?php } else { ?> <?php } else { ?>
<span id="k1"><?php echo htmlspecialchars(substr($cronKey, 0, 6), ENT_QUOTES, 'UTF-8'); ?>&bull;&bull;&bull;&bull;&bull;&bull;&bull;&bull;<?php echo htmlspecialchars(substr($cronKey, -4), ENT_QUOTES, 'UTF-8'); ?></span> <span id="k1"><?php echo htmlspecialchars(substr($cronKey, 0, 6), ENT_QUOTES, 'UTF-8'); ?>&bull;&bull;&bull;&bull;&bull;&bull;&bull;&bull;<?php echo htmlspecialchars(substr($cronKey, -4), ENT_QUOTES, 'UTF-8'); ?></span>
<span id="k2" style="display:none;word-break:break-all"><?php echo htmlspecialchars($cronKey, ENT_QUOTES, 'UTF-8'); ?></span> <span id="k2" style="display:none;word-break:break-all"><?php echo htmlspecialchars($cronKey, ENT_QUOTES, 'UTF-8'); ?></span>
<a href="#" style="margin-left:6px" onclick="var a=document.getElementById('k1'),b=document.getElementById('k2');var h=(b.style.display==='none');a.style.display=h?'none':'';b.style.display=h?'':'none';this.textContent=h?'hide':'show';return false;">show</a> <a href="#" style="margin-left:6px" onclick="var a=document.getElementById('k1'),b=document.getElementById('k2');var h=(b.style.display==='none');a.style.display=h?'none':'';b.style.display=h?'':'none';this.textContent=h?'hide':'show';return false;"><?php echo ADM_SHOW; ?></a>
<?php } ?> <?php } ?>
<span class="hint"><label><input type="checkbox" name="regenerate_key" value="1"> Generate a new key on save</label></span> <span class="hint"><label><input type="checkbox" name="regenerate_key" value="1"><?php echo ADM_GENERATE_A_NEW_KEY_ON_SAVE; ?></label></span>
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
<div class="config-card"> <div class="config-card">
<div class="config-head"><span>Database cleanup</span></div> <div class="config-head"><span><?php echo ADM_DATABASE_CLEANUP; ?></span></div>
<table class="config-table"> <table class="config-table">
<tr> <tr>
<td class="b">Last cleanup run</td> <td class="b"><?php echo ADM_LAST_CLEANUP_RUN; ?></td>
<td><?php <td><?php
if (is_array($cleanupInfo) && !empty($cleanupInfo['time'])) { if (is_array($cleanupInfo) && !empty($cleanupInfo['time'])) {
$r = isset($cleanupInfo['removed']) ? $cleanupInfo['removed'] : array(); $r = isset($cleanupInfo['removed']) ? $cleanupInfo['removed'] : array();
@@ -156,28 +153,25 @@ code{background:#f1f5f9;padding:2px 5px;border-radius:4px;font-size:11px;word-br
echo "<span class='badge blue'>Not run yet</span>"; echo "<span class='badge blue'>Not run yet</span>";
} }
?> ?>
<span class="hint">Runs from Automation once per hour. Rows are removed in batches, so the first run on an old server catches up over several passes.</span></td> <span class="hint"><?php echo ADM_RUNS_FROM_AUTOMATION_ONCE_PER_HOUR_ROWS_ARE; ?></span></td>
</tr> </tr>
<tr> <tr>
<td class="b">Battle reports (days) <td class="b"><?php echo ADM_BATTLE_REPORTS_DAYS; ?><em class="tooltip">?<span><?php echo ADM_UNARCHIVED_REPORTS_OLDER_THAN_THIS_ARE_DELET; ?></span></em>
<em class="tooltip">?<span>Unarchived reports older than this are deleted. Reports a player archived are never touched. 0 disables the rule.</span></em>
</td> </td>
<td><input class="fm" type="number" name="cleanup_reports" min="0" max="3650" value="<?php echo $cleanReports; ?>" style="width:100px"> <td><input class="fm" type="number" name="cleanup_reports" min="0" max="3650" value="<?php echo $cleanReports; ?>" style="width:100px">
<span class="hint">0 = keep forever.</span></td> <span class="hint"><?php echo ADM_0_KEEP_FOREVER; ?></span></td>
</tr> </tr>
<tr> <tr>
<td class="b">Chat messages (days) <td class="b"><?php echo ADM_CHAT_MESSAGES_DAYS; ?><em class="tooltip">?<span><?php echo ADM_THE_CHAT_WINDOW_ONLY_EVER_SHOWS_THE_LAST_13; ?></span></em>
<em class="tooltip">?<span>The chat window only ever shows the last 13 messages per alliance, so older history is not used anywhere in the game.</span></em>
</td> </td>
<td><input class="fm" type="number" name="cleanup_chat" min="0" max="3650" value="<?php echo $cleanChat; ?>" style="width:100px"> <td><input class="fm" type="number" name="cleanup_chat" min="0" max="3650" value="<?php echo $cleanChat; ?>" style="width:100px">
<span class="hint">0 = keep forever.</span></td> <span class="hint"><?php echo ADM_0_KEEP_FOREVER; ?></span></td>
</tr> </tr>
<tr> <tr>
<td class="b">Deleted messages (days) <td class="b"><?php echo ADM_DELETED_MESSAGES_DAYS; ?><em class="tooltip">?<span><?php echo ADM_ONLY_MESSAGES_DELETED_BY_BOTH_THE_SENDER_AND; ?></span></em>
<em class="tooltip">?<span>Only messages deleted by BOTH the sender and the recipient are removed &mdash; they are no longer visible to anyone in the game. Disabled by default.</span></em>
</td> </td>
<td><input class="fm" type="number" name="cleanup_messages" min="0" max="3650" value="<?php echo $cleanMessages; ?>" style="width:100px"> <td><input class="fm" type="number" name="cleanup_messages" min="0" max="3650" value="<?php echo $cleanMessages; ?>" style="width:100px">
<span class="hint">0 = disabled (default).</span></td> <span class="hint"><?php echo ADM_0_DISABLED_DEFAULT; ?></span></td>
</tr> </tr>
</table> </table>
</div> </div>
@@ -188,9 +182,7 @@ code{background:#f1f5f9;padding:2px 5px;border-radius:4px;font-size:11px;word-br
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/> <path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
<polyline points="17 21 17 13 7 13 7 21"/> <polyline points="17 21 17 13 7 13 7 21"/>
</svg> </svg><?php echo ADM_SAVE; ?></button>
SAVE
</button>
</div> </div>
</form> </form>
</div> </div>
+3 -5
View File
@@ -71,8 +71,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_EXTRA_LIMITMAIL ?> <em class="tooltip">?<span class="classic"><?php echo CONF_EXTRA_LIMITMAIL_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_EXTRA_LIMITMAIL ?> <em class="tooltip">?<span class="classic"><?php echo CONF_EXTRA_LIMITMAIL_TOOLTIP ?></span></em></td>
<td> <td>
<select name="limit_mailbox"> <select name="limit_mailbox">
<option value="true" <?php if (LIMIT_MAILBOX==true) echo "selected";?>>Yes</option> <option value="true" <?php if (LIMIT_MAILBOX==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (LIMIT_MAILBOX==false) echo "selected";?>>No</option> <option value="false" <?php if (LIMIT_MAILBOX==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -91,9 +91,7 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/> <path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
<polyline points="17 21 17 13 7 13 7 21"/> <polyline points="17 21 17 13 7 13 7 21"/>
</svg> </svg><?php echo ADM_SAVE; ?></button>
SAVE
</button>
</div> </div>
</form> </form>
</div> </div>
+20 -21
View File
@@ -132,7 +132,7 @@ function go_url(url){ location=url; return false; }
<span class="hero-name"><?php echo htmlspecialchars($hero['name']);?></span> <span class="hero-name"><?php echo htmlspecialchars($hero['name']);?></span>
<span class="lvl">Level <?php echo $hero['level'];?></span> <span class="lvl">Level <?php echo $hero['level'];?></span>
</h2> </h2>
<div class="hero-meta">Player: <a href="admin.php?p=player&uid=<?php echo $id;?>"><?php echo htmlspecialchars($user['username']);?></a></div> <div class="hero-meta"><?php echo ADM_PLAYER; ?><a href="admin.php?p=player&uid=<?php echo $id;?>"><?php echo htmlspecialchars($user['username']);?></a></div>
</div> </div>
</div> </div>
<div><img class="unit u<?php echo $hero['unit'];?>" src="img/x.gif" alt=""></div> <div><img class="unit u<?php echo $hero['unit'];?>" src="img/x.gif" alt=""></div>
@@ -146,10 +146,10 @@ function go_url(url){ location=url; return false; }
<input name="hlvl" type="hidden" value="0"> <input name="hlvl" type="hidden" value="0">
<div class="card"> <div class="card">
<h3>📝 Basic Info</h3> <h3><?php echo ADM_BASIC_INFO; ?></h3>
<div class="body"> <div class="body">
<div class="form-row"><label>Hero Name</label><div class="field"><input name="hname" type="text" value="<?php echo htmlspecialchars($hero['name']);?>"></div></div> <div class="form-row"><label><?php echo ADM_HERO_NAME; ?></label><div class="field"><input name="hname" type="text" value="<?php echo htmlspecialchars($hero['name']);?>"></div></div>
<div class="form-row"><label>Hero Unit</label><div class="field"> <div class="form-row"><label><?php echo ADM_HERO_UNIT; ?></label><div class="field">
<div class="unit-preview"><span id="unt"><img class="unit u<?php echo $hero['unit'];?>" src="img/x.gif"></span> <div class="unit-preview"><span id="unt"><img class="unit u<?php echo $hero['unit'];?>" src="img/x.gif"></span>
<select name="hunit" onchange="check_unit(this)" style="flex:1;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font-size:13px;"> <select name="hunit" onchange="check_unit(this)" style="flex:1;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font-size:13px;">
<?php <?php
@@ -185,13 +185,13 @@ function go_url(url){ location=url; return false; }
?> ?>
</select></div> </select></div>
</div></div> </div></div>
<div class="form-row"><label> Health</label><div class="field"><input name="hhealth" type="text" value="<?php echo round($hero['health']);?>" style="width:80px;"> %</div></div> <div class="form-row"><label><?php echo ADM_HEALTH; ?></label><div class="field"><input name="hhealth" type="text" value="<?php echo round($hero['health']);?>" style="width:80px;"> %</div></div>
<div class="form-row"><label> Experience</label><div class="field"><b><span id="exp1"><?php echo $expPct;?></span>%</b> <input id="exp" name="exp" type="hidden" value="<?php echo $expPct;?>"></div></div> <div class="form-row"><label><?php echo ADM_EXPERIENCE; ?></label><div class="field"><b><span id="exp1"><?php echo $expPct;?></span>%</b> <input id="exp" name="exp" type="hidden" value="<?php echo $expPct;?>"></div></div>
</div> </div>
</div> </div>
<div class="card"> <div class="card">
<h3>📈 Current Stats</h3> <h3><?php echo ADM_CURRENT_STATS; ?></h3>
<div class="body" style="font-size:12px;line-height:1.8;"> <div class="body" style="font-size:12px;line-height:1.8;">
<?php <?php
// punctele nefolosite, nu suma statisticilor calculate (era gresit) // punctele nefolosite, nu suma statisticilor calculate (era gresit)
@@ -201,13 +201,12 @@ function go_url(url){ location=url; return false; }
$eTotal = 5 + ($hero['level'] * 5); $eTotal = 5 + ($hero['level'] * 5);
$eFree = max(0, $eTotal - $eUsed); $eFree = max(0, $eTotal - $eUsed);
?> ?>
<div>Level: <b><?php echo $hero['level'];?></b> / <?php echo $eMaxLevel; ?> <div><?php echo ADM_LEVEL; ?><b><?php echo $hero['level'];?></b> / <?php echo $eMaxLevel; ?>
| Points used: <b><?php echo $eUsed; ?></b> of <b><?php echo $eTotal; ?></b> | Points used: <b><?php echo $eUsed; ?></b><?php echo ADM_OF; ?><b><?php echo $eTotal; ?></b><?php echo ADM_FREE; ?><b><?php echo $eFree; ?></b>)</div>
(free: <b><?php echo $eFree; ?></b>)</div> <div><?php echo ADM_OFFENCE; ?><b><?php echo $hero['atk'];?></b> (Lv <?php echo $hero['attack'];?>)</div>
<div>Offence: <b><?php echo $hero['atk'];?></b> (Lv <?php echo $hero['attack'];?>)</div> <div><?php echo ADM_DEFENCE; ?><b><?php echo $hero['di']."/".$hero['dc'];?></b> (Lv <?php echo $hero['defence'];?>)</div>
<div>Defence: <b><?php echo $hero['di']."/".$hero['dc'];?></b> (Lv <?php echo $hero['defence'];?>)</div> <div><?php echo ADM_OFF_BONUS; ?><b><?php echo ($hero['ob']-1)*100;?>%</b><?php echo ADM_DEF_BONUS; ?><b><?php echo ($hero['db']-1)*100;?>%</b></div>
<div>Off-Bonus: <b><?php echo ($hero['ob']-1)*100;?>%</b> | Def-Bonus: <b><?php echo ($hero['db']-1)*100;?>%</b></div> <div><?php echo ADM_REGEN; ?><b><?php echo $hero['regeneration']*5*SPEED;?>/day</b></div>
<div>Regen: <b><?php echo $hero['regeneration']*5*SPEED;?>/day</b></div>
<?php if (defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4) { <?php if (defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4) {
$eResPts = (int)($hero['resources'] ?? 0); $eResPts = (int)($hero['resources'] ?? 0);
$eResType = (int)($hero['res_type'] ?? 0); $eResType = (int)($hero['res_type'] ?? 0);
@@ -218,13 +217,13 @@ function go_url(url){ location=url; return false; }
? (int) round($eResPts * $ePerOne * SPEED) ? (int) round($eResPts * $ePerOne * SPEED)
: (int) round($eResPts * $ePerAll * SPEED); : (int) round($eResPts * $ePerAll * SPEED);
?> ?>
<div>Resources: <b><?php echo $eAmount; ?>/h</b> (<?php echo $eNames[$eResType] ?? 'all resources'; ?>, Lv <?php echo $eResPts; ?>)</div> <div><?php echo ADM_RESOURCES; ?><b><?php echo $eAmount; ?>/h</b> (<?php echo $eNames[$eResType] ?? 'all resources'; ?>, Lv <?php echo $eResPts; ?>)</div>
<?php } ?> <?php } ?>
</div> </div>
</div> </div>
<div class="card"> <div class="card">
<h3> Add Points</h3> <h3><?php echo ADM_ADD_POINTS; ?></h3>
<div class="body"> <div class="body">
<?php if($isMax):?> <?php if($isMax):?>
<div style="text-align:center;padding:8px;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:12px;margin-bottom:10px;"> <div style="text-align:center;padding:8px;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:12px;margin-bottom:10px;">
@@ -232,7 +231,7 @@ function go_url(url){ location=url; return false; }
</div> </div>
<?php endif;?> <?php endif;?>
<table class="stat-table"> <table class="stat-table">
<thead><tr><th>Attribute</th><th style="width:80px;text-align:center;">Current</th><th style="width:120px;text-align:center;">Add</th><th style="width:60px;text-align:center;">New</th></tr></thead> <thead><tr><th><?php echo ADM_ATTRIBUTE; ?></th><th style="width:80px;text-align:center;"><?php echo ADM_CURRENT; ?></th><th style="width:120px;text-align:center;"><?php echo ADM_ADD; ?></th><th style="width:60px;text-align:center;"><?php echo ADM_NEW; ?></th></tr></thead>
<tbody> <tbody>
<?php <?php
$attrs = [ $attrs = [
@@ -256,7 +255,7 @@ function go_url(url){ location=url; return false; }
</table> </table>
<?php if (defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4) { ?> <?php if (defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4) { ?>
<div class="form-row" style="margin-top:10px;"> <div class="form-row" style="margin-top:10px;">
<label>Produced resource</label> <label><?php echo ADM_PRODUCED_RESOURCE; ?></label>
<div class="field"> <div class="field">
<select name="hrestype" style="padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font-size:13px;"> <select name="hrestype" style="padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font-size:13px;">
<?php <?php
@@ -270,13 +269,13 @@ function go_url(url){ location=url; return false; }
</div> </div>
</div> </div>
<?php } ?> <?php } ?>
<div style="text-align:center;margin-top:10px;font-size:12px;">Level nou: <b><span id="hlvl">0</span></b></div> <div style="text-align:center;margin-top:10px;font-size:12px;"><?php echo ADM_LEVEL_NOU; ?><b><span id="hlvl">0</span></b></div>
</div> </div>
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $id;?>" class="btn btn-back" onclick="return go_url(this.href)"> Back</a> <a href="admin.php?p=player&uid=<?php echo $id;?>" class="btn btn-back" onclick="return go_url(this.href)"><?php echo ADM_BACK; ?></a>
<button type="submit" class="btn btn-save">💾 Save Hero</button> <button type="submit" class="btn btn-save"><?php echo ADM_SAVE_HERO; ?></button>
</div> </div>
</form> </form>
</div> </div>
+16 -17
View File
@@ -58,27 +58,27 @@ $t4SlotNames = [1=>'Helmet',2=>'Body',3=>'Right hand',4=>'Left hand',5=>'Shoes',
</style> </style>
<h2>T4 Hero controls — user #<?php echo $id; ?> <h2>T4 Hero controls — user #<?php echo $id; ?>
<small><a href="admin.php?p=editHero&uid=<?php echo $id; ?>">&laquo; classic hero editor</a></small> <small><a href="admin.php?p=editHero&uid=<?php echo $id; ?>"><?php echo ADM_CLASSIC_HERO_EDITOR; ?></a></small>
</h2> </h2>
<?php if (isset($_GET['ok'])) { ?><div class="t4a-msg ok">Action completed.</div><?php } ?> <?php if (isset($_GET['ok'])) { ?><div class="t4a-msg ok"><?php echo ADM_ACTION_COMPLETED; ?></div><?php } ?>
<?php if (isset($_GET['e'])) { ?><div class="t4a-msg err">Action failed (check the values and try again).</div><?php } ?> <?php if (isset($_GET['e'])) { ?><div class="t4a-msg err"><?php echo ADM_ACTION_FAILED_CHECK_THE_VALUES_AND_TRY_AGAIN; ?></div><?php } ?>
<div class="t4a-card"> <div class="t4a-card">
<h3>Silver</h3> <h3><?php echo ADM_SILVER; ?></h3>
<div class="body"> <div class="body">
<form action="../GameEngine/Admin/Mods/editHeroT4.php" method="POST" class="t4a-inline"> <form action="../GameEngine/Admin/Mods/editHeroT4.php" method="POST" class="t4a-inline">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="t4admin" value="setsilver"> <input type="hidden" name="t4admin" value="setsilver">
<input type="hidden" name="uid" value="<?php echo $id; ?>"> <input type="hidden" name="uid" value="<?php echo $id; ?>">
<input type="text" name="silver" value="<?php echo $t4Silver; ?>" size="10" style="text-align:right;"> <input type="text" name="silver" value="<?php echo $t4Silver; ?>" size="10" style="text-align:right;">
<button type="submit" class="t4a-btn">Set balance</button> <button type="submit" class="t4a-btn"><?php echo ADM_SET_BALANCE; ?></button>
</form> </form>
</div> </div>
</div> </div>
<div class="t4a-card"> <div class="t4a-card">
<h3>Grant item</h3> <h3><?php echo ADM_GRANT_ITEM; ?></h3>
<div class="body"> <div class="body">
<form action="../GameEngine/Admin/Mods/editHeroT4.php" method="POST" class="t4a-inline"> <form action="../GameEngine/Admin/Mods/editHeroT4.php" method="POST" class="t4a-inline">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
@@ -88,9 +88,8 @@ $t4SlotNames = [1=>'Helmet',2=>'Body',3=>'Right hand',4=>'Left hand',5=>'Shoes',
<?php foreach ($heroItemCatalog as $t4Iid => $t4Def) { ?> <?php foreach ($heroItemCatalog as $t4Iid => $t4Def) { ?>
<option value="<?php echo $t4Iid; ?>">#<?php echo $t4Iid; ?> <?php echo $t4Def['name']; ?> (T<?php echo $t4Def['tier']; ?>, <?php echo $t4SlotNames[$t4Def['slot']]; ?>)</option> <option value="<?php echo $t4Iid; ?>">#<?php echo $t4Iid; ?> <?php echo $t4Def['name']; ?> (T<?php echo $t4Def['tier']; ?>, <?php echo $t4SlotNames[$t4Def['slot']]; ?>)</option>
<?php } ?> <?php } ?>
</select> </select><?php echo ADM_QTY; ?><input type="text" name="qty" value="1" size="3" style="text-align:center;">
Qty: <input type="text" name="qty" value="1" size="3" style="text-align:center;"> <button type="submit" class="t4a-btn"><?php echo ADM_GRANT; ?></button>
<button type="submit" class="t4a-btn">Grant</button>
</form> </form>
</div> </div>
</div> </div>
@@ -100,7 +99,7 @@ $t4SlotNames = [1=>'Helmet',2=>'Body',3=>'Right hand',4=>'Left hand',5=>'Shoes',
<div class="body"> <div class="body">
<?php if (count($t4Inventory)) { ?> <?php if (count($t4Inventory)) { ?>
<table class="t4a-table"> <table class="t4a-table">
<tr><th>Row</th><th>Item</th><th>Slot</th><th>Qty</th><th>Equipped</th><th></th></tr> <tr><th><?php echo ADM_ROW; ?></th><th><?php echo ADM_ITEM; ?></th><th><?php echo ADM_SLOT; ?></th><th><?php echo ADM_QTY_2; ?></th><th><?php echo ADM_EQUIPPED; ?></th><th></th></tr>
<?php foreach ($t4Inventory as $t4Row) { ?> <?php foreach ($t4Inventory as $t4Row) { ?>
<tr> <tr>
<td>#<?php echo (int) $t4Row['id']; ?></td> <td>#<?php echo (int) $t4Row['id']; ?></td>
@@ -115,7 +114,7 @@ $t4SlotNames = [1=>'Helmet',2=>'Body',3=>'Right hand',4=>'Left hand',5=>'Shoes',
<input type="hidden" name="t4admin" value="delitem"> <input type="hidden" name="t4admin" value="delitem">
<input type="hidden" name="uid" value="<?php echo $id; ?>"> <input type="hidden" name="uid" value="<?php echo $id; ?>">
<input type="hidden" name="rowid" value="<?php echo (int) $t4Row['id']; ?>"> <input type="hidden" name="rowid" value="<?php echo (int) $t4Row['id']; ?>">
<button type="submit" class="t4a-btn danger">Delete</button> <button type="submit" class="t4a-btn danger"><?php echo ADM_DELETE; ?></button>
</form> </form>
</td> </td>
</tr> </tr>
@@ -130,7 +129,7 @@ $t4SlotNames = [1=>'Helmet',2=>'Body',3=>'Right hand',4=>'Left hand',5=>'Shoes',
<div class="body"> <div class="body">
<?php if (count($t4Sales) || count($t4Bids)) { ?> <?php if (count($t4Sales) || count($t4Bids)) { ?>
<table class="t4a-table"> <table class="t4a-table">
<tr><th>Auction</th><th>Role</th><th>Item</th><th>Price</th><th>Ends</th><th></th></tr> <tr><th><?php echo ADM_AUCTION; ?></th><th><?php echo ADM_ROLE; ?></th><th><?php echo ADM_ITEM; ?></th><th><?php echo ADM_PRICE; ?></th><th><?php echo ADM_ENDS; ?></th><th></th></tr>
<?php foreach ([['rows' => $t4Sales, 'role' => 'seller'], ['rows' => $t4Bids, 'role' => 'top bidder']] as $t4Group) { ?> <?php foreach ([['rows' => $t4Sales, 'role' => 'seller'], ['rows' => $t4Bids, 'role' => 'top bidder']] as $t4Group) { ?>
<?php foreach ($t4Group['rows'] as $t4A) { ?> <?php foreach ($t4Group['rows'] as $t4A) { ?>
<tr> <tr>
@@ -146,7 +145,7 @@ $t4SlotNames = [1=>'Helmet',2=>'Body',3=>'Right hand',4=>'Left hand',5=>'Shoes',
<input type="hidden" name="t4admin" value="cancelauction"> <input type="hidden" name="t4admin" value="cancelauction">
<input type="hidden" name="uid" value="<?php echo $id; ?>"> <input type="hidden" name="uid" value="<?php echo $id; ?>">
<input type="hidden" name="aucid" value="<?php echo (int) $t4A['id']; ?>"> <input type="hidden" name="aucid" value="<?php echo (int) $t4A['id']; ?>">
<button type="submit" class="t4a-btn danger">Cancel</button> <button type="submit" class="t4a-btn danger"><?php echo ADM_CANCEL; ?></button>
</form> </form>
</td> </td>
</tr> </tr>
@@ -158,16 +157,16 @@ $t4SlotNames = [1=>'Helmet',2=>'Body',3=>'Right hand',4=>'Left hand',5=>'Shoes',
</div> </div>
<div class="t4a-card"> <div class="t4a-card">
<h3>Adventures</h3> <h3><?php echo ADM_ADVENTURES; ?></h3>
<div class="body"> <div class="body">
<?php if ($t4Running) { ?> <?php if ($t4Running) { ?>
<p><b>Running:</b> adventure #<?php echo (int) $t4Running['id']; ?>, <p><b><?php echo ADM_RUNNING; ?></b> adventure #<?php echo (int) $t4Running['id']; ?>,
difficulty <?php echo (int) $t4Running['difficulty'] === 1 ? 'hard' : 'normal'; ?>, difficulty <?php echo (int) $t4Running['difficulty'] === 1 ? 'hard' : 'normal'; ?>,
arrives <?php echo date('d.m H:i:s', (int) $t4Running['endtime']); ?> (do not delete running adventures).</p> arrives <?php echo date('d.m H:i:s', (int) $t4Running['endtime']); ?> (do not delete running adventures).</p>
<?php } ?> <?php } ?>
<?php if (count($t4Offers)) { ?> <?php if (count($t4Offers)) { ?>
<table class="t4a-table"> <table class="t4a-table">
<tr><th>Offer</th><th>Difficulty</th><th>Duration</th><th>Expires</th><th></th></tr> <tr><th><?php echo ADM_OFFER; ?></th><th><?php echo ADM_DIFFICULTY; ?></th><th><?php echo ADM_DURATION; ?></th><th><?php echo ADM_EXPIRES; ?></th><th></th></tr>
<?php foreach ($t4Offers as $t4O) { ?> <?php foreach ($t4Offers as $t4O) { ?>
<tr> <tr>
<td>#<?php echo (int) $t4O['id']; ?></td> <td>#<?php echo (int) $t4O['id']; ?></td>
@@ -180,7 +179,7 @@ $t4SlotNames = [1=>'Helmet',2=>'Body',3=>'Right hand',4=>'Left hand',5=>'Shoes',
<input type="hidden" name="t4admin" value="deladventure"> <input type="hidden" name="t4admin" value="deladventure">
<input type="hidden" name="uid" value="<?php echo $id; ?>"> <input type="hidden" name="uid" value="<?php echo $id; ?>">
<input type="hidden" name="advid" value="<?php echo (int) $t4O['id']; ?>"> <input type="hidden" name="advid" value="<?php echo (int) $t4O['id']; ?>">
<button type="submit" class="t4a-btn danger">Remove</button> <button type="submit" class="t4a-btn danger"><?php echo ADM_REMOVE; ?></button>
</form> </form>
</td> </td>
</tr> </tr>
+17 -19
View File
@@ -71,8 +71,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_LOG_BUILD ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_BUILD_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_LOG_BUILD ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_BUILD_TOOLTIP ?></span></em></td>
<td> <td>
<select name="log_build"> <select name="log_build">
<option value="true" <?php if (LOG_BUILD==true) echo "selected";?>>Yes</option> <option value="true" <?php if (LOG_BUILD==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (LOG_BUILD==false) echo "selected";?>>No</option> <option value="false" <?php if (LOG_BUILD==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -80,8 +80,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_LOG_TECHNOLOGY ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_TECHNOLOGY_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_LOG_TECHNOLOGY ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_TECHNOLOGY_TOOLTIP ?></span></em></td>
<td> <td>
<select name="log_tech"> <select name="log_tech">
<option value="true" <?php if (LOG_TECH==true) echo "selected";?>>Yes</option> <option value="true" <?php if (LOG_TECH==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (LOG_TECH==false) echo "selected";?>>No</option> <option value="false" <?php if (LOG_TECH==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -89,8 +89,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_LOG_LOGIN ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_LOGIN_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_LOG_LOGIN ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_LOGIN_TOOLTIP ?></span></em></td>
<td> <td>
<select name="log_login"> <select name="log_login">
<option value="true" <?php if (LOG_LOGIN==true) echo "selected";?>>Yes</option> <option value="true" <?php if (LOG_LOGIN==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (LOG_LOGIN==false) echo "selected";?>>No</option> <option value="false" <?php if (LOG_LOGIN==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -98,8 +98,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_LOG_GOLD ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_GOLD_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_LOG_GOLD ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_GOLD_TOOLTIP ?></span></em></td>
<td> <td>
<select name="log_gold_fin"> <select name="log_gold_fin">
<option value="true" <?php if (LOG_GOLD_FIN==true) echo "selected";?>>Yes</option> <option value="true" <?php if (LOG_GOLD_FIN==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (LOG_GOLD_FIN==false) echo "selected";?>>No</option> <option value="false" <?php if (LOG_GOLD_FIN==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -107,8 +107,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_LOG_ADMIN ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_ADMIN_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_LOG_ADMIN ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_ADMIN_TOOLTIP ?></span></em></td>
<td> <td>
<select name="log_admin"> <select name="log_admin">
<option value="true" <?php if (LOG_ADMIN==true) echo "selected";?>>Yes</option> <option value="true" <?php if (LOG_ADMIN==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (LOG_ADMIN==false) echo "selected";?>>No</option> <option value="false" <?php if (LOG_ADMIN==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -116,8 +116,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_LOG_WAR ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_WAR_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_LOG_WAR ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_WAR_TOOLTIP ?></span></em></td>
<td> <td>
<select name="log_war"> <select name="log_war">
<option value="true" <?php if (LOG_WAR==true) echo "selected";?>>Yes</option> <option value="true" <?php if (LOG_WAR==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (LOG_WAR==false) echo "selected";?>>No</option> <option value="false" <?php if (LOG_WAR==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -125,8 +125,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_LOG_MARKET ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_MARKET_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_LOG_MARKET ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_MARKET_TOOLTIP ?></span></em></td>
<td> <td>
<select name="log_market"> <select name="log_market">
<option value="true" <?php if (LOG_MARKET==true) echo "selected";?>>Yes</option> <option value="true" <?php if (LOG_MARKET==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (LOG_MARKET==false) echo "selected";?>>No</option> <option value="false" <?php if (LOG_MARKET==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -134,8 +134,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_LOG_ILLEGAL ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_ILLEGAL_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_LOG_ILLEGAL ?> <em class="tooltip">?<span class="classic"><?php echo CONF_LOG_ILLEGAL_TOOLTIP ?></span></em></td>
<td> <td>
<select name="log_illegal"> <select name="log_illegal">
<option value="true" <?php if (LOG_ILLEGAL==true) echo "selected";?>>Yes</option> <option value="true" <?php if (LOG_ILLEGAL==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (LOG_ILLEGAL==false) echo "selected";?>>No</option> <option value="false" <?php if (LOG_ILLEGAL==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -150,9 +150,7 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/> <path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
<polyline points="17 21 17 13 7 13 7 21"/> <polyline points="17 21 17 13 7 13 7 21"/>
</svg> </svg><?php echo ADM_SAVE; ?></button>
SAVE
</button>
</div> </div>
</form> </form>
</div> </div>
+83 -85
View File
@@ -63,244 +63,244 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<div class="config-card"> <div class="config-card">
<div class="config-head"> <div class="config-head">
<span>Edit New Mechanics and Functions</span> <span><?php echo ADM_EDIT_NEW_MECHANICS_AND_FUNCTIONS; ?></span>
</div> </div>
<table class="config-table"> <table class="config-table">
<tbody> <tbody>
<tr> <tr>
<td class="b">Display oasis in profile <em class="tooltip">?<span class="classic">Enable (Disable) the display of oases of each village in the player profile</span></em></td> <td class="b"><?php echo ADM_DISPLAY_OASIS_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_DISPLAY_OF_OASES_OF_EACH; ?></span></em></td>
<td> <td>
<select name="new_functions_oasis"> <select name="new_functions_oasis">
<option value="True" <?php if(NEW_FUNCTIONS_OASIS == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_OASIS == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_OASIS == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_OASIS == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Alliance invitation message <em class="tooltip">?<span class="classic">Enable (Disable) sending an in-game message to the player, if he was invited to the alliance</span></em></td> <td class="b"><?php echo ADM_ALLIANCE_INVITATION_MESSAGE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_SENDING_AN_IN_GAME_MESSAGE_TO; ?></span></em></td>
<td> <td>
<select name="new_functions_alliance_invitation"> <select name="new_functions_alliance_invitation">
<option value="True" <?php if(NEW_FUNCTIONS_ALLIANCE_INVITATION == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_ALLIANCE_INVITATION == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_ALLIANCE_INVITATION == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_ALLIANCE_INVITATION == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">New Alliance & Embassy Mechanics <em class="tooltip">?<span class="classic">For this setting, you can find more information on the link: <a href="https://github.com/Shadowss/TravianZ/wiki/New-Alliance-&-Embassy-Mechanics" target="_blank">https://github.com</a></span></em></td> <td class="b"><?php echo ADM_NEW_ALLIANCE_EMBASSY_MECHANICS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_FOR_THIS_SETTING_YOU_CAN_FIND_MORE_INFORMATI; ?><a href="https://github.com/Shadowss/TravianZ/wiki/New-Alliance-&-Embassy-Mechanics" target="_blank">https://github.com</a></span></em></td>
<td> <td>
<select name="new_functions_embassy_mechanics"> <select name="new_functions_embassy_mechanics">
<option value="True" <?php if(NEW_FUNCTIONS_EMBASSY_MECHANICS == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_EMBASSY_MECHANICS == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_EMBASSY_MECHANICS == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_EMBASSY_MECHANICS == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">New forum post message <em class="tooltip">?<span class="classic">Enable (Disable) if a player leaves at least one message in the thread on the forum, he will receive in-game messages about the fact that new messages have appeared in the same thread (i.e. is technically "subscribed to")</span></em></td> <td class="b"><?php echo ADM_NEW_FORUM_POST_MESSAGE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_IF_A_PLAYER_LEAVES_AT_LEAST_O; ?></span></em></td>
<td> <td>
<select name="new_functions_forum_post_message"> <select name="new_functions_forum_post_message">
<option value="True" <?php if(NEW_FUNCTIONS_FORUM_POST_MESSAGE == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_FORUM_POST_MESSAGE == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_FORUM_POST_MESSAGE == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_FORUM_POST_MESSAGE == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Tribes images in profile <em class="tooltip">?<span class="classic">Enable (Disable) displaying images of tribes with a description in the players profile</span></em></td> <td class="b"><?php echo ADM_TRIBES_IMAGES_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_TRIBES_W; ?></span></em></td>
<td> <td>
<select name="new_functions_tribe_images"> <select name="new_functions_tribe_images">
<option value="True" <?php if(NEW_FUNCTIONS_TRIBE_IMAGES == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_TRIBE_IMAGES == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_TRIBE_IMAGES == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_TRIBE_IMAGES == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">MHs images in profile <em class="tooltip">?<span class="classic">Enable (Disable) displaying images of Multihunters with a description in the MHs profile</span></em></td> <td class="b"><?php echo ADM_MHS_IMAGES_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_MULTIHUN_2; ?></span></em></td>
<td> <td>
<select name="new_functions_mhs_images"> <select name="new_functions_mhs_images">
<option value="True" <?php if(NEW_FUNCTIONS_MHS_IMAGES == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_MHS_IMAGES == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_MHS_IMAGES == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_MHS_IMAGES == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Display artifact in profile <em class="tooltip">?<span class="classic">Enable (Disable) the display of the artifact in the player profile, opposite the corresponding village in which it is located</span></em></td> <td class="b"><?php echo ADM_DISPLAY_ARTIFACT_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_ARTIFACT_I; ?></span></em></td>
<td> <td>
<select name="new_functions_display_artifact"> <select name="new_functions_display_artifact">
<option value="True" <?php if(NEW_FUNCTIONS_DISPLAY_ARTIFACT == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_DISPLAY_ARTIFACT == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_DISPLAY_ARTIFACT == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_DISPLAY_ARTIFACT == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Display WoW in profile <em class="tooltip">?<span class="classic">Enable (Disable) the display of the wonder in the player profile, opposite the corresponding village in which it is located</span></em></td> <td class="b"><?php echo ADM_DISPLAY_WOW_IN_PROFILE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_WONDER_IN; ?></span></em></td>
<td> <td>
<select name="new_functions_display_wonder"> <select name="new_functions_display_wonder">
<option value="True" <?php if(NEW_FUNCTIONS_DISPLAY_WONDER == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_DISPLAY_WONDER == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_DISPLAY_WONDER == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_DISPLAY_WONDER == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Vacation Mode <em class="tooltip">?<span class="classic">Enable (Disable) vacation mode, will be displayed or hidden in the player profile menu</span></em></td> <td class="b"><?php echo ADM_VACATION_MODE; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_VACATION_MODE_WILL_BE_DISPLAY; ?></span></em></td>
<td> <td>
<select name="new_functions_vacation"> <select name="new_functions_vacation">
<option value="True" <?php if(NEW_FUNCTIONS_VACATION == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_VACATION == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_VACATION == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_VACATION == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Catapult targets <em class="tooltip">?<span class="classic">Enable (Disable) the display of the targets of the catapults in the rally point that were sent by you</span></em></td> <td class="b"><?php echo ADM_CATAPULT_TARGETS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_TARGETS_OF; ?></span></em></td>
<td> <td>
<select name="new_functions_display_catapult_target"> <select name="new_functions_display_catapult_target">
<option value="True" <?php if(NEW_FUNCTIONS_DISPLAY_CATAPULT_TARGET == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_DISPLAY_CATAPULT_TARGET == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_DISPLAY_CATAPULT_TARGET == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_DISPLAY_CATAPULT_TARGET == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Manual on Nature and Natars <em class="tooltip">?<span class="classic">Enable (Disable) displaying information in the Manual about the troops of Nature and Natars</span></em></td> <td class="b"><?php echo ADM_MANUAL_ON_NATURE_AND_NATARS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_DISPLAYING_INFORMATION_IN_THE; ?></span></em></td>
<td> <td>
<select name="new_functions_manual_naturenatars"> <select name="new_functions_manual_naturenatars">
<option value="True" <?php if(NEW_FUNCTIONS_MANUAL_NATURENATARS == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_MANUAL_NATURENATARS == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_MANUAL_NATURENATARS == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_MANUAL_NATURENATARS == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Direct links placement <em class="tooltip">?<span class="classic">If Enabled, then the Direct links will be placed in the left menu, if Disabled then Direct links will be placed in the right menu as in the original Travian</span></em></td> <td class="b"><?php echo ADM_DIRECT_LINKS_PLACEMENT; ?><em class="tooltip">?<span class="classic"><?php echo ADM_IF_ENABLED_THEN_THE_DIRECT_LINKS_WILL_BE_PLA; ?></span></em></td>
<td> <td>
<select name="new_functions_display_links"> <select name="new_functions_display_links">
<option value="True" <?php if(NEW_FUNCTIONS_DISPLAY_LINKS == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_DISPLAY_LINKS == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_DISPLAY_LINKS == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_DISPLAY_LINKS == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Medal Veteran Player <em class="tooltip">?<span class="classic">Enable (Disable) medal achieved for playing 3 years of Travian</span></em></td> <td class="b"><?php echo ADM_MEDAL_VETERAN_PLAYER; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_3; ?></span></em></td>
<td> <td>
<select name="new_functions_medal_3year"> <select name="new_functions_medal_3year">
<option value="True" <?php if(NEW_FUNCTIONS_MEDAL_3YEAR == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_MEDAL_3YEAR == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_MEDAL_3YEAR == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_MEDAL_3YEAR == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Medal Veteran Player 5a <em class="tooltip">?<span class="classic">Enable (Disable) medal achieved for playing 5 years of Travian</span></em></td> <td class="b"><?php echo ADM_MEDAL_VETERAN_PLAYER_5A; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_5; ?></span></em></td>
<td> <td>
<select name="new_functions_medal_5year"> <select name="new_functions_medal_5year">
<option value="True" <?php if(NEW_FUNCTIONS_MEDAL_5YEAR == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_MEDAL_5YEAR == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_MEDAL_5YEAR == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_MEDAL_5YEAR == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Medal Veteran Player 10a <em class="tooltip">?<span class="classic">Enable (Disable) medal achieved for playing 10 years of Travian</span></em></td> <td class="b"><?php echo ADM_MEDAL_VETERAN_PLAYER_10A; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_10; ?></span></em></td>
<td> <td>
<select name="new_functions_medal_10year"> <select name="new_functions_medal_10year">
<option value="True" <?php if(NEW_FUNCTIONS_MEDAL_10YEAR == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_MEDAL_10YEAR == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_MEDAL_10YEAR == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_MEDAL_10YEAR == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Special Medals <em class="tooltip">?<span class="classic">Enable (Disable) special medals (artifact, hero, ww, wall, great store, etc.)</span></em></td> <td class="b"><?php echo ADM_SPECIAL_MEDALS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_SPECIAL_MEDALS_ARTIFACT_HERO; ?></span></em></td>
<td> <td>
<select name="new_functions_special_medals_system"> <select name="new_functions_special_medals_system">
<option value="True" <?php if(NEW_FUNCTIONS_SPECIAL_MEDALS_SYSTEM == true) echo "selected";?>>True</option> <option value="True" <?php if(NEW_FUNCTIONS_SPECIAL_MEDALS_SYSTEM == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(NEW_FUNCTIONS_SPECIAL_MEDALS_SYSTEM == false) echo "selected";?>>False</option> <option value="False" <?php if(NEW_FUNCTIONS_SPECIAL_MEDALS_SYSTEM == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Server Milestones <em class="tooltip">?<span class="classic">Enable (Disable) the "Server Milestones" widget (first player to settle a 2nd village, reach 1000 population, capture an artefact, conquer a WW, conquer a WW building plan, found an alliance, or conquer a village from another player) shown at the top of Statistics &raquo; General</span></em> <td class="b"><?php echo ADM_SERVER_MILESTONES; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_SERVER_MILESTONES_WIDGET; ?></span></em>
<?php if (!defined('NEW_FUNCTIONS_MILESTONES')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;">Not present in config.php yet &mdash; saving this form once will add it (defaults to False until then).</span><?php endif; ?> <?php if (!defined('NEW_FUNCTIONS_MILESTONES')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;"><?php echo ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO; ?></span><?php endif; ?>
</td> </td>
<td> <td>
<select name="new_functions_milestones"> <select name="new_functions_milestones">
<option value="True" <?php if(defined('NEW_FUNCTIONS_MILESTONES') && NEW_FUNCTIONS_MILESTONES == true) echo "selected";?>>True</option> <option value="True" <?php if(defined('NEW_FUNCTIONS_MILESTONES') && NEW_FUNCTIONS_MILESTONES == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(!defined('NEW_FUNCTIONS_MILESTONES') || NEW_FUNCTIONS_MILESTONES == false) echo "selected";?>>False</option> <option value="False" <?php if(!defined('NEW_FUNCTIONS_MILESTONES') || NEW_FUNCTIONS_MILESTONES == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Server Medal Reset Timer <em class="tooltip">?<span class="classic">Enable (Disable) the "Server Medal Reset Timer" widget in Player Top 10 and Alliance Top 10</span></em> <td class="b"><?php echo ADM_SERVER_MEDAL_RESET_TIMER; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_SERVER_MEDAL_RESET_TIMER; ?></span></em>
<?php if (!defined('NEW_FUNCTIONS_MEDAL_RESET')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;">Not present in config.php yet &mdash; saving this form once will add it (defaults to False until then).</span><?php endif; ?> <?php if (!defined('NEW_FUNCTIONS_MEDAL_RESET')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;"><?php echo ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO; ?></span><?php endif; ?>
</td> </td>
<td> <td>
<select name="new_functions_medal_reset"> <select name="new_functions_medal_reset">
<option value="True" <?php if(defined('NEW_FUNCTIONS_MEDAL_RESET') && NEW_FUNCTIONS_MEDAL_RESET == true) echo "selected";?>>True</option> <option value="True" <?php if(defined('NEW_FUNCTIONS_MEDAL_RESET') && NEW_FUNCTIONS_MEDAL_RESET == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(!defined('NEW_FUNCTIONS_MEDAL_RESET') || NEW_FUNCTIONS_MEDAL_RESET == false) echo "selected";?>>False</option> <option value="False" <?php if(!defined('NEW_FUNCTIONS_MEDAL_RESET') || NEW_FUNCTIONS_MEDAL_RESET == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">T4 Hero (items, adventures, auction) <em class="tooltip">?<span class="classic">Enable (Disable) the "T4 Hero (items, adventures, auction)" System</span></em> <td class="b"><?php echo ADM_T4_HERO_ITEMS_ADVENTURES_AUCTION; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_THE_T4_HERO_ITEMS_ADVENTURES; ?></span></em>
<?php if (!defined('NEW_FUNCTIONS_HERO_T4')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;">Not present in config.php yet &mdash; saving this form once will add it (defaults to False until then).</span><?php endif; ?> <?php if (!defined('NEW_FUNCTIONS_HERO_T4')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;"><?php echo ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO; ?></span><?php endif; ?>
</td> </td>
<td> <td>
<select name="new_functions_hero_t4"> <select name="new_functions_hero_t4">
<option value="True" <?php if(defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4 == true) echo "selected";?>>True</option> <option value="True" <?php if(defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4 == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(!defined('NEW_FUNCTIONS_HERO_T4') || NEW_FUNCTIONS_HERO_T4 == false) echo "selected";?>>False</option> <option value="False" <?php if(!defined('NEW_FUNCTIONS_HERO_T4') || NEW_FUNCTIONS_HERO_T4 == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">New Tribe: Huns <em class="tooltip">?<span class="classic">Enable (Disable) tribe Huns</span></em> <td class="b"><?php echo ADM_NEW_TRIBE_HUNS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_TRIBE_HUNS; ?></span></em>
<?php if (!defined('NEW_FUNCTION_TRIBE_HUNS')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;">Not present in config.php yet &mdash; saving this form once will add it (defaults to False until then).</span><?php endif; ?> <?php if (!defined('NEW_FUNCTION_TRIBE_HUNS')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;"><?php echo ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO; ?></span><?php endif; ?>
</td> </td>
<td> <td>
<select name="new_function_tribe_huns"> <select name="new_function_tribe_huns">
<option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_HUNS') && NEW_FUNCTION_TRIBE_HUNS == true) echo "selected";?>>True</option> <option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_HUNS') && NEW_FUNCTION_TRIBE_HUNS == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_HUNS') || NEW_FUNCTION_TRIBE_HUNS == false) echo "selected";?>>False</option> <option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_HUNS') || NEW_FUNCTION_TRIBE_HUNS == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">New Tribe: Egyptians <em class="tooltip">?<span class="classic">Enable (Disable) tribe Egyptians</span></em> <td class="b"><?php echo ADM_NEW_TRIBE_EGYPTIANS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_TRIBE_EGYPTIANS; ?></span></em>
<?php if (!defined('NEW_FUNCTION_TRIBE_EGIPTEANS')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;">Not present in config.php yet &mdash; saving this form once will add it (defaults to False until then).</span><?php endif; ?> <?php if (!defined('NEW_FUNCTION_TRIBE_EGIPTEANS')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;"><?php echo ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO; ?></span><?php endif; ?>
</td> </td>
<td> <td>
<select name="new_function_tribe_egipteans"> <select name="new_function_tribe_egipteans">
<option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_EGIPTEANS') && NEW_FUNCTION_TRIBE_EGIPTEANS == true) echo "selected";?>>True</option> <option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_EGIPTEANS') && NEW_FUNCTION_TRIBE_EGIPTEANS == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_EGIPTEANS') || NEW_FUNCTION_TRIBE_EGIPTEANS == false) echo "selected";?>>False</option> <option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_EGIPTEANS') || NEW_FUNCTION_TRIBE_EGIPTEANS == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">New Tribe: Spartans <em class="tooltip">?<span class="classic">Enable (Disable) tribe Spartans</span></em> <td class="b"><?php echo ADM_NEW_TRIBE_SPARTANS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_TRIBE_SPARTANS; ?></span></em>
<?php if (!defined('NEW_FUNCTION_TRIBE_SPARTANS')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;">Not present in config.php yet &mdash; saving this form once will add it (defaults to False until then).</span><?php endif; ?> <?php if (!defined('NEW_FUNCTION_TRIBE_SPARTANS')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;"><?php echo ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO; ?></span><?php endif; ?>
</td> </td>
<td> <td>
<select name="new_function_tribe_spartans"> <select name="new_function_tribe_spartans">
<option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_SPARTANS') && NEW_FUNCTION_TRIBE_SPARTANS == true) echo "selected";?>>True</option> <option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_SPARTANS') && NEW_FUNCTION_TRIBE_SPARTANS == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_SPARTANS') || NEW_FUNCTION_TRIBE_SPARTANS == false) echo "selected";?>>False</option> <option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_SPARTANS') || NEW_FUNCTION_TRIBE_SPARTANS == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">New Tribe: Vikings <em class="tooltip">?<span class="classic">Enable (Disable) tribe Vikings</span></em> <td class="b"><?php echo ADM_NEW_TRIBE_VIKINGS; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_TRIBE_VIKINGS; ?></span></em>
<?php if (!defined('NEW_FUNCTION_TRIBE_VIKINGS')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;">Not present in config.php yet &mdash; saving this form once will add it (defaults to False until then).</span><?php endif; ?> <?php if (!defined('NEW_FUNCTION_TRIBE_VIKINGS')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;"><?php echo ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO; ?></span><?php endif; ?>
</td> </td>
<td> <td>
<select name="new_function_tribe_vikings"> <select name="new_function_tribe_vikings">
<option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_VIKINGS') && NEW_FUNCTION_TRIBE_VIKINGS == true) echo "selected";?>>True</option> <option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_VIKINGS') && NEW_FUNCTION_TRIBE_VIKINGS == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_VIKINGS') || NEW_FUNCTION_TRIBE_VIKINGS == false) echo "selected";?>>False</option> <option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_VIKINGS') || NEW_FUNCTION_TRIBE_VIKINGS == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Registration Bonus Gold <em class="tooltip">?<span class="classic">Enable (Disable) a one-time gold bonus granted to every newly registered player at account creation (system accounts id&le;3 are skipped). The amount is set in the field below.</span></em> <td class="b"><?php echo ADM_REGISTRATION_BONUS_GOLD; ?><em class="tooltip">?<span class="classic"><?php echo ADM_ENABLE_DISABLE_A_ONE_TIME_GOLD_BONUS_GRANTED; ?></span></em>
<?php if (!defined('NEW_FUNCTION_REGISTRATION_GOLD')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;">Not present in config.php yet &mdash; saving this form once will add it (defaults to False until then).</span><?php endif; ?> <?php if (!defined('NEW_FUNCTION_REGISTRATION_GOLD')): ?><br><span style="color:#c0392b;font-size:11px;font-weight:normal;text-transform:none;"><?php echo ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO; ?></span><?php endif; ?>
</td> </td>
<td> <td>
<select name="new_function_registration_gold"> <select name="new_function_registration_gold">
<option value="True" <?php if(defined('NEW_FUNCTION_REGISTRATION_GOLD') && NEW_FUNCTION_REGISTRATION_GOLD == true) echo "selected";?>>True</option> <option value="True" <?php if(defined('NEW_FUNCTION_REGISTRATION_GOLD') && NEW_FUNCTION_REGISTRATION_GOLD == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(!defined('NEW_FUNCTION_REGISTRATION_GOLD') || NEW_FUNCTION_REGISTRATION_GOLD == false) echo "selected";?>>False</option> <option value="False" <?php if(!defined('NEW_FUNCTION_REGISTRATION_GOLD') || NEW_FUNCTION_REGISTRATION_GOLD == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Registration Bonus Gold &ndash; amount <em class="tooltip">?<span class="classic">How much gold each new player receives when the toggle above is True. Default: 200.</span></em></td> <td class="b"><?php echo ADM_REGISTRATION_BONUS_GOLD_AMOUNT; ?><em class="tooltip">?<span class="classic"><?php echo ADM_HOW_MUCH_GOLD_EACH_NEW_PLAYER_RECEIVES_WHEN_2; ?></span></em></td>
<td> <td>
<input type="number" min="0" step="1" name="new_function_registration_gold_value" value="<?php echo (defined('NEW_FUNCTION_REGISTRATION_GOLD_VALUE') ? (int) NEW_FUNCTION_REGISTRATION_GOLD_VALUE : 200); ?>"> <input type="number" min="0" step="1" name="new_function_registration_gold_value" value="<?php echo (defined('NEW_FUNCTION_REGISTRATION_GOLD_VALUE') ? (int) NEW_FUNCTION_REGISTRATION_GOLD_VALUE : 200); ?>">
</td> </td>
@@ -316,9 +316,7 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/> <path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
<polyline points="17 21 17 13 7 13 7 21"/> <polyline points="17 21 17 13 7 13 7 21"/>
</svg> </svg><?php echo ADM_SAVE; ?></button>
SAVE
</button>
</div> </div>
</form> </form>
</div> </div>
+7 -9
View File
@@ -71,8 +71,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo EDIT_NEWSBOX1 ?> <em class="tooltip">?<span class="classic"><?php echo EDIT_NEWSBOX1_TOOLTIP ?></span></em></td> <td class="b"><?php echo EDIT_NEWSBOX1 ?> <em class="tooltip">?<span class="classic"><?php echo EDIT_NEWSBOX1_TOOLTIP ?></span></em></td>
<td> <td>
<select name="box1"> <select name="box1">
<option value="true" <?php if (NEWSBOX1==true) echo "selected";?>>Enable</option> <option value="true" <?php if (NEWSBOX1==true) echo "selected";?>><?php echo ADM_ENABLE; ?></option>
<option value="false" <?php if (NEWSBOX1==false) echo "selected";?>>Disable</option> <option value="false" <?php if (NEWSBOX1==false) echo "selected";?>><?php echo ADM_DISABLE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -80,8 +80,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo EDIT_NEWSBOX2 ?> <em class="tooltip">?<span class="classic"><?php echo EDIT_NEWSBOX2_TOOLTIP ?></span></em></td> <td class="b"><?php echo EDIT_NEWSBOX2 ?> <em class="tooltip">?<span class="classic"><?php echo EDIT_NEWSBOX2_TOOLTIP ?></span></em></td>
<td> <td>
<select name="box2"> <select name="box2">
<option value="true" <?php if (NEWSBOX2==true) echo "selected";?>>Enable</option> <option value="true" <?php if (NEWSBOX2==true) echo "selected";?>><?php echo ADM_ENABLE; ?></option>
<option value="false" <?php if (NEWSBOX2==false) echo "selected";?>>Disable</option> <option value="false" <?php if (NEWSBOX2==false) echo "selected";?>><?php echo ADM_DISABLE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -89,8 +89,8 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo EDIT_NEWSBOX3 ?> <em class="tooltip">?<span class="classic"><?php echo EDIT_NEWSBOX3_TOOLTIP ?></span></em></td> <td class="b"><?php echo EDIT_NEWSBOX3 ?> <em class="tooltip">?<span class="classic"><?php echo EDIT_NEWSBOX3_TOOLTIP ?></span></em></td>
<td> <td>
<select name="box3"> <select name="box3">
<option value="true" <?php if (NEWSBOX3==true) echo "selected";?>>Enable</option> <option value="true" <?php if (NEWSBOX3==true) echo "selected";?>><?php echo ADM_ENABLE; ?></option>
<option value="false" <?php if (NEWSBOX3==false) echo "selected";?>>Disable</option> <option value="false" <?php if (NEWSBOX3==false) echo "selected";?>><?php echo ADM_DISABLE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -105,9 +105,7 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/> <path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
<polyline points="17 21 17 13 7 13 7 21"/> <polyline points="17 21 17 13 7 13 7 21"/>
</svg> </svg><?php echo ADM_SAVE; ?></button>
SAVE
</button>
</div> </div>
</form> </form>
</div> </div>
+6 -6
View File
@@ -58,7 +58,7 @@ if($id){
<div class="over-head"> <div class="over-head">
<div class="icon"></div> <div class="icon"></div>
<div> <div>
<h2>Overall Points: <a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2> <h2><?php echo ADM_OVERALL_POINTS; ?><a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2>
<div class="sub">UID: <?php echo $uid; ?> Rank: #<?php echo (int)$user['rank']; ?></div> <div class="sub">UID: <?php echo $uid; ?> Rank: #<?php echo (int)$user['rank']; ?></div>
</div> </div>
</div> </div>
@@ -71,19 +71,19 @@ if($id){
<div class="card"> <div class="card">
<div class="body"> <div class="body">
<div class="info">🛡 Acestea sunt punctele <b>totale</b> din statistici (nu cele săptămânale). Se adună din toate atacurile.</div> <div class="info"><?php echo ADM_ACESTEA_SUNT_PUNCTELE_2; ?><b><?php echo ADM_TOTALE; ?></b><?php echo ADM_DIN_STATISTICI_NU_CELE_S_PT_M_NALE_SE_ADUN_D; ?></div>
<div class="stats-grid"> <div class="stats-grid">
<div class="stat-box off"> <div class="stat-box off">
<div class="icon"></div> <div class="icon"></div>
<div class="label">Attack Points</div> <div class="label"><?php echo ADM_ATTACK_POINTS; ?></div>
<div class="current">Current: <?php echo number_format($user['apall']); ?></div> <div class="current">Current: <?php echo number_format($user['apall']); ?></div>
<input type="number" name="off" value="<?php echo (int)$user['apall']; ?>" min="0" step="1"> <input type="number" name="off" value="<?php echo (int)$user['apall']; ?>" min="0" step="1">
</div> </div>
<div class="stat-box def"> <div class="stat-box def">
<div class="icon">🛡</div> <div class="icon">🛡</div>
<div class="label">Defence Points</div> <div class="label"><?php echo ADM_DEFENCE_POINTS; ?></div>
<div class="current">Current: <?php echo number_format($user['dpall']); ?></div> <div class="current">Current: <?php echo number_format($user['dpall']); ?></div>
<input type="number" name="def" value="<?php echo (int)$user['dpall']; ?>" min="0" step="1"> <input type="number" name="def" value="<?php echo (int)$user['dpall']; ?>" min="0" step="1">
</div> </div>
@@ -92,8 +92,8 @@ if($id){
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"> Back</a> <a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"><?php echo ADM_BACK; ?></a>
<button type="submit" class="btn-save">💾 Save Points</button> <button type="submit" class="btn-save"><?php echo ADM_SAVE_POINTS; ?></button>
</div> </div>
</form> </form>
</div> </div>
+8 -8
View File
@@ -69,7 +69,7 @@ function genPw(){
<div class="pw-head"> <div class="pw-head">
<div class="icon">🔐</div> <div class="icon">🔐</div>
<div> <div>
<h2>Change Password: <a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2> <h2><?php echo ADM_CHANGE_PASSWORD; ?><a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2>
<div class="sub">UID: <?php echo $uid; ?> <?php echo htmlspecialchars($user['email']); ?></div> <div class="sub">UID: <?php echo $uid; ?> <?php echo htmlspecialchars($user['email']); ?></div>
</div> </div>
</div> </div>
@@ -83,23 +83,23 @@ function genPw(){
<div class="body"> <div class="body">
<div class="warning"> <div class="warning">
<span></span> <span></span>
<div><b>WARNING:</b> The password is changed instantly. The player will be logged out. No automatic email is sent.</div> <div><b><?php echo ADM_WARNING; ?></b><?php echo ADM_THE_PASSWORD_IS_CHANGED_INSTANTLY_THE_PLAYER; ?></div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="newpw">New Password</label> <label for="newpw"><?php echo ADM_NEW_PASSWORD; ?></label>
<div class="input-wrap"> <div class="input-wrap">
<input type="text" id="newpw" name="newpw" value="" placeholder="Introdu parola nouă" autocomplete="new-password" required> <input type="text" id="newpw" name="newpw" value="" placeholder="<?php echo ADM_INTRODU_PAROLA_NOU; ?>" autocomplete="new-password" required>
<button type="button" class="toggle-eye" onclick="togglePw()" title="Show/Hide">👁</button> <button type="button" class="toggle-eye" onclick="togglePw()" title="<?php echo ADM_SHOW_HIDE; ?>">👁</button>
</div> </div>
<button type="button" class="btn-gen" onclick="genPw()">🎲 Generate secure password</button> <button type="button" class="btn-gen" onclick="genPw()"><?php echo ADM_GENERATE_SECURE_PASSWORD; ?></button>
</div> </div>
</div> </div>
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"> Back</a> <a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"><?php echo ADM_BACK; ?></a>
<button type="submit" class="btn-save">🔐 Change Password</button> <button type="submit" class="btn-save"><?php echo ADM_CHANGE_PASSWORD_2; ?></button>
</div> </div>
</form> </form>
</div> </div>
+6 -6
View File
@@ -61,7 +61,7 @@ if($id){
<div class="plus-wrap"> <div class="plus-wrap">
<div class="plus-head"> <div class="plus-head">
<h2> Plus & Bonuses: <a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2> <h2><?php echo ADM_PLUS_BONUSES; ?><a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2>
<div>UID: <?php echo $uid;?></div> <div>UID: <?php echo $uid;?></div>
</div> </div>
@@ -71,10 +71,10 @@ if($id){
<input type="hidden" name="uid" value="<?php echo $uid;?>"> <input type="hidden" name="uid" value="<?php echo $uid;?>">
<input type="hidden" name="id" value="<?php echo $id;?>"> <input type="hidden" name="id" value="<?php echo $id;?>">
<div class="info-box"> The values add up. Put 5 to add 5 days, -5 to remove 5 days.</div> <div class="info-box"><?php echo ADM_THE_VALUES_ADD_UP_PUT_5_TO_ADD_5_DAYS_5_TO_R; ?></div>
<div class="card"> <div class="card">
<h3>📊 Current Active Bonuses</h3> <h3><?php echo ADM_CURRENT_ACTIVE_BONUSES; ?></h3>
<div class="body"> <div class="body">
<div class="active-grid"> <div class="active-grid">
<?php <?php
@@ -104,7 +104,7 @@ if($id){
</div> </div>
<div class="card"> <div class="card">
<h3> Add / Remove Days</h3> <h3><?php echo ADM_ADD_REMOVE_DAYS; ?></h3>
<div class="body"> <div class="body">
<div class="bonus-grid"> <div class="bonus-grid">
<?php $items=['plus'=>['⭐','Travian Plus'],'wood'=>['🌲','+25% Wood'],'clay'=>['🧱','+25% Clay'],'iron'=>['⛏️','+25% Iron'],'crop'=>['🌾','+25% Crop']]; <?php $items=['plus'=>['⭐','Travian Plus'],'wood'=>['🌲','+25% Wood'],'clay'=>['🧱','+25% Clay'],'iron'=>['⛏️','+25% Iron'],'crop'=>['🌾','+25% Crop']];
@@ -114,8 +114,8 @@ if($id){
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"> Back</a> <a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"><?php echo ADM_BACK; ?></a>
<button type="submit" class="btn-save">💾 Apply Bonuses</button> <button type="submit" class="btn-save"><?php echo ADM_APPLY_BONUSES; ?></button>
</div> </div>
</form> </form>
</div> </div>
+17 -19
View File
@@ -144,14 +144,14 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_PLUS_ACCDURATION ?> <em class="tooltip">?<span class="classic"><?php echo CONF_PLUS_ACCDURATION_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_PLUS_ACCDURATION ?> <em class="tooltip">?<span class="classic"><?php echo CONF_PLUS_ACCDURATION_TOOLTIP ?></span></em></td>
<td> <td>
<select name="plus_time"> <select name="plus_time">
<option value="(3600*12)" <?php if(PLUS_TIME==43200) echo "selected";?>>12 hours</option> <option value="(3600*12)" <?php if(PLUS_TIME==43200) echo "selected";?>><?php echo ADM_12_HOURS; ?></option>
<option value="(3600*24)" <?php if(PLUS_TIME==86400) echo "selected";?>>1 day</option> <option value="(3600*24)" <?php if(PLUS_TIME==86400) echo "selected";?>><?php echo ADM_1_DAY; ?></option>
<option value="(3600*24*2)" <?php if(PLUS_TIME==172800) echo "selected";?>>2 days</option> <option value="(3600*24*2)" <?php if(PLUS_TIME==172800) echo "selected";?>><?php echo ADM_2_DAYS; ?></option>
<option value="(3600*24*3)" <?php if(PLUS_TIME==259200) echo "selected";?>>3 days</option> <option value="(3600*24*3)" <?php if(PLUS_TIME==259200) echo "selected";?>><?php echo ADM_3_DAYS; ?></option>
<option value="(3600*24*4)" <?php if(PLUS_TIME==345600) echo "selected";?>>4 days</option> <option value="(3600*24*4)" <?php if(PLUS_TIME==345600) echo "selected";?>><?php echo ADM_4_DAYS; ?></option>
<option value="(3600*24*5)" <?php if(PLUS_TIME==432000) echo "selected";?>>5 days</option> <option value="(3600*24*5)" <?php if(PLUS_TIME==432000) echo "selected";?>><?php echo ADM_5_DAYS; ?></option>
<option value="(3600*24*6)" <?php if(PLUS_TIME==518400) echo "selected";?>>6 days</option> <option value="(3600*24*6)" <?php if(PLUS_TIME==518400) echo "selected";?>><?php echo ADM_6_DAYS; ?></option>
<option value="(3600*24*7)" <?php if(PLUS_TIME==604800) echo "selected";?>>7 days</option> <option value="(3600*24*7)" <?php if(PLUS_TIME==604800) echo "selected";?>><?php echo ADM_7_DAYS; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -159,14 +159,14 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<td class="b"><?php echo CONF_PLUS_PRODUCTDURATION ?> <em class="tooltip">?<span class="classic"><?php echo CONF_PLUS_PRODUCTDURATION_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_PLUS_PRODUCTDURATION ?> <em class="tooltip">?<span class="classic"><?php echo CONF_PLUS_PRODUCTDURATION_TOOLTIP ?></span></em></td>
<td> <td>
<select name="plus_production"> <select name="plus_production">
<option value="(3600*12)" <?php if(PLUS_TIME==43200) echo "selected";?>>12 hours</option> <option value="(3600*12)" <?php if(PLUS_TIME==43200) echo "selected";?>><?php echo ADM_12_HOURS; ?></option>
<option value="(3600*24)" <?php if(PLUS_TIME==86400) echo "selected";?>>1 day</option> <option value="(3600*24)" <?php if(PLUS_TIME==86400) echo "selected";?>><?php echo ADM_1_DAY; ?></option>
<option value="(3600*24*2)" <?php if(PLUS_TIME==172800) echo "selected";?>>2 days</option> <option value="(3600*24*2)" <?php if(PLUS_TIME==172800) echo "selected";?>><?php echo ADM_2_DAYS; ?></option>
<option value="(3600*24*3)" <?php if(PLUS_TIME==259200) echo "selected";?>>3 days</option> <option value="(3600*24*3)" <?php if(PLUS_TIME==259200) echo "selected";?>><?php echo ADM_3_DAYS; ?></option>
<option value="(3600*24*4)" <?php if(PLUS_TIME==345600) echo "selected";?>>4 days</option> <option value="(3600*24*4)" <?php if(PLUS_TIME==345600) echo "selected";?>><?php echo ADM_4_DAYS; ?></option>
<option value="(3600*24*5)" <?php if(PLUS_TIME==432000) echo "selected";?>>5 days</option> <option value="(3600*24*5)" <?php if(PLUS_TIME==432000) echo "selected";?>><?php echo ADM_5_DAYS; ?></option>
<option value="(3600*24*6)" <?php if(PLUS_TIME==518400) echo "selected";?>>6 days</option> <option value="(3600*24*6)" <?php if(PLUS_TIME==518400) echo "selected";?>><?php echo ADM_6_DAYS; ?></option>
<option value="(3600*24*7)" <?php if(PLUS_TIME==604800) echo "selected";?>>7 days</option> <option value="(3600*24*7)" <?php if(PLUS_TIME==604800) echo "selected";?>><?php echo ADM_7_DAYS; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -181,9 +181,7 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/> <path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
<polyline points="17 21 17 13 7 13 7 21"/> <polyline points="17 21 17 13 7 13 7 21"/>
</svg> </svg><?php echo ADM_SAVE; ?></button>
SAVE
</button>
</div> </div>
</form> </form>
</div> </div>
+10 -10
View File
@@ -68,7 +68,7 @@ function setDays(d){ document.getElementById('protect').value = d; }
<div class="prot-head"> <div class="prot-head">
<div class="icon">🛡</div> <div class="icon">🛡</div>
<div> <div>
<h2>Protection: <a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2> <h2><?php echo ADM_PROTECTION; ?><a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2>
<div class="sub">UID: <?php echo $uid; ?></div> <div class="sub">UID: <?php echo $uid; ?></div>
</div> </div>
</div> </div>
@@ -82,30 +82,30 @@ function setDays(d){ document.getElementById('protect').value = d; }
<div class="card"> <div class="card">
<div class="body"> <div class="body">
<div class="status-box <?php echo $isActive ? 'active' : 'expired'; ?>"> <div class="status-box <?php echo $isActive ? 'active' : 'expired'; ?>">
<div class="label">Current Status</div> <div class="label"><?php echo ADM_CURRENT_STATUS_2; ?></div>
<div class="date"><?php echo $isActive ? 'ACTIVE' : 'EXPIRED'; ?></div> <div class="date"><?php echo $isActive ? 'ACTIVE' : 'EXPIRED'; ?></div>
<div class="left">Ends: <?php echo $ends; ?><?php if($isActive) echo " ($left days left)"; ?></div> <div class="left">Ends: <?php echo $ends; ?><?php if($isActive) echo " ($left days left)"; ?></div>
</div> </div>
<div class="input-group"> <div class="input-group">
<input type="number" id="protect" name="protect" value="0" min="0" max="365"> <input type="number" id="protect" name="protect" value="0" min="0" max="365">
<span>Days</span> <span><?php echo ADM_DAYS; ?></span>
</div> </div>
<div class="quick-btns"> <div class="quick-btns">
<button type="button" onclick="setDays(1)">+1 day</button> <button type="button" onclick="setDays(1)"><?php echo ADM_1_DAY_2; ?></button>
<button type="button" onclick="setDays(3)">+3 days</button> <button type="button" onclick="setDays(3)"><?php echo ADM_3_DAYS_2; ?></button>
<button type="button" onclick="setDays(7)">+7 days</button> <button type="button" onclick="setDays(7)"><?php echo ADM_7_DAYS_2; ?></button>
<button type="button" onclick="setDays(0)">Remove</button> <button type="button" onclick="setDays(0)"><?php echo ADM_REMOVE; ?></button>
</div> </div>
<div class="info">💡 Set to 0 to remove protection. Protection is added from the time of saving.</div> <div class="info"><?php echo ADM_SET_TO_0_TO_REMOVE_PROTECTION_PROTECTION_IS; ?></div>
</div> </div>
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"> Back</a> <a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"><?php echo ADM_BACK; ?></a>
<button type="submit" class="btn-save">💾 Save Protection</button> <button type="submit" class="btn-save"><?php echo ADM_SAVE_PROTECTION; ?></button>
</div> </div>
</form> </form>
</div> </div>
+9 -9
View File
@@ -54,27 +54,27 @@ if($id){
<table class="res-table"> <table class="res-table">
<thead> <thead>
<tr> <tr>
<td style="width:140px">Resource</td> <td style="width:140px"><?php echo ADM_RESOURCE; ?></td>
<td>Amount</td> <td><?php echo ADM_AMOUNT; ?></td>
<td style="width:160px">Maximum Capacity</td> <td style="width:160px"><?php echo ADM_MAXIMUM_CAPACITY; ?></td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td><div class="res-name"><img src="../img/admin/r/1.gif"> Wood</div></td> <td><div class="res-name"><img src="../img/admin/r/1.gif"><?php echo ADM_WOOD; ?></div></td>
<td><input class="res-input" name="wood" value="<?php echo round($village['wood'],0); ?>"></td> <td><input class="res-input" name="wood" value="<?php echo round($village['wood'],0); ?>"></td>
<td rowspan="3"><input class="res-input" name="maxstore" value="<?php echo round($village['maxstore'],0); ?>"></td> <td rowspan="3"><input class="res-input" name="maxstore" value="<?php echo round($village['maxstore'],0); ?>"></td>
</tr> </tr>
<tr> <tr>
<td><div class="res-name"><img src="../img/admin/r/2.gif"> Clay</div></td> <td><div class="res-name"><img src="../img/admin/r/2.gif"><?php echo ADM_CLAY; ?></div></td>
<td><input class="res-input" name="clay" value="<?php echo round($village['clay'],0); ?>"></td> <td><input class="res-input" name="clay" value="<?php echo round($village['clay'],0); ?>"></td>
</tr> </tr>
<tr> <tr>
<td><div class="res-name"><img src="../img/admin/r/3.gif"> Iron</div></td> <td><div class="res-name"><img src="../img/admin/r/3.gif"><?php echo ADM_IRON; ?></div></td>
<td><input class="res-input" name="iron" value="<?php echo round($village['iron'],0); ?>"></td> <td><input class="res-input" name="iron" value="<?php echo round($village['iron'],0); ?>"></td>
</tr> </tr>
<tr> <tr>
<td><div class="res-name"><img src="../img/admin/r/4.gif"> Crop</div></td> <td><div class="res-name"><img src="../img/admin/r/4.gif"><?php echo ADM_CROP; ?></div></td>
<td><input class="res-input" name="crop" value="<?php echo round($village['crop'],0); ?>"></td> <td><input class="res-input" name="crop" value="<?php echo round($village['crop'],0); ?>"></td>
<td><input class="res-input" name="maxcrop" value="<?php echo round($village['maxcrop'],0); ?>"></td> <td><input class="res-input" name="maxcrop" value="<?php echo round($village['maxcrop'],0); ?>"></td>
</tr> </tr>
@@ -82,8 +82,8 @@ if($id){
</table> </table>
<div class="res-actions"> <div class="res-actions">
<a href="../Admin/admin.php?p=village&did=<?php echo (int)($_GET['did'] ?? 0);?>" class="btn-back"> Back to village</a> <a href="../Admin/admin.php?p=village&did=<?php echo (int)($_GET['did'] ?? 0);?>" class="btn-back"><?php echo ADM_BACK_TO_VILLAGE_2; ?></a>
<button type="submit" class="btn-save">Save Changes</button> <button type="submit" class="btn-save"><?php echo ADM_SAVE_CHANGES; ?></button>
</div> </div>
</div> </div>
</form> </form>
+68 -79
View File
@@ -150,11 +150,11 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_LANG ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_LANG_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_LANG ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_LANG_TOOLTIP ?></span></em></td>
<td> <td>
<select name="lang"> <select name="lang">
<option value="en" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="en") echo "selected";?>>English</option> <option value="en" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="en") echo "selected";?>><?php echo ADM_ENGLISH; ?></option>
<option value="fr" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="fr") echo "selected";?>>French</option> <option value="fr" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="fr") echo "selected";?>><?php echo ADM_FRENCH; ?></option>
<option value="it" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="it") echo "selected";?>>Italian</option> <option value="it" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="it") echo "selected";?>><?php echo ADM_ITALIAN; ?></option>
<option value="ro" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="ro") echo "selected";?>>Romanian</option> <option value="ro" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="ro") echo "selected";?>><?php echo ADM_ROMANIAN; ?></option>
<option value="zh" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="zh") echo "selected";?>>Chinese</option> <option value="zh" <?php if ((defined('SERVER_LANG') ? SERVER_LANG : LANG)=="zh") echo "selected";?>><?php echo ADM_CHINESE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -210,8 +210,8 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_VILLEXPSPEED ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_VILLEXPSPEED_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_VILLEXPSPEED ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_VILLEXPSPEED_TOOLTIP ?></span></em></td>
<td> <td>
<select name="village_expand"> <select name="village_expand">
<option value="1" <?php if (CP=="1") echo "selected";?>>Slow</option> <option value="1" <?php if (CP=="1") echo "selected";?>><?php echo ADM_SLOW; ?></option>
<option value="0" <?php if (CP=="0") echo "selected";?>>Fast</option> <option value="0" <?php if (CP=="0") echo "selected";?>><?php echo ADM_FAST; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -219,16 +219,16 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_BEGINPROTECT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_BEGINPROTECT_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_BEGINPROTECT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_BEGINPROTECT_TOOLTIP ?></span></em></td>
<td> <td>
<select name="beginner"> <select name="beginner">
<option value="7200" <?php if (PROTECTION=="7200") echo "selected";?>>2 hours</option> <option value="7200" <?php if (PROTECTION=="7200") echo "selected";?>><?php echo ADM_2_HOURS; ?></option>
<option value="10800" <?php if (PROTECTION=="10800") echo "selected";?>>3 hours</option> <option value="10800" <?php if (PROTECTION=="10800") echo "selected";?>><?php echo ADM_3_HOURS; ?></option>
<option value="18000" <?php if (PROTECTION=="18000") echo "selected";?>>5 hours</option> <option value="18000" <?php if (PROTECTION=="18000") echo "selected";?>><?php echo ADM_5_HOURS; ?></option>
<option value="28800" <?php if (PROTECTION=="28800") echo "selected";?>>8 hours</option> <option value="28800" <?php if (PROTECTION=="28800") echo "selected";?>><?php echo ADM_8_HOURS; ?></option>
<option value="36000" <?php if (PROTECTION=="36000") echo "selected";?>>10 hours</option> <option value="36000" <?php if (PROTECTION=="36000") echo "selected";?>><?php echo ADM_10_HOURS; ?></option>
<option value="43200" <?php if (PROTECTION=="43200") echo "selected";?>>12 hours</option> <option value="43200" <?php if (PROTECTION=="43200") echo "selected";?>><?php echo ADM_12_HOURS; ?></option>
<option value="86400" <?php if (PROTECTION=="86400") echo "selected";?>>24 hours (1 day)</option> <option value="86400" <?php if (PROTECTION=="86400") echo "selected";?>><?php echo ADM_24_HOURS_1_DAY; ?></option>
<option value="172800" <?php if (PROTECTION=="172800") echo "selected";?>>48 hours (2 days)</option> <option value="172800" <?php if (PROTECTION=="172800") echo "selected";?>><?php echo ADM_48_HOURS_2_DAYS; ?></option>
<option value="259200" <?php if (PROTECTION=="259200") echo "selected";?>>72 hours (3 days)</option> <option value="259200" <?php if (PROTECTION=="259200") echo "selected";?>><?php echo ADM_72_HOURS_3_DAYS; ?></option>
<option value="432000" <?php if (PROTECTION=="432000") echo "selected";?>>120 hours (5 days)</option> <option value="432000" <?php if (PROTECTION=="432000") echo "selected";?>><?php echo ADM_120_HOURS_5_DAYS; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -236,8 +236,8 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_REGOPEN ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_REGOPEN_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_REGOPEN ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_REGOPEN_TOOLTIP ?></span></em></td>
<td> <td>
<select name="reg_open"> <select name="reg_open">
<option value="True" <?php if(REG_OPEN==true) echo "selected";?>>True</option> <option value="True" <?php if(REG_OPEN==true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(REG_OPEN==false) echo "selected";?>>False</option> <option value="False" <?php if(REG_OPEN==false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -245,8 +245,8 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_ACTIVMAIL ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_ACTIVMAIL_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_ACTIVMAIL ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_ACTIVMAIL_TOOLTIP ?></span></em></td>
<td> <td>
<select name="activate"> <select name="activate">
<option value="true" <?php if (AUTH_EMAIL==true) echo "selected";?>>Yes</option> <option value="true" <?php if (AUTH_EMAIL==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if (AUTH_EMAIL==false) echo "selected";?>>No</option> <option value="false" <?php if (AUTH_EMAIL==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -254,8 +254,8 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_QUEST ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_QUEST_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_QUEST ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_QUEST_TOOLTIP ?></span></em></td>
<td> <td>
<select name="quest"> <select name="quest">
<option value="true" <?php if(QUEST == true) echo "selected";?>>Yes</option> <option value="true" <?php if(QUEST == true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if(QUEST == false) echo "selected";?>>No</option> <option value="false" <?php if(QUEST == false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -263,8 +263,8 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_QTYPE ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_QTYPE_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_QTYPE ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_QTYPE_TOOLTIP ?></span></em></td>
<td> <td>
<select name="qtype"> <select name="qtype">
<option value="25" <?php if(QTYPE == 25) echo "selected";?>>Travian Official</option> <option value="25" <?php if(QTYPE == 25) echo "selected";?>><?php echo ADM_TRAVIAN_OFFICIAL; ?></option>
<option value="37" <?php if(QTYPE == 37) echo "selected";?>>TravianZ Extended</option> <option value="37" <?php if(QTYPE == 37) echo "selected";?>><?php echo ADM_TRAVIANZ_EXTENDED; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -273,7 +273,7 @@ function refresh(tz) {
<td> <td>
<select name="demolish"> <select name="demolish">
<option value="5" <?php if(DEMOLISH_LEVEL_REQ == "5") echo "selected";?>>5</option> <option value="5" <?php if(DEMOLISH_LEVEL_REQ == "5") echo "selected";?>>5</option>
<option value="10" <?php if(DEMOLISH_LEVEL_REQ == "10") echo "selected";?>>10 - Default</option> <option value="10" <?php if(DEMOLISH_LEVEL_REQ == "10") echo "selected";?>><?php echo ADM_10_DEFAULT; ?></option>
<option value="15" <?php if(DEMOLISH_LEVEL_REQ == "15") echo "selected";?>>15</option> <option value="15" <?php if(DEMOLISH_LEVEL_REQ == "15") echo "selected";?>>15</option>
<option value="20" <?php if(DEMOLISH_LEVEL_REQ == "20") echo "selected";?>>20</option> <option value="20" <?php if(DEMOLISH_LEVEL_REQ == "20") echo "selected";?>>20</option>
</select> </select>
@@ -283,8 +283,8 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_WWSTATS ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_WWSTATS_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_WWSTATS ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_WWSTATS_TOOLTIP ?></span></em></td>
<td> <td>
<select name="ww"> <select name="ww">
<option value="True" <?php if(WW == true) echo "selected";?>>True</option> <option value="True" <?php if(WW == true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(WW == false) echo "selected";?>>False</option> <option value="False" <?php if(WW == false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -292,15 +292,15 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_NTRTIME ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_NTRTIME_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_NTRTIME ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_NTRTIME_TOOLTIP ?></span></em></td>
<td> <td>
<select name="nature_regtime"> <select name="nature_regtime">
<option value="28800" <?php if(NATURE_REGTIME == 28800) echo "selected";?>>8 hours</option> <option value="28800" <?php if(NATURE_REGTIME == 28800) echo "selected";?>><?php echo ADM_8_HOURS; ?></option>
<option value="36000" <?php if(NATURE_REGTIME == 36000) echo "selected";?>>10 hours</option> <option value="36000" <?php if(NATURE_REGTIME == 36000) echo "selected";?>><?php echo ADM_10_HOURS; ?></option>
<option value="43200" <?php if(NATURE_REGTIME == 43200) echo "selected";?>>12 hours</option> <option value="43200" <?php if(NATURE_REGTIME == 43200) echo "selected";?>><?php echo ADM_12_HOURS; ?></option>
<option value="57600" <?php if(NATURE_REGTIME == 57600) echo "selected";?>>16 hours</option> <option value="57600" <?php if(NATURE_REGTIME == 57600) echo "selected";?>><?php echo ADM_16_HOURS; ?></option>
<option value="72000" <?php if(NATURE_REGTIME == 72000) echo "selected";?>>20 hours</option> <option value="72000" <?php if(NATURE_REGTIME == 72000) echo "selected";?>><?php echo ADM_20_HOURS; ?></option>
<option value="86400" <?php if(NATURE_REGTIME == 86400) echo "selected";?>>24 hours (1 day)</option> <option value="86400" <?php if(NATURE_REGTIME == 86400) echo "selected";?>><?php echo ADM_24_HOURS_1_DAY; ?></option>
<option value="172800" <?php if(NATURE_REGTIME == 172800) echo "selected";?>>48 hours (2 days)</option> <option value="172800" <?php if(NATURE_REGTIME == 172800) echo "selected";?>><?php echo ADM_48_HOURS_2_DAYS; ?></option>
<option value="259200" <?php if(NATURE_REGTIME == 259200) echo "selected";?>>72 hours (3 days)</option> <option value="259200" <?php if(NATURE_REGTIME == 259200) echo "selected";?>><?php echo ADM_72_HOURS_3_DAYS; ?></option>
<option value="432000" <?php if(NATURE_REGTIME == 432000) echo "selected";?>>120 hours (5 days)</option> <option value="432000" <?php if(NATURE_REGTIME == 432000) echo "selected";?>><?php echo ADM_120_HOURS_5_DAYS; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -324,14 +324,14 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_MEDALINTERVAL ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_MEDALINTERVAL_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_MEDALINTERVAL ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_MEDALINTERVAL_TOOLTIP ?></span></em></td>
<td> <td>
<select name="medalinterval"> <select name="medalinterval">
<option value="0" <?php if(MEDALINTERVAL==0) echo "selected";?>>none</option> <option value="0" <?php if(MEDALINTERVAL==0) echo "selected";?>><?php echo ADM_NONE; ?></option>
<option value="(3600*24)" <?php if(MEDALINTERVAL==86400) echo "selected";?>>1 day</option> <option value="(3600*24)" <?php if(MEDALINTERVAL==86400) echo "selected";?>><?php echo ADM_1_DAY; ?></option>
<option value="(3600*24*2)" <?php if(MEDALINTERVAL==172800) echo "selected";?>>2 days</option> <option value="(3600*24*2)" <?php if(MEDALINTERVAL==172800) echo "selected";?>><?php echo ADM_2_DAYS; ?></option>
<option value="(3600*24*3)" <?php if(MEDALINTERVAL==259200) echo "selected";?>>3 days</option> <option value="(3600*24*3)" <?php if(MEDALINTERVAL==259200) echo "selected";?>><?php echo ADM_3_DAYS; ?></option>
<option value="(3600*24*4)" <?php if(MEDALINTERVAL==345600) echo "selected";?>>4 days</option> <option value="(3600*24*4)" <?php if(MEDALINTERVAL==345600) echo "selected";?>><?php echo ADM_4_DAYS; ?></option>
<option value="(3600*24*5)" <?php if(MEDALINTERVAL==432000) echo "selected";?>>5 days</option> <option value="(3600*24*5)" <?php if(MEDALINTERVAL==432000) echo "selected";?>><?php echo ADM_5_DAYS; ?></option>
<option value="(3600*24*6)" <?php if(MEDALINTERVAL==518400) echo "selected";?>>6 days</option> <option value="(3600*24*6)" <?php if(MEDALINTERVAL==518400) echo "selected";?>><?php echo ADM_6_DAYS; ?></option>
<option value="(3600*24*7)" <?php if(MEDALINTERVAL==604800) echo "selected";?>>7 days</option> <option value="(3600*24*7)" <?php if(MEDALINTERVAL==604800) echo "selected";?>><?php echo ADM_7_DAYS; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -343,8 +343,8 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_GWORKSHOP ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_GWORKSHOP_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_GWORKSHOP ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_GWORKSHOP_TOOLTIP ?></span></em></td>
<td> <td>
<select name="great_wks"> <select name="great_wks">
<option value="True" <?php if(GREAT_WKS==true) echo "selected";?>>True</option> <option value="True" <?php if(GREAT_WKS==true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(GREAT_WKS==false) echo "selected";?>>False</option> <option value="False" <?php if(GREAT_WKS==false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -352,8 +352,8 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_NATARSTAT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_NATARSTAT_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_NATARSTAT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_NATARSTAT_TOOLTIP ?></span></em></td>
<td> <td>
<select name="show_natars"> <select name="show_natars">
<option value="True" <?php if(SHOW_NATARS==true) echo "selected";?>>True</option> <option value="True" <?php if(SHOW_NATARS==true) echo "selected";?>><?php echo ADM_TRUE; ?></option>
<option value="False" <?php if(SHOW_NATARS==false) echo "selected";?>>False</option> <option value="False" <?php if(SHOW_NATARS==false) echo "selected";?>><?php echo ADM_FALSE; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -361,11 +361,11 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_PEACESYST ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_PEACESYST_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_PEACESYST ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_PEACESYST_TOOLTIP ?></span></em></td>
<td> <td>
<select name="peace"> <select name="peace">
<option value="0" <?php if(PEACE==0) echo "selected";?>>None</option> <option value="0" <?php if(PEACE==0) echo "selected";?>><?php echo ADM_NONE_2; ?></option>
<option value="1" <?php if(PEACE==1) echo "selected";?>>Normal</option> <option value="1" <?php if(PEACE==1) echo "selected";?>><?php echo ADM_NORMAL; ?></option>
<option value="2" <?php if(PEACE==2) echo "selected";?>>Christmas</option> <option value="2" <?php if(PEACE==2) echo "selected";?>><?php echo ADM_CHRISTMAS; ?></option>
<option value="3" <?php if(PEACE==3) echo "selected";?>>New Year</option> <option value="3" <?php if(PEACE==3) echo "selected";?>><?php echo ADM_NEW_YEAR; ?></option>
<option value="4" <?php if(PEACE==4) echo "selected";?>>Easter</option> <option value="4" <?php if(PEACE==4) echo "selected";?>><?php echo ADM_EASTER; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -373,8 +373,8 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_GRAPHICPACK ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_GRAPHICPACK_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_GRAPHICPACK ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_GRAPHICPACK_TOOLTIP ?></span></em></td>
<td> <td>
<select name="gpack"> <select name="gpack">
<option value="true" <?php if(GP_ENABLE==true) echo "selected";?>>Yes</option> <option value="true" <?php if(GP_ENABLE==true) echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="false" <?php if(GP_ENABLE==false) echo "selected";?>>No</option> <option value="false" <?php if(GP_ENABLE==false) echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -382,38 +382,29 @@ function refresh(tz) {
<td class="b"><?php echo CONF_SERV_ERRORREPORT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_ERRORREPORT_TOOLTIP ?></span></em></td> <td class="b"><?php echo CONF_SERV_ERRORREPORT ?> <em class="tooltip">?<span class="classic"><?php echo CONF_SERV_ERRORREPORT_TOOLTIP ?></span></em></td>
<td> <td>
<select name="error"> <select name="error">
<option value="error_reporting (E_ALL ^ E_NOTICE);" <?php if(ERROR_REPORT=="error_reporting (E_ALL ^ E_NOTICE);") echo "selected";?>>Yes</option> <option value="error_reporting (E_ALL ^ E_NOTICE);" <?php if(ERROR_REPORT=="error_reporting (E_ALL ^ E_NOTICE);") echo "selected";?>><?php echo ADM_YES; ?></option>
<option value="error_reporting (0);" <?php if(ERROR_REPORT=="error_reporting (0);") echo "selected";?>>No</option> <option value="error_reporting (0);" <?php if(ERROR_REPORT=="error_reporting (0);") echo "selected";?>><?php echo ADM_NO; ?></option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="b">Hero base regeneration <em class="tooltip">?<span class="classic">Hit points the hero recovers per day on top of the points invested in the regeneration attribute and any equipped items. Without it, a hero with no regeneration points would never heal and would eventually die on adventures. Scales with server speed. 0 disables it.</span></em></td> <td class="b"><?php echo ADM_HERO_BASE_REGENERATION; ?><em class="tooltip">?<span class="classic"><?php echo ADM_HIT_POINTS_THE_HERO_RECOVERS_PER_DAY_ON_TOP; ?></span></em></td>
<td> <td>
<input type="number" name="hero_base_regen" min="0" max="100" style="width:90px" <input type="number" name="hero_base_regen" min="0" max="100" style="width:90px"
value="<?php echo defined('HERO_BASE_REGEN') ? (int) HERO_BASE_REGEN : 10; ?>"> HP / day value="<?php echo defined('HERO_BASE_REGEN') ? (int) HERO_BASE_REGEN : 10; ?>"><?php echo ADM_HP_DAY; ?></td>
</td>
</tr> </tr>
<tr> <tr>
<td class="b">Hero exchange rates <em class="tooltip">?<span class="classic">Exchange office in the auction house. Keep the second value higher than the first, otherwise players could trade back and forth to create gold out of nothing.</span></em></td> <td class="b"><?php echo ADM_HERO_EXCHANGE_RATES; ?><em class="tooltip">?<span class="classic"><?php echo ADM_EXCHANGE_OFFICE_IN_THE_AUCTION_HOUSE_KEEP_TH; ?></span></em></td>
<td> <td><?php echo ADM_1_GOLD; ?><input type="number" name="hero_silver_per_gold" min="1" max="10000" style="width:80px"
1 gold &rarr; value="<?php echo defined('HERO_SILVER_PER_GOLD') ? (int) HERO_SILVER_PER_GOLD : 10; ?>"><?php echo ADM_SILVER_2; ?><input type="number" name="hero_silver_to_gold" min="1" max="10000" style="width:80px"
<input type="number" name="hero_silver_per_gold" min="1" max="10000" style="width:80px" value="<?php echo defined('HERO_SILVER_TO_GOLD') ? (int) HERO_SILVER_TO_GOLD : 25; ?>"><?php echo ADM_SILVER_1_GOLD; ?></td>
value="<?php echo defined('HERO_SILVER_PER_GOLD') ? (int) HERO_SILVER_PER_GOLD : 10; ?>"> silver
&nbsp;|&nbsp;
<input type="number" name="hero_silver_to_gold" min="1" max="10000" style="width:80px"
value="<?php echo defined('HERO_SILVER_TO_GOLD') ? (int) HERO_SILVER_TO_GOLD : 25; ?>"> silver &rarr; 1 gold
</td>
</tr> </tr>
<tr> <tr>
<td class="b">Hero resource production <em class="tooltip">?<span class="classic">Hourly resources per point invested in the hero's Resources attribute. The first value applies when the player spreads the bonus over all four resources, the second when it is concentrated on a single one. Both scale with server speed.</span></em></td> <td class="b"><?php echo ADM_HERO_RESOURCE_PRODUCTION; ?><em class="tooltip">?<span class="classic"><?php echo ADM_HOURLY_RESOURCES_PER_POINT_INVESTED_IN_THE_H; ?></span></em></td>
<td> <td>
<input type="number" name="hero_res_all" min="0" max="10000" style="width:80px" <input type="number" name="hero_res_all" min="0" max="10000" style="width:80px"
value="<?php echo defined('HERO_RES_PER_POINT_ALL') ? (int) HERO_RES_PER_POINT_ALL : 3; ?>"> of each value="<?php echo defined('HERO_RES_PER_POINT_ALL') ? (int) HERO_RES_PER_POINT_ALL : 3; ?>"><?php echo ADM_OF_EACH; ?><input type="number" name="hero_res_one" min="0" max="10000" style="width:80px"
&nbsp;|&nbsp; value="<?php echo defined('HERO_RES_PER_POINT_ONE') ? (int) HERO_RES_PER_POINT_ONE : 10; ?>"><?php echo ADM_OF_ONE_TYPE; ?></td>
<input type="number" name="hero_res_one" min="0" max="10000" style="width:80px"
value="<?php echo defined('HERO_RES_PER_POINT_ONE') ? (int) HERO_RES_PER_POINT_ONE : 10; ?>"> of one type
</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -426,9 +417,7 @@ function refresh(tz) {
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/> <path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/>
<polyline points="17 21 17 13 7 13 7 21"/> <polyline points="17 21 17 13 7 13 7 21"/>
</svg> </svg><?php echo ADM_SAVE; ?></button>
SAVE
</button>
</div> </div>
</form> </form>
</div> </div>
+7 -7
View File
@@ -63,7 +63,7 @@ function clearSitter(n){ document.getElementById('sit'+n).value = '0'; }
<div class="sit-head"> <div class="sit-head">
<div class="icon">👥</div> <div class="icon">👥</div>
<div> <div>
<h2>Edit Sitters: <a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2> <h2><?php echo ADM_EDIT_SITTERS; ?><a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2>
<div class="sub">UID: <?php echo $uid; ?></div> <div class="sub">UID: <?php echo $uid; ?></div>
</div> </div>
</div> </div>
@@ -75,13 +75,13 @@ function clearSitter(n){ document.getElementById('sit'+n).value = '0'; }
<input type="hidden" name="id" value="<?php echo $id; ?>"> <input type="hidden" name="id" value="<?php echo $id; ?>">
<div class="card"> <div class="card">
<h3> Sitter Settings</h3> <h3><?php echo ADM_SITTER_SETTINGS; ?></h3>
<div class="body"> <div class="body">
<div class="info">💡 Use the player's UID. Enter <b>0</b> to delete the sitter. You can find the UID in Search.</div> <div class="info"><?php echo ADM_USE_THE_PLAYER_S_UID_ENTER; ?><b>0</b><?php echo ADM_TO_DELETE_THE_SITTER_YOU_CAN_FIND_THE_UID_IN; ?></div>
<div class="sitter-grid"> <div class="sitter-grid">
<div class="sitter-box"> <div class="sitter-box">
<h4>👤 Sitter 1</h4> <h4><?php echo ADM_SITTER_1; ?></h4>
<input type="number" id="sit1" name="sitter1" value="<?php echo (int)$user['sit1']; ?>" min="0"> <input type="number" id="sit1" name="sitter1" value="<?php echo (int)$user['sit1']; ?>" min="0">
<div class="sitter-current <?php echo $sitter1 ? '' : 'none'; ?>"> <div class="sitter-current <?php echo $sitter1 ? '' : 'none'; ?>">
<?php if($sitter1){ echo '→ <a href="admin.php?p=player&uid='.$sitter1['id'].'">'.htmlspecialchars($sitter1['username']).'</a> (UID '.$sitter1['id'].')'; } else { echo 'No Sitter'; } ?> <?php if($sitter1){ echo '→ <a href="admin.php?p=player&uid='.$sitter1['id'].'">'.htmlspecialchars($sitter1['username']).'</a> (UID '.$sitter1['id'].')'; } else { echo 'No Sitter'; } ?>
@@ -90,7 +90,7 @@ function clearSitter(n){ document.getElementById('sit'+n).value = '0'; }
</div> </div>
<div class="sitter-box"> <div class="sitter-box">
<h4>👤 Sitter 2</h4> <h4><?php echo ADM_SITTER_2; ?></h4>
<input type="number" id="sit2" name="sitter2" value="<?php echo (int)$user['sit2']; ?>" min="0"> <input type="number" id="sit2" name="sitter2" value="<?php echo (int)$user['sit2']; ?>" min="0">
<div class="sitter-current <?php echo $sitter2 ? '' : 'none'; ?>"> <div class="sitter-current <?php echo $sitter2 ? '' : 'none'; ?>">
<?php if($sitter2){ echo '→ <a href="admin.php?p=player&uid='.$sitter2['id'].'">'.htmlspecialchars($sitter2['username']).'</a> (UID '.$sitter2['id'].')'; } else { echo 'No Sitter'; } ?> <?php if($sitter2){ echo '→ <a href="admin.php?p=player&uid='.$sitter2['id'].'">'.htmlspecialchars($sitter2['username']).'</a> (UID '.$sitter2['id'].')'; } else { echo 'No Sitter'; } ?>
@@ -102,8 +102,8 @@ function clearSitter(n){ document.getElementById('sit'+n).value = '0'; }
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back">← Back</a> <a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"><?php echo ADM_BACK; ?></a>
<button type="submit" class="btn-save">💾 Save Sitters</button> <button type="submit" class="btn-save"><?php echo ADM_SAVE_SITTERS; ?></button>
</div> </div>
</form> </form>
</div> </div>
+28 -28
View File
@@ -71,14 +71,14 @@ select.dropdown { width:100%; }
<div class="editUser-wrap"> <div class="editUser-wrap">
<div class="editUser-head"> <div class="editUser-head">
<h2> Edit Player: <a href="admin.php?p=player&uid=<?php echo $user['id']; ?>"><?php echo htmlspecialchars($user['username']); ?></a></h2> <h2><?php echo ADM_EDIT_PLAYER; ?><a href="admin.php?p=player&uid=<?php echo $user['id']; ?>"><?php echo htmlspecialchars($user['username']); ?></a></h2>
<div class="meta">ID: <?php echo $id; ?> | Villages: <?php echo count($varray); ?> | Gold: <?php echo $user['gold']; ?> <img src="../img/x.gif" class="gold" style="vertical-align:-2px;"></div> <div class="meta">ID: <?php echo $id; ?> | Villages: <?php echo count($varray); ?> | Gold: <?php echo $user['gold']; ?> <img src="../img/x.gif" class="gold" style="vertical-align:-2px;"></div>
</div> </div>
<div class="editUser-grid"> <div class="editUser-grid">
<!-- LEFT: DETAILS --> <!-- LEFT: DETAILS -->
<div class="card"> <div class="card">
<h3>👤 Account Details</h3> <h3><?php echo ADM_ACCOUNT_DETAILS; ?></h3>
<div class="body"> <div class="body">
<!-- USERNAME EDIT - NOU --> <!-- USERNAME EDIT - NOU -->
@@ -88,9 +88,9 @@ select.dropdown { width:100%; }
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<input type="hidden" name="uid" value="<?php echo $uid; ?>"> <input type="hidden" name="uid" value="<?php echo $uid; ?>">
<div class="form-row"> <div class="form-row">
<label>👤 Username</label> <label><?php echo ADM_USERNAME_2; ?></label>
<input class="fm" name="username" value="<?php echo htmlspecialchars($user['username']); ?>" style="flex:1;"> <input class="fm" name="username" value="<?php echo htmlspecialchars($user['username']); ?>" style="flex:1;">
<button type="submit" class="btn-mini" title="Change Username">💾 Save</button> <button type="submit" class="btn-mini" title="<?php echo ADM_CHANGE_USERNAME; ?>"><?php echo ADM_SAVE_2; ?></button>
</div> </div>
</form> </form>
</div> </div>
@@ -103,34 +103,34 @@ select.dropdown { width:100%; }
<input type="hidden" name="id" value="<?php echo $id; ?>" /> <input type="hidden" name="id" value="<?php echo $id; ?>" />
<div class="form-row"> <div class="form-row">
<label> Tribe</label> <label><?php echo ADM_TRIBE_2; ?></label>
<select name="tribe" class="dropdown"> <select name="tribe" class="dropdown">
<option value="1" <?php if($user['tribe']==1)echo"selected"; ?>>1. Roman</option> <option value="1" <?php if($user['tribe']==1)echo"selected"; ?>><?php echo ADM_1_ROMAN; ?></option>
<option value="2" <?php if($user['tribe']==2)echo"selected"; ?>>2. Teuton</option> <option value="2" <?php if($user['tribe']==2)echo"selected"; ?>><?php echo ADM_2_TEUTON; ?></option>
<option value="3" <?php if($user['tribe']==3)echo"selected"; ?>>3. Gaul</option> <option value="3" <?php if($user['tribe']==3)echo"selected"; ?>><?php echo ADM_3_GAUL; ?></option>
<option value="4" <?php if($user['tribe']==4)echo"selected"; ?>>4. Nature</option> <option value="4" <?php if($user['tribe']==4)echo"selected"; ?>><?php echo ADM_4_NATURE; ?></option>
<option value="5" <?php if($user['tribe']==5)echo"selected"; ?>>5. Natars</option> <option value="5" <?php if($user['tribe']==5)echo"selected"; ?>><?php echo ADM_5_NATARS; ?></option>
<option value="6" <?php if($user['tribe']==6)echo"selected"; ?>>6. Hun</option> <option value="6" <?php if($user['tribe']==6)echo"selected"; ?>><?php echo ADM_6_HUN; ?></option>
<option value="7" <?php if($user['tribe']==7)echo"selected"; ?>>7. Egyptian</option> <option value="7" <?php if($user['tribe']==7)echo"selected"; ?>><?php echo ADM_7_EGYPTIAN; ?></option>
<option value="8" <?php if($user['tribe']==8)echo"selected"; ?>>8. Spartan</option> <option value="8" <?php if($user['tribe']==8)echo"selected"; ?>><?php echo ADM_8_SPARTAN; ?></option>
<option value="9" <?php if($user['tribe']==9)echo"selected"; ?>>9. Viking</option> <option value="9" <?php if($user['tribe']==9)echo"selected"; ?>><?php echo ADM_9_VIKING; ?></option>
</select> </select>
</div> </div>
<div class="form-row"> <div class="form-row">
<label>📍 Location</label> <label><?php echo ADM_LOCATION; ?></label>
<input class="fm" name="location" value="<?php echo htmlspecialchars($user['location']); ?>"> <input class="fm" name="location" value="<?php echo htmlspecialchars($user['location']); ?>">
</div> </div>
<div class="form-row"> <div class="form-row">
<label> E-mail</label> <label><?php echo ADM_E_MAIL; ?></label>
<input class="fm" name="email" value="<?php echo htmlspecialchars($user['email']); ?>"> <input class="fm" name="email" value="<?php echo htmlspecialchars($user['email']); ?>">
</div> </div>
<div class="form-row"> <div class="form-row">
<label>🎯 Quest</label> <label><?php echo ADM_QUEST; ?></label>
<input class="fm" name="quest" value="<?php echo (int)$user['quest']; ?>"> <input class="fm" name="quest" value="<?php echo (int)$user['quest']; ?>">
</div> </div>
<div style="margin-top:14px; border-top:1px dashed #ddd; padding-top:10px;"> <div style="margin-top:14px; border-top:1px dashed #ddd; padding-top:10px;">
<label style="font-weight:bold; font-size:12px; display:block; margin-bottom:4px;">📝 Profile Description (left)</label> <label style="font-weight:bold; font-size:12px; display:block; margin-bottom:4px;"><?php echo ADM_PROFILE_DESCRIPTION_LEFT; ?></label>
<div class="desc-box"> <div class="desc-box">
<textarea name="desc1" rows="10"><?php echo htmlspecialchars($user['desc1']); ?></textarea> <textarea name="desc1" rows="10"><?php echo htmlspecialchars($user['desc1']); ?></textarea>
</div> </div>
@@ -141,25 +141,25 @@ select.dropdown { width:100%; }
<!-- RIGHT: DESCRIPTION --> <!-- RIGHT: DESCRIPTION -->
<div class="card"> <div class="card">
<h3>📄 Profile Description (right)</h3> <h3><?php echo ADM_PROFILE_DESCRIPTION_RIGHT; ?></h3>
<div class="body desc-box"> <div class="body desc-box">
<textarea name="desc2" rows="22"><?php echo htmlspecialchars($user['desc2']); ?></textarea> <textarea name="desc2" rows="22"><?php echo htmlspecialchars($user['desc2']); ?></textarea>
<div style="font-size:11px; color:#777; margin-top:4px;">Suport BBCode. Folosește Enter pentru linii noi.</div> <div style="font-size:11px; color:#777; margin-top:4px;"><?php echo ADM_SUPORT_BBCODE_FOLOSE_TE_ENTER_PENTRU_LINII_N; ?></div>
</div> </div>
</div> </div>
</div> </div>
<!-- MEDALS --> <!-- MEDALS -->
<div class="card" style="margin-top:12px;"> <div class="card" style="margin-top:12px;">
<h3>🏅 Medals</h3> <h3><?php echo ADM_MEDALS; ?></h3>
<div class="body" style="padding:0;"> <div class="body" style="padding:0;">
<table class="medals-table"> <table class="medals-table">
<thead> <thead>
<tr> <tr>
<th style="width:35%;">Category</th> <th style="width:35%;"><?php echo ADM_CATEGORY; ?></th>
<th style="width:15%;">Rank</th> <th style="width:15%;"><?php echo ADM_RANK; ?></th>
<th style="width:15%;">Week</th> <th style="width:15%;"><?php echo ADM_WEEK; ?></th>
<th>BB-Code</th> <th><?php echo ADM_BB_CODE; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -181,7 +181,7 @@ select.dropdown { width:100%; }
} }
?> ?>
<tr> <tr>
<td><span class="badge" style="background:#999;">🔰</span> Beginners Protection</td> <td><span class="badge" style="background:#999;">🔰</span><?php echo ADM_BEGINNERS_PROTECTION; ?></td>
<td>-</td><td>-</td><td><code>[#0]</code></td> <td>-</td><td>-</td><td><code>[#0]</code></td>
</tr> </tr>
</tbody> </tbody>
@@ -191,8 +191,8 @@ select.dropdown { width:100%; }
<div class="actions"> <div class="actions">
</form> <!-- închidem form-ul principal aici --> </form> <!-- închidem form-ul principal aici -->
<button type="submit" form="dummy" onclick="document.querySelector('form[action*=\'editUser.php\']').submit()" class="btn-save">💾 Save Changes</button> <button type="submit" form="dummy" onclick="document.querySelector('form[action*=\'editUser.php\']').submit()" class="btn-save"><?php echo ADM_SAVE_CHANGES_2; ?></button>
<span class="back-link"><a href="?p=player&uid=<?php echo $user['id']; ?>">« Go back to player</a></span> <span class="back-link"><a href="?p=player&uid=<?php echo $user['id']; ?>"><?php echo ADM_GO_BACK_TO_PLAYER; ?></a></span>
</div> </div>
</div> </div>
<?php <?php
+10 -10
View File
@@ -51,13 +51,13 @@ if(isset($id)) { include("search2.tpl"); ?>
<div class="vcard"> <div class="vcard">
<div class="vhead">Edit Village <?php echo htmlspecialchars($village['name']); ?> (<?php echo $coor['x'].'|'.$coor['y']; ?>) <div class="vhead">Edit Village <?php echo htmlspecialchars($village['name']); ?> (<?php echo $coor['x'].'|'.$coor['y']; ?>)
<a class="instr-link" onclick="document.getElementById('instr').style.display = document.getElementById('instr').style.display=='none'?'block':'none';return false">Show Instructions</a> <a class="instr-link" onclick="document.getElementById('instr').style.display = document.getElementById('instr').style.display=='none'?'block':'none';return false"><?php echo ADM_SHOW_INSTRUCTIONS; ?></a>
</div> </div>
<div id="instr" style="display:none;padding:12px;background:#fcfcfd;border-bottom:1px solid #e5e7eb"> <div id="instr" style="display:none;padding:12px;background:#fcfcfd;border-bottom:1px solid #e5e7eb">
<div style="display:flex;flex-direction:column;gap:24px;align-items:center"> <div style="display:flex;flex-direction:column;gap:24px;align-items:center">
<div style="text-align:center"> <div style="text-align:center">
<h4 style="margin:0 8px;font-size:12px;color:#475569">Resource Fields (1-18)</h4> <h4 style="margin:0 8px;font-size:12px;color:#475569"><?php echo ADM_RESOURCE_FIELDS_1_18; ?></h4>
<div id="content" class="village1" style="min-height:auto"> <div id="content" class="village1" style="min-height:auto">
<div id="village_map" class="f<?php echo $type; ?>" style="margin:0 auto;float:none"> <div id="village_map" class="f<?php echo $type; ?>" style="margin:0 auto;float:none">
<?php for($f=1;$f<19;$f++) echo '<img src="../img/x.gif" class="reslevel rf'.$f.' level'.$f.'">'; ?> <?php for($f=1;$f<19;$f++) echo '<img src="../img/x.gif" class="reslevel rf'.$f.' level'.$f.'">'; ?>
@@ -66,7 +66,7 @@ if(isset($id)) { include("search2.tpl"); ?>
</div> </div>
<div style="text-align:center"> <div style="text-align:center">
<h4 style="margin:0 0 8px;font-size:12px;color:#475569">Village Center (19-38)</h4> <h4 style="margin:0 0 8px;font-size:12px;color:#475569"><?php echo ADM_VILLAGE_CENTER_19_38; ?></h4>
<div id="content" class="village2" style="padding:0"> <div id="content" class="village2" style="padding:0">
<div id="village_map" class="d2_0" style="margin:0 auto;transform:scale(.85);transform-origin:top"> <div id="village_map" class="d2_0" style="margin:0 auto;transform:scale(.85);transform-origin:top">
<?php for($b=1;$b<21;$b++) echo '<img src="../img/x.gif" class="building d'.$b.' iso">'; ?> <?php for($b=1;$b<21;$b++) echo '<img src="../img/x.gif" class="building d'.$b.' iso">'; ?>
@@ -79,7 +79,7 @@ if(isset($id)) { include("search2.tpl"); ?>
<!-- tabelul cu GID rămâne sub ele --> <!-- tabelul cu GID rămâne sub ele -->
<div style="margin-top:10px;max-height:180px;overflow:auto;border:1px solid #e5e7eb;border-radius:6px"> <div style="margin-top:10px;max-height:180px;overflow:auto;border:1px solid #e5e7eb;border-radius:6px">
<table class="vtable" style="font-size:11.5px"> <table class="vtable" style="font-size:11.5px">
<thead><tr><th style="width:50px">GID</th><th>Name</th></tr></thead> <thead><tr><th style="width:50px"><?php echo ADM_GID; ?></th><th><?php echo ADM_NAME; ?></th></tr></thead>
<tbody><?php for($i=1;$i<=50;$i++){ echo '<tr><td>'.$i.'</td><td>'.$funct->procResType($i).'</td></tr>'; } ?></tbody> <tbody><?php for($i=1;$i<=50;$i++){ echo '<tr><td>'.$i.'</td><td>'.$funct->procResType($i).'</td></tr>'; } ?></tbody>
</table> </table>
</div> </div>
@@ -87,10 +87,10 @@ if(isset($id)) { include("search2.tpl"); ?>
</div> </div>
<div class="vcard"> <div class="vcard">
<div class="vhead">Modify Buildings</div> <div class="vhead"><?php echo ADM_MODIFY_BUILDINGS; ?></div>
<div style="overflow-x:auto"> <div style="overflow-x:auto">
<table class="vtable"> <table class="vtable">
<thead><tr><th style="width:50px">ID</th><th style="width:70px">GID</th><th>Name</th><th style="width:70px">Level</th></tr></thead> <thead><tr><th style="width:50px"><?php echo ADM_ID; ?></th><th style="width:70px"><?php echo ADM_GID; ?></th><th><?php echo ADM_NAME; ?></th><th style="width:70px"><?php echo ADM_LEVEL_2; ?></th></tr></thead>
<tbody> <tbody>
<?php <?php
for($i=1;$i<=41;$i++){ for($i=1;$i<=41;$i++){
@@ -109,18 +109,18 @@ if(isset($id)) { include("search2.tpl"); ?>
</table> </table>
</div> </div>
<div style="text-align:center;padding:12px;border-top:1px solid #f1f5f9"> <div style="text-align:center;padding:12px;border-top:1px solid #f1f5f9">
<button type="submit" class="btn-save">Save Changes</button> <button type="submit" class="btn-save"><?php echo ADM_SAVE_CHANGES; ?></button>
</div> </div>
</div> </div>
</form> </form>
<div class="vcard"> <div class="vcard">
<div class="vhead">Current Layout Preview</div> <div class="vhead"><?php echo ADM_CURRENT_LAYOUT_PREVIEW; ?></div>
<div style="padding:16px;display:flex;flex-direction:column;gap:28px;align-items:center"> <div style="padding:16px;display:flex;flex-direction:column;gap:28px;align-items:center">
<!-- 1. Resource Fields --> <!-- 1. Resource Fields -->
<div style="text-align:center"> <div style="text-align:center">
<div style="font-size:12px;font-weight:600;color:#475569;margin-bottom:8px">Resource Fields</div> <div style="font-size:12px;font-weight:600;color:#475569;margin-bottom:8px"><?php echo ADM_RESOURCE_FIELDS; ?></div>
<div id="content" class="village1" style="min-height:auto"> <div id="content" class="village1" style="min-height:auto">
<div id="village_map" class="f<?php echo $type; ?>" style="float:none;margin:0 auto"> <div id="village_map" class="f<?php echo $type; ?>" style="float:none;margin:0 auto">
<?php for($f=1;$f<19;$f++){ $level=$fdata['f'.$f]; echo '<img src="../img/x.gif" class="reslevel rf'.$f.' level'.$level.'">'; } ?> <?php for($f=1;$f<19;$f++){ $level=$fdata['f'.$f]; echo '<img src="../img/x.gif" class="reslevel rf'.$f.' level'.$level.'">'; } ?>
@@ -130,7 +130,7 @@ if(isset($id)) { include("search2.tpl"); ?>
<!-- 2. Village Center --> <!-- 2. Village Center -->
<div style="text-align:center"> <div style="text-align:center">
<div style="font-size:12px;font-weight:600;color:#475569;margin-bottom:8px">Village Center</div> <div style="font-size:12px;font-weight:600;color:#475569;margin-bottom:8px"><?php echo ADM_VILLAGE_CENTER; ?></div>
<?php $WW=$fdata['f99t']; $wall=$fdata['f40t']; $wallGfx=[1=>'d2_11',2=>'d2_12',3=>'d2_1',6=>'d2_16',7=>'d2_17',8=>'d2_18',9=>'d2_19']; /* 6-9: bg16-bg19.jpg */ $wallType=$wall==0?'d2_0':($wallGfx[$user['tribe']] ?? 'd2_11'); ?> <?php $WW=$fdata['f99t']; $wall=$fdata['f40t']; $wallGfx=[1=>'d2_11',2=>'d2_12',3=>'d2_1',6=>'d2_16',7=>'d2_17',8=>'d2_18',9=>'d2_19']; /* 6-9: bg16-bg19.jpg */ $wallType=$wall==0?'d2_0':($wallGfx[$user['tribe']] ?? 'd2_11'); ?>
<div id="content" class="village2" style="padding:0"> <div id="content" class="village2" style="padding:0">
<div id="village_map" class="<?php echo $wallType; ?>" style="margin:0 auto;transform:scale(.9);transform-origin:top"> <div id="village_map" class="<?php echo $wallType; ?>" style="margin:0 auto;transform:scale(.9);transform-origin:top">
+7 -7
View File
@@ -60,7 +60,7 @@ if($id){
<div class="week-head"> <div class="week-head">
<div class="icon">📅</div> <div class="icon">📅</div>
<div> <div>
<h2>Weekly Stats: <a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2> <h2><?php echo ADM_WEEKLY_STATS; ?><a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></h2>
<div class="sub">UID: <?php echo $uid; ?> Reset săptămânal</div> <div class="sub">UID: <?php echo $uid; ?> Reset săptămânal</div>
</div> </div>
</div> </div>
@@ -73,26 +73,26 @@ if($id){
<div class="card"> <div class="card">
<div class="body"> <div class="body">
<div class="info">📊 Acestea sunt punctele <b>din săptămâna curentă</b> pentru top 10. Se resetează automat.</div> <div class="info"><?php echo ADM_ACESTEA_SUNT_PUNCTELE; ?><b><?php echo ADM_DIN_S_PT_M_NA_CURENT; ?></b><?php echo ADM_PENTRU_TOP_10_SE_RESETEAZ_AUTOMAT; ?></div>
<div class="stats-grid"> <div class="stats-grid">
<div class="stat-box off"> <div class="stat-box off">
<div class="icon"></div> <div class="icon"></div>
<div class="label">Attack</div> <div class="label"><?php echo ADM_ATTACK; ?></div>
<div class="current">Now: <?php echo number_format($user['ap']); ?></div> <div class="current">Now: <?php echo number_format($user['ap']); ?></div>
<input type="number" name="off" value="<?php echo (int)$user['ap']; ?>" min="0"> <input type="number" name="off" value="<?php echo (int)$user['ap']; ?>" min="0">
</div> </div>
<div class="stat-box def"> <div class="stat-box def">
<div class="icon">🛡</div> <div class="icon">🛡</div>
<div class="label">Defence</div> <div class="label"><?php echo ADM_DEFENCE_2; ?></div>
<div class="current">Now: <?php echo number_format($user['dp']); ?></div> <div class="current">Now: <?php echo number_format($user['dp']); ?></div>
<input type="number" name="def" value="<?php echo (int)$user['dp']; ?>" min="0"> <input type="number" name="def" value="<?php echo (int)$user['dp']; ?>" min="0">
</div> </div>
<div class="stat-box raid"> <div class="stat-box raid">
<div class="icon">💰</div> <div class="icon">💰</div>
<div class="label">Raid</div> <div class="label"><?php echo ADM_RAID; ?></div>
<div class="current">Now: <?php echo number_format($user['RR']); ?></div> <div class="current">Now: <?php echo number_format($user['RR']); ?></div>
<input type="number" name="res" value="<?php echo (int)$user['RR']; ?>" min="0"> <input type="number" name="res" value="<?php echo (int)$user['RR']; ?>" min="0">
</div> </div>
@@ -101,8 +101,8 @@ if($id){
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"> Back</a> <a href="admin.php?p=player&uid=<?php echo $uid;?>" class="btn-back"><?php echo ADM_BACK; ?></a>
<button type="submit" class="btn-save">💾 Save Week</button> <button type="submit" class="btn-save"><?php echo ADM_SAVE_WEEK; ?></button>
</div> </div>
</form> </form>
</div> </div>
+6 -8
View File
@@ -44,29 +44,27 @@ $id = $_SESSION['id'];
<div class="plus-wrap"> <div class="plus-wrap">
<div class="plus-head"> <div class="plus-head">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 2l4 4-4 4-4-4 4-4zm0 8l4 4-4-4 4-4zm-8 4l4 4-4 4-4-4 4-4zm16 0l4 4-4 4-4-4 4-4z" fill="#8e44ad"/></svg> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 2l4 4-4 4-4-4 4-4zm0 8l4 4-4-4 4-4zm-8 4l4 4-4 4-4-4 4-4zm16 0l4 4-4 4-4-4 4-4z" fill="#8e44ad"/></svg>
<h2>Plus Management</h2> <h2><?php echo ADM_PLUS_MANAGEMENT; ?></h2>
</div> </div>
<div class="plus-card"> <div class="plus-card">
<div class="icon-big"> <div class="icon-big">
<svg viewBox="0 0 24 24"><path d="M12 4v16M4 12h16" stroke="white" stroke-width="3" stroke-linecap="round"/></svg> <svg viewBox="0 0 24 24"><path d="M12 4v16M4 12h16" stroke="white" stroke-width="3" stroke-linecap="round"/></svg>
</div> </div>
<h3>Give Everyone Free Plus</h3> <h3><?php echo ADM_GIVE_EVERYONE_FREE_PLUS; ?></h3>
<p>Activate Travian Plus for ALL players on the server.</p> <p><?php echo ADM_ACTIVATE_TRAVIAN_PLUS_FOR_ALL_PLAYERS_ON_THE; ?></p>
<form action="../GameEngine/Admin/Mods/givePlus.php" method="POST" class="plus-form"> <form action="../GameEngine/Admin/Mods/givePlus.php" method="POST" class="plus-form">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="admid" value="<?php echo $id; ?>"> <input type="hidden" name="admid" value="<?php echo $id; ?>">
<input type="number" name="plus" value="1" min="1" max="365" required> <input type="number" name="plus" value="1" min="1" max="365" required>
<span>Days</span> <span><?php echo ADM_DAYS; ?></span>
<button type="submit"> <button type="submit">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M5 12h14M12 5l7 7-7 7" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> <svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M5 12h14M12 5l7 7-7 7" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg><?php echo ADM_GIVE_PLUS; ?></button>
Give Plus
</button>
</form> </form>
</div> </div>
<?php if(isset($_GET['g'])){ ?> <?php if(isset($_GET['g'])){ ?>
<div class="plus-success"> Plus has been successfully activated for all players!</div> <div class="plus-success"><?php echo ADM_PLUS_HAS_BEEN_SUCCESSFULLY_ACTIVATED_FOR_ALL; ?></div>
<?php } ?> <?php } ?>
</div> </div>
+13 -15
View File
@@ -49,7 +49,7 @@ $id = $_SESSION['id'];
<div class="resbonus-wrap"> <div class="resbonus-wrap">
<div class="resbonus-head"> <div class="resbonus-head">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 7h16v10H4z" fill="#27ae60"/><path d="M8 3v4M16 3v4" stroke="#16a085" stroke-width="2"/></svg> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 7h16v10H4z" fill="#27ae60"/><path d="M8 3v4M16 3v4" stroke="#16a085" stroke-width="2"/></svg>
<h2>Resource Bonus</h2> <h2><?php echo ADM_RESOURCE_BONUS; ?></h2>
</div> </div>
<div class="resbonus-card"> <div class="resbonus-card">
@@ -57,8 +57,8 @@ $id = $_SESSION['id'];
<div class="icon-big"> <div class="icon-big">
<svg viewBox="0 0 24 24"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg> <svg viewBox="0 0 24 24"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg>
</div> </div>
<h3>Give Everyone Resource Bonus</h3> <h3><?php echo ADM_GIVE_EVERYONE_RESOURCE_BONUS; ?></h3>
<p>Activate a 25% bonus for all resources for ALL players.</p> <p><?php echo ADM_ACTIVATE_A_25_BONUS_FOR_ALL_RESOURCES_FOR_AL; ?></p>
</div> </div>
<form action="../GameEngine/Admin/Mods/givePlusRes.php" method="POST" class="resbonus-form"> <form action="../GameEngine/Admin/Mods/givePlusRes.php" method="POST" class="resbonus-form">
@@ -67,31 +67,29 @@ $id = $_SESSION['id'];
<div class="res-grid"> <div class="res-grid">
<div class="res-item"> <div class="res-item">
<div class="left wood"><img src="../img/admin/r/1.gif" alt=""> Wood</div> <div class="left wood"><img src="../img/admin/r/1.gif" alt=""><?php echo ADM_WOOD; ?></div>
<div><input type="number" name="wood" value="1" min="0" max="365"> days</div> <div><input type="number" name="wood" value="1" min="0" max="365"><?php echo ADM_DAYS_2; ?></div>
</div> </div>
<div class="res-item"> <div class="res-item">
<div class="left clay"><img src="../img/admin/r/2.gif" alt=""> Clay</div> <div class="left clay"><img src="../img/admin/r/2.gif" alt=""><?php echo ADM_CLAY; ?></div>
<div><input type="number" name="clay" value="1" min="0" max="365"> days</div> <div><input type="number" name="clay" value="1" min="0" max="365"><?php echo ADM_DAYS_2; ?></div>
</div> </div>
<div class="res-item"> <div class="res-item">
<div class="left iron"><img src="../img/admin/r/3.gif" alt=""> Iron</div> <div class="left iron"><img src="../img/admin/r/3.gif" alt=""><?php echo ADM_IRON; ?></div>
<div><input type="number" name="iron" value="1" min="0" max="365"> days</div> <div><input type="number" name="iron" value="1" min="0" max="365"><?php echo ADM_DAYS_2; ?></div>
</div> </div>
<div class="res-item"> <div class="res-item">
<div class="left crop"><img src="../img/admin/r/4.gif" alt=""> Crop</div> <div class="left crop"><img src="../img/admin/r/4.gif" alt=""><?php echo ADM_CROP; ?></div>
<div><input type="number" name="crop" value="1" min="0" max="365"> days</div> <div><input type="number" name="crop" value="1" min="0" max="365"><?php echo ADM_DAYS_2; ?></div>
</div> </div>
</div> </div>
<button type="submit"> <button type="submit">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M5 12h14M12 5l7 7-7 7" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> <svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M5 12h14M12 5l7 7-7 7" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg><?php echo ADM_GIVE_RESOURCE_BONUS; ?></button>
Give Resource Bonus
</button>
</form> </form>
</div> </div>
<?php if(isset($_GET['g'])){ ?> <?php if(isset($_GET['g'])){ ?>
<div class="resbonus-success"> Resource bonuses have been activated for all players!</div> <div class="resbonus-success"><?php echo ADM_RESOURCE_BONUSES_HAVE_BEEN_ACTIVATED_FOR_ALL; ?></div>
<?php } ?> <?php } ?>
</div> </div>
+5 -7
View File
@@ -41,28 +41,26 @@ $id = $_SESSION['id'];
<div class="gold-wrap"> <div class="gold-wrap">
<div class="gold-head"> <div class="gold-head">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10" fill="#d4af37"/><path d="M12 7v10M9 10h6M9 14h6" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10" fill="#d4af37"/><path d="M12 7v10M9 10h6M9 14h6" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg>
<h2>Gold Management</h2> <h2><?php echo ADM_GOLD_MANAGEMENT; ?></h2>
</div> </div>
<div class="gold-card"> <div class="gold-card">
<div class="icon-big"> <div class="icon-big">
<svg viewBox="0 0 24 24"><path d="M12 2L9 8H3l5 4-2 6 6-4 6 4-2-6 5-4h-6z"/></svg> <svg viewBox="0 0 24 24"><path d="M12 2L9 8H3l5 4-2 6 6-4 6 4-2-6 5-4h-6z"/></svg>
</div> </div>
<h3>Give Everyone Free Gold</h3> <h3><?php echo ADM_GIVE_EVERYONE_FREE_GOLD; ?></h3>
<p>This gold will be added to ALL active players on the server.</p> <p><?php echo ADM_THIS_GOLD_WILL_BE_ADDED_TO_ALL_ACTIVE_PLAYER; ?></p>
<form action="../GameEngine/Admin/Mods/gold.php" method="POST" class="gold-form"> <form action="../GameEngine/Admin/Mods/gold.php" method="POST" class="gold-form">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="admid" value="<?php echo $id; ?>"> <input type="hidden" name="admid" value="<?php echo $id; ?>">
<input type="number" name="gold" value="20" min="1" max="9999" required> <input type="number" name="gold" value="20" min="1" max="9999" required>
<button type="submit"> <button type="submit">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M5 12h14M12 5l7 7-7 7" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> <svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M5 12h14M12 5l7 7-7 7" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg><?php echo ADM_GIVE_GOLD; ?></button>
Give Gold
</button>
</form> </form>
</div> </div>
<?php if(isset($_GET['g'])){ ?> <?php if(isset($_GET['g'])){ ?>
<div class="gold-success"> Gold has been successfully added to all players!</div> <div class="gold-success"><?php echo ADM_GOLD_HAS_BEEN_SUCCESSFULLY_ADDED_TO_ALL_PLAY; ?></div>
<?php } ?> <?php } ?>
</div> </div>
+24 -30
View File
@@ -67,68 +67,62 @@ $msg = isset($_GET['msg']) ? (string)$_GET['msg'] : '';
</style> </style>
<div class="gs-wrap"> <div class="gs-wrap">
<h2>Gold <span>Shop &amp; Promo Codes</span></h2> <h2><?php echo ADMIN_GOLD; ?><span><?php echo ADM_SHOP_PROMO_CODES; ?></span></h2>
<p class="gs-intro"> <p class="gs-intro"><?php echo ADM_CREATE_PROMO_VOUCHER_CODES_PLAYERS_REDEEM_FO; ?><a href="admin.php?p=usergold" style="color:#93c5fd;"><?php echo ADMIN_GIVE_FREE_GOLD_TO_SPECIFIC_USER; ?></a><?php echo ADM_DIRECTLY; ?></p>
Create promo / voucher codes players redeem for gold on the Plus page. Set a fixed
gold amount, an optional total use-limit, whether each player may redeem it once,
and an optional expiry. For a one-off bug-hunter reward, create a code with
max-uses&nbsp;1 &mdash; or use
<a href="admin.php?p=usergold" style="color:#93c5fd;">Give Free Gold To Specific User</a> directly.
</p>
<?php if ($msg !== ''): ?> <?php if ($msg !== ''): ?>
<div class="gs-msg"><?php echo e($msg); ?></div> <div class="gs-msg"><?php echo e($msg); ?></div>
<?php endif; ?> <?php endif; ?>
<div class="gs-card"> <div class="gs-card">
<h3>Create a code</h3> <h3><?php echo ADM_CREATE_A_CODE; ?></h3>
<form method="post" action="../GameEngine/Admin/Mods/goldPromo.php" class="gs-add"> <form method="post" action="../GameEngine/Admin/Mods/goldPromo.php" class="gs-add">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="do" value="create"> <input type="hidden" name="do" value="create">
<div> <div>
<label>Code</label> <label><?php echo ADM_CODE; ?></label>
<input class="code" type="text" name="code" maxlength="64" placeholder="BUGHUNT2026" required> <input class="code" type="text" name="code" maxlength="64" placeholder="BUGHUNT2026" required>
</div> </div>
<div> <div>
<label>Gold</label> <label><?php echo ADMIN_GOLD; ?></label>
<input class="num" type="number" name="gold" min="1" value="100" required> <input class="num" type="number" name="gold" min="1" value="100" required>
</div> </div>
<div> <div>
<label>Max uses (0 = &infin;)</label> <label><?php echo ADM_MAX_USES_0; ?></label>
<input class="num" type="number" name="max_uses" min="0" value="0"> <input class="num" type="number" name="max_uses" min="0" value="0">
</div> </div>
<div> <div>
<label>Expires in (days, 0 = never)</label> <label><?php echo ADM_EXPIRES_IN_DAYS_0_NEVER; ?></label>
<input class="num" type="number" name="expires_days" min="0" value="0"> <input class="num" type="number" name="expires_days" min="0" value="0">
</div> </div>
<div class="chk"> <div class="chk">
<input type="checkbox" name="per_user" id="per_user" checked> <input type="checkbox" name="per_user" id="per_user" checked>
<label for="per_user" style="margin:0;text-transform:none;letter-spacing:0;">once per player</label> <label for="per_user" style="margin:0;text-transform:none;letter-spacing:0;"><?php echo ADM_ONCE_PER_PLAYER; ?></label>
</div> </div>
<div> <div>
<label>Note (optional)</label> <label><?php echo ADM_NOTE_OPTIONAL; ?></label>
<input class="note" type="text" name="note" maxlength="255" placeholder="reason / campaign"> <input class="note" type="text" name="note" maxlength="255" placeholder="<?php echo ADM_REASON_CAMPAIGN; ?>">
</div> </div>
<button type="submit">Create</button> <button type="submit"><?php echo ADM_CREATE; ?></button>
</form> </form>
<div class="gs-hint">Codes are case-insensitive; allowed characters: A-Z 0-9 . _ &ndash;</div> <div class="gs-hint"><?php echo ADM_CODES_ARE_CASE_INSENSITIVE_ALLOWED_CHARACTER; ?></div>
</div> </div>
<div class="gs-card" style="padding:0;"> <div class="gs-card" style="padding:0;">
<?php if (empty($codes)): ?> <?php if (empty($codes)): ?>
<div class="gs-empty">No promo codes yet.</div> <div class="gs-empty"><?php echo ADM_NO_PROMO_CODES_YET; ?></div>
<?php else: ?> <?php else: ?>
<div class="gs-scroll"> <div class="gs-scroll">
<table class="gs-table"> <table class="gs-table">
<thead> <thead>
<tr> <tr>
<th>Code</th> <th><?php echo ADM_CODE; ?></th>
<th>Gold</th> <th><?php echo ADMIN_GOLD; ?></th>
<th>Uses</th> <th><?php echo ADM_USES; ?></th>
<th>Scope</th> <th><?php echo ADM_SCOPE; ?></th>
<th>Expires</th> <th><?php echo ADM_EXPIRES; ?></th>
<th>Status</th> <th><?php echo ADM_STATUS; ?></th>
<th>Note</th> <th><?php echo ADM_NOTE; ?></th>
<th style="width:150px;"></th> <th style="width:150px;"></th>
</tr> </tr>
</thead> </thead>
@@ -161,7 +155,7 @@ $msg = isset($_GET['msg']) ? (string)$_GET['msg'] : '';
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="do" value="delete"> <input type="hidden" name="do" value="delete">
<input type="hidden" name="id" value="<?php echo (int)$cd['id']; ?>"> <input type="hidden" name="id" value="<?php echo (int)$cd['id']; ?>">
<button type="submit" class="b-del">Delete</button> <button type="submit" class="b-del"><?php echo ADM_DELETE; ?></button>
</form> </form>
</div> </div>
</td> </td>
@@ -174,14 +168,14 @@ $msg = isset($_GET['msg']) ? (string)$_GET['msg'] : '';
</div> </div>
<div class="gs-card"> <div class="gs-card">
<h3>Recent redemptions</h3> <h3><?php echo ADM_RECENT_REDEMPTIONS; ?></h3>
<?php if (empty($redeems)): ?> <?php if (empty($redeems)): ?>
<div class="gs-side-note">No redemptions yet.</div> <div class="gs-side-note"><?php echo ADM_NO_REDEMPTIONS_YET; ?></div>
<?php else: ?> <?php else: ?>
<div class="gs-scroll"> <div class="gs-scroll">
<table class="gs-table"> <table class="gs-table">
<thead> <thead>
<tr><th>When</th><th>Player</th><th>Code</th><th>Gold</th></tr> <tr><th><?php echo ADM_WHEN; ?></th><th><?php echo ADM_PLAYER_2; ?></th><th><?php echo ADM_CODE; ?></th><th><?php echo ADMIN_GOLD; ?></th></tr>
</thead> </thead>
<tbody> <tbody>
<?php foreach ($redeems as $rd): ?> <?php foreach ($redeems as $rd): ?>
+17 -21
View File
@@ -73,31 +73,27 @@ $js = [
</style> </style>
<div class="hm-wrap"> <div class="hm-wrap">
<h2>World Map <span>Heatmap</span></h2> <h2><?php echo ADM_WORLD_MAP; ?><span><?php echo ADM_HEATMAP; ?></span></h2>
<p class="hm-intro"> <p class="hm-intro"><?php echo ADM_DENSITY_OVERLAYS_ON_THE_WORLD_GRID_TO_HELP_W; ?></p>
Density overlays on the world grid to help with starting balance: where villages
cluster, which tribes dominate a region, where inactive players sit (dead zones /
good spawn spots), and where attacks are currently landing. North (+y) is up.
</p>
<form method="get" action="admin.php" class="hm-filter"> <form method="get" action="admin.php" class="hm-filter">
<input type="hidden" name="p" value="heatmap"> <input type="hidden" name="p" value="heatmap">
<div> <div>
<label>Grid resolution</label> <label><?php echo ADM_GRID_RESOLUTION; ?></label>
<input type="number" name="res" min="<?php echo Heatmap::MIN_RES; ?>" max="<?php echo Heatmap::MAX_RES; ?>" value="<?php echo (int)$data['res']; ?>"> <input type="number" name="res" min="<?php echo Heatmap::MIN_RES; ?>" max="<?php echo Heatmap::MAX_RES; ?>" value="<?php echo (int)$data['res']; ?>">
</div> </div>
<div> <div>
<label>Inactive after (days)</label> <label><?php echo ADM_INACTIVE_AFTER_DAYS; ?></label>
<input type="number" name="days" min="1" max="365" value="<?php echo (int)$data['inactive_days']; ?>"> <input type="number" name="days" min="1" max="365" value="<?php echo (int)$data['inactive_days']; ?>">
</div> </div>
<button type="submit">Rebuild</button> <button type="submit"><?php echo ADM_REBUILD; ?></button>
</form> </form>
<div class="hm-layers"> <div class="hm-layers">
<button data-layer="density" class="active">Village density</button> <button data-layer="density" class="active"><?php echo ADM_VILLAGE_DENSITY; ?></button>
<button data-layer="tribe">Tribe density</button> <button data-layer="tribe"><?php echo ADM_TRIBE_DENSITY; ?></button>
<button data-layer="inactive">Inactivity</button> <button data-layer="inactive"><?php echo ADM_INACTIVITY; ?></button>
<button data-layer="attacks">Attacks</button> <button data-layer="attacks"><?php echo ADM_ATTACKS; ?></button>
</div> </div>
<div class="hm-stage"> <div class="hm-stage">
@@ -108,21 +104,21 @@ $js = [
<div class="hm-below"> <div class="hm-below">
<div class="hm-card"> <div class="hm-card">
<h3>Summary</h3> <h3><?php echo ADM_SUMMARY; ?></h3>
<div class="hm-stat"><span>Player villages</span><b><?php echo number_format($data['totals']['villages']); ?></b></div> <div class="hm-stat"><span><?php echo ADM_PLAYER_VILLAGES; ?></span><b><?php echo number_format($data['totals']['villages']); ?></b></div>
<div class="hm-stat"><span>Players</span><b><?php echo number_format($data['totals']['players']); ?></b></div> <div class="hm-stat"><span><?php echo ADM_PLAYERS; ?></span><b><?php echo number_format($data['totals']['players']); ?></b></div>
<div class="hm-stat"><span>Inactive villages</span><b><?php echo number_format($data['totals']['inactive']); ?></b></div> <div class="hm-stat"><span><?php echo ADM_INACTIVE_VILLAGES; ?></span><b><?php echo number_format($data['totals']['inactive']); ?></b></div>
<div class="hm-stat"><span>Attacks in flight</span><b><?php echo number_format($data['totals']['attacks']); ?></b></div> <div class="hm-stat"><span><?php echo ADM_ATTACKS_IN_FLIGHT; ?></span><b><?php echo number_format($data['totals']['attacks']); ?></b></div>
<div class="hm-note">Map <?php echo (int)$data['world_max']; ?>&times;<?php echo (int)$data['world_max']; ?> radius, <?php echo (int)$data['res']; ?>&times;<?php echo (int)$data['res']; ?> grid (&asymp;<?php echo (int)round($data['cell_span']); ?> tiles/cell).</div> <div class="hm-note">Map <?php echo (int)$data['world_max']; ?>&times;<?php echo (int)$data['world_max']; ?> radius, <?php echo (int)$data['res']; ?>&times;<?php echo (int)$data['res']; ?> grid (&asymp;<?php echo (int)round($data['cell_span']); ?> tiles/cell).</div>
</div> </div>
<div class="hm-card"> <div class="hm-card">
<h3 id="hm-legend-title">Legend</h3> <h3 id="hm-legend-title"><?php echo ADM_LEGEND; ?></h3>
<div class="hm-legend" id="hm-legend"></div> <div class="hm-legend" id="hm-legend"></div>
</div> </div>
<div class="hm-card"> <div class="hm-card">
<h3>Tribe totals</h3> <h3><?php echo ADM_TRIBE_TOTALS; ?></h3>
<?php <?php
$tt = $data['tribe_totals']; $tt = $data['tribe_totals'];
$sum = array_sum($tt); $sum = array_sum($tt);
@@ -138,7 +134,7 @@ $js = [
<div class="hm-stat"><span><span class="sw" style="background:<?php echo $tribeColors[$t]??'#64748b'; ?>;display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;"></span><?php echo e($tribeNames[$t]??('Tribe '.$t)); ?></span><b><?php echo number_format($n); ?></b></div> <div class="hm-stat"><span><span class="sw" style="background:<?php echo $tribeColors[$t]??'#64748b'; ?>;display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;"></span><?php echo e($tribeNames[$t]??('Tribe '.$t)); ?></span><b><?php echo number_format($n); ?></b></div>
<?php endforeach; ?> <?php endforeach; ?>
<?php else: ?> <?php else: ?>
<div class="hm-note">No player villages found.</div> <div class="hm-note"><?php echo ADM_NO_PLAYER_VILLAGES_FOUND; ?></div>
<?php endif; ?> <?php endif; ?>
</div> </div>
</div> </div>
+24 -24
View File
@@ -115,35 +115,35 @@ $role = $_SESSION['access'] == ADMIN ? 'Administrator' : 'MultiHunter';
<div class="dashboard"> <div class="dashboard">
<div class="dash-head"> <div class="dash-head">
<h1>WELCOME TO <?php echo strtoupper($role); ?> CONTROL PANEL</h1> <h1>WELCOME TO <?php echo strtoupper($role); ?> CONTROL PANEL</h1>
<div class="sub">Hello <b><?php echo $_SESSION['admin_username']; ?></b> — <?php echo date('d.m.Y H:i'); ?> Server Time</div> <div class="sub"><?php echo ADM_HELLO; ?><b><?php echo $_SESSION['admin_username']; ?></b> — <?php echo date('d.m.Y H:i'); ?> Server Time</div>
</div> </div>
<!-- TOATE CARDURILE ORIGINALE --> <!-- TOATE CARDURILE ORIGINALE -->
<div class="cards"> <div class="cards">
<div class="card blue"><h3>Total Players</h3><div class="val"><?php echo number_format($totalUsers); ?></div><div class="subv">+ <?php echo $active24h; ?> active 24h</div></div> <div class="card blue"><h3><?php echo ADM_TOTAL_PLAYERS; ?></h3><div class="val"><?php echo number_format($totalUsers); ?></div><div class="subv">+ <?php echo $active24h; ?> active 24h</div></div>
<div class="card green"><h3>Online Now</h3><div class="val"><?php echo $onlineNow; ?></div><div class="subv">last 5 minutes</div></div> <div class="card green"><h3><?php echo ADM_ONLINE_NOW; ?></h3><div class="val"><?php echo $onlineNow; ?></div><div class="subv"><?php echo ADM_LAST_5_MIN; ?></div></div>
<div class="card"><h3>Villages</h3><div class="val"><?php echo number_format($totalVillages); ?></div><div class="subv">avg <?php echo $totalUsers ? round($totalVillages/$totalUsers,1) : 0; ?> / player</div></div> <div class="card"><h3><?php echo ADM_VILLAGES; ?></h3><div class="val"><?php echo number_format($totalVillages); ?></div><div class="subv">avg <?php echo $totalUsers ? round($totalVillages/$totalUsers,1) : 0; ?> / player</div></div>
<div class="card orange"><h3>Gold in Game</h3><div class="val"><?php echo number_format($totalGold); ?></div><div class="subv"><?php echo $activePlus; ?> with Plus active</div></div> <div class="card orange"><h3><?php echo ADM_GOLD_IN_GAME; ?></h3><div class="val"><?php echo number_format($totalGold); ?></div><div class="subv"><?php echo $activePlus; ?> with Plus active</div></div>
<div class="card red"><h3>Active Bans</h3><div class="val"><?php echo $activeBans; ?></div><div class="subv"><a href="admin.php?p=ban">manage</a></div></div> <div class="card red"><h3><?php echo ADM_ACTIVE_BANS; ?></h3><div class="val"><?php echo $activeBans; ?></div><div class="subv"><a href="admin.php?p=ban"><?php echo ADM_MANAGE; ?></a></div></div>
<div class="card"><h3>Last Registration</h3><div class="val" style="font-size:15px !important"><a href="admin.php?p=player&uid=<?php echo $lastReg['id']; ?>" style="color:#2563eb !important"><?php echo htmlspecialchars($lastReg['username']); ?></a></div><div class="subv">ID #<?php echo $lastReg['id']; ?></div></div> <div class="card"><h3><?php echo ADM_LAST_REGISTRATION; ?></h3><div class="val" style="font-size:15px !important"><a href="admin.php?p=player&uid=<?php echo $lastReg['id']; ?>" style="color:#2563eb !important"><?php echo htmlspecialchars($lastReg['username']); ?></a></div><div class="subv">ID #<?php echo $lastReg['id']; ?></div></div>
<div class="card"><h3>PHP / MySQL</h3><div class="val" style="font-size:15px !important"><?php echo PHP_VERSION; ?></div><div class="subv"><?php echo $database->dblink->server_info; ?></div></div> <div class="card"><h3>PHP / MySQL</h3><div class="val" style="font-size:15px !important"><?php echo PHP_VERSION; ?></div><div class="subv"><?php echo $database->dblink->server_info; ?></div></div>
<div class="card"><h3>Server Clock</h3><div class="val" style="font-size:15px !important"><?php echo date('H:i:s'); ?></div><div class="subv">Uptime: <?php echo @exec('uptime -p') ?: 'n/a'; ?></div></div> <div class="card"><h3><?php echo ADM_SERVER_CLOCK; ?></h3><div class="val" style="font-size:15px !important"><?php echo date('H:i:s'); ?></div><div class="subv">Uptime: <?php echo @exec('uptime -p') ?: 'n/a'; ?></div></div>
</div> </div>
<!-- TIMELINE NOU - IN PLUS --> <!-- TIMELINE NOU - IN PLUS -->
<div class="panel"> <div class="panel">
<h2>Server Timeline</h2> <h2><?php echo ADM_SERVER_TIMELINE; ?></h2>
<div class="timeline"> <div class="timeline">
<div><b>Start Date:</b><br><?php echo $serverStart; ?></div> <div><b><?php echo ADM_START_DATE; ?></b><br><?php echo $serverStart; ?></div>
<div><b>Natars:</b><br><?php echo $natarsStatus; ?></div> <div><b><?php echo ADM_NATARS_C; ?></b><br><?php echo $natarsStatus; ?></div>
<div><b>Artefacts:</b><br><?php echo $arteStatus; ?></div> <div><b><?php echo ADM_ARTEFACTS_C; ?></b><br><?php echo $arteStatus; ?></div>
<div><b>WW Plans:</b><br><?php echo $plansStatus; ?></div> <div><b><?php echo ADM_WW_PLANS_C; ?></b><br><?php echo $plansStatus; ?></div>
<div><b>Server Age:</b><br><?php echo $startTime ? floor((time()-$startTime)/86400).' days' : '-'; ?></div> <div><b><?php echo ADM_SERVER_AGE; ?></b><br><?php echo $startTime ? floor((time()-$startTime)/86400).' days' : '-'; ?></div>
<div><b>Next Event:</b><br>—</div> <div><b><?php echo ADM_NEXT_EVENT; ?></b><br>—</div>
</div> </div>
</div> </div>
<div class="grid2"> <div class="grid2">
<div class="panel"> <div class="panel">
<h2>Last 5 Admin Actions</h2> <h2><?php echo ADM_LAST_5_ACTIONS; ?></h2>
<div class="logmini"> <div class="logmini">
<?php <?php
$logs = $database->query("SELECT * FROM ".TB_PREFIX."admin_log ORDER BY id DESC LIMIT 5"); $logs = $database->query("SELECT * FROM ".TB_PREFIX."admin_log ORDER BY id DESC LIMIT 5");
@@ -153,17 +153,17 @@ $role = $_SESSION['access'] == ADMIN ? 'Administrator' : 'MultiHunter';
} }
?> ?>
</div> </div>
<div style="margin-top:10px"><a href="admin.php?p=admin_log" style="color:#2563eb !important;font-weight:600">view full log →</a></div> <div style="margin-top:10px"><a href="admin.php?p=admin_log" style="color:#2563eb !important;font-weight:600"><?php echo ADM_VIEW_FULL_LOG; ?></a></div>
</div> </div>
<div class="panel quick"> <div class="panel quick">
<h2>Quick Actions</h2> <h2><?php echo ADM_QUICK_ACTIONS; ?></h2>
<a href="admin.php?p=search">🔍 Search Player</a> <a href="admin.php?p=search"><?php echo ADM_QA_SEARCH; ?></a>
<a href="admin.php?p=ban">🔨 Ban Manager</a> <a href="admin.php?p=ban"><?php echo ADM_QA_BAN; ?></a>
<a href="admin.php?p=map">🗺 Map</a> <a href="admin.php?p=map"><?php echo ADM_QA_MAP; ?></a>
<a href="admin.php?p=natars">🏰 Natars</a> <a href="admin.php?p=natars"><?php echo ADM_QA_NATARS; ?></a>
<a href="admin.php?p=addUser">👤 Add User</a> <a href="admin.php?p=addUser"><?php echo ADM_QA_ADD_USER; ?></a>
<a href="admin.php?p=server_info">⚙ Server Info</a> <a href="admin.php?p=server_info"><?php echo ADM_QA_SERVER_INFO; ?></a>
</div> </div>
</div> </div>
+2 -2
View File
@@ -68,7 +68,7 @@ $tribeName = [1=>'Roman',2=>'Teuton',3=>'Gaul'];
<div class="inactive-wrap"> <div class="inactive-wrap">
<div class="inactive-head"> <div class="inactive-head">
<svg viewBox="0 0 24 24" width="22" height="22" fill="none"><circle cx="12" cy="8" r="4" fill="#777"/><path d="M4 20c0-3.3 3.6-6 8-6s8 2.7 8 6v1H4v-1z" fill="#777"/><circle cx="18" cy="18" r="4" fill="#e67e22"/><path d="M18 15v3l2 1" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/></svg> <svg viewBox="0 0 24 24" width="22" height="22" fill="none"><circle cx="12" cy="8" r="4" fill="#777"/><path d="M4 20c0-3.3 3.6-6 8-6s8 2.7 8 6v1H4v-1z" fill="#777"/><circle cx="18" cy="18" r="4" fill="#e67e22"/><path d="M18 15v3l2 1" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/></svg>
<h2>Inactive Users</h2> <h2><?php echo ADM_INACTIVE_USERS; ?></h2>
</div> </div>
<div class="inactive-tabs"> <div class="inactive-tabs">
@@ -103,7 +103,7 @@ $tribeName = [1=>'Roman',2=>'Teuton',3=>'Gaul'];
</div> </div>
<div class="stats"> <div class="stats">
<span class="badge gold">💰 <?php echo $u['gold']; ?></span> <span class="badge gold">💰 <?php echo $u['gold']; ?></span>
<span><a href="?p=player&uid=<?php echo $uid; ?>&action=delete" onclick="return confirm('Delete?')" style="color:#c00;text-decoration:none">delete</a></span> <span><a href="?p=player&uid=<?php echo $uid; ?>&action=delete" onclick="return confirm('Delete?')" style="color:#c00;text-decoration:none"><?php echo ADM_DELETE_L; ?></a></span>
</div> </div>
</div> </div>
<?php } ?> <?php } ?>
+10 -12
View File
@@ -125,31 +125,29 @@ body > img[src*="Travian"], img[src*="admin.gif"]{display:none !important}
<div class="login-header"> <div class="login-header">
<div class="travian-logo">TRA<span>VIAN</span>Z</div> <div class="travian-logo">TRA<span>VIAN</span>Z</div>
<div class="admin-badge"> <div class="admin-badge">
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10z"/></svg> <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10z"/></svg><?php echo ADM_ADMIN_CONTROL; ?></div>
Admin Control
</div>
</div> </div>
<div class="login-card"> <div class="login-card">
<div class="login-title"> <div class="login-title">
<h2>Server Administration</h2> <h2><?php echo ADM_SERVER_ADMINISTRATION; ?></h2>
<p>Secure access to TravianZ panel</p> <p><?php echo ADM_SECURE_ACCESS_TO_TRAVIANZ_PANEL; ?></p>
</div> </div>
<form method="post" action="admin.php"> <form method="post" action="admin.php">
<input type="hidden" name="action" value="login"> <input type="hidden" name="action" value="login">
<div class="form-group"> <div class="form-group">
<label>Username</label> <label><?php echo ADM_USERNAME; ?></label>
<input class="form-input" type="text" name="name" value="<?php echo (isset($_SESSION['admin_username']) ? $_SESSION['admin_username'] : '')?>" maxlength="20" placeholder="Enter admin username" autocomplete="username" required> <input class="form-input" type="text" name="name" value="<?php echo (isset($_SESSION['admin_username']) ? $_SESSION['admin_username'] : '')?>" maxlength="20" placeholder="<?php echo ADM_ENTER_ADMIN_USERNAME; ?>" autocomplete="username" required>
</div> </div>
<div class="form-group"> <div class="form-group">
<label>Password</label> <label><?php echo ADM_PASSWORD; ?></label>
<input class="form-input" type="password" name="pw" value="" maxlength="20" placeholder="••••••••" autocomplete="current-password" required> <input class="form-input" type="password" name="pw" value="" maxlength="20" placeholder="••••••••" autocomplete="current-password" required>
</div> </div>
<button type="submit" class="login-btn">Access Panel</button> <button type="submit" class="login-btn"><?php echo ADM_ACCESS_PANEL; ?></button>
</form> </form>
<div class="login-footer"> <div class="login-footer">
@@ -158,9 +156,9 @@ body > img[src*="Travian"], img[src*="admin.gif"]{display:none !important}
</div> </div>
<div class="tribes"> <div class="tribes">
<div class="tribe-icon" title="Romans">⚔</div> <div class="tribe-icon" title="<?php echo ADM_ROMANS; ?>">⚔</div>
<div class="tribe-icon" title="Teutons">🪓</div> <div class="tribe-icon" title="<?php echo ADM_TEUTONS; ?>">🪓</div>
<div class="tribe-icon" title="Gauls">🛡</div> <div class="tribe-icon" title="<?php echo ADM_GAULS; ?>">🛡</div>
</div> </div>
<div class="credits"> <div class="credits">
+6 -6
View File
@@ -62,20 +62,20 @@ if($maint['started_by'] > 0){
<form method="POST"> <form method="POST">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<div class="maint-card"> <div class="maint-card">
<div class="maint-head">Server Maintenance</div> <div class="maint-head"><?php echo ADMIN_SERVER_MAINTENANCE; ?></div>
<div class="maint-status <?= $maint['active'] ? 'on' : 'off' ?>"> <div class="maint-status <?= $maint['active'] ? 'on' : 'off' ?>">
<?= $maint['active'] ? 'ACTIVE since '.($maint['started_at'] ? date('H:i d.m.Y',$maint['started_at']) : '-') : 'INACTIVE server open' ?> <?= $maint['active'] ? 'ACTIVE since '.($maint['started_at'] ? date('H:i d.m.Y',$maint['started_at']) : '-') : 'INACTIVE server open' ?>
</div> </div>
<?php if($maint['active']){ ?> <?php if($maint['active']){ ?>
<div class="maint-info">Started by: <b><?= htmlspecialchars($starterName) ?></b> (UID: <?= (int)$maint['started_by'] ?>)</div> <div class="maint-info"><?php echo ADM_STARTED_BY; ?><b><?= htmlspecialchars($starterName) ?></b> (UID: <?= (int)$maint['started_by'] ?>)</div>
<?php } ?> <?php } ?>
<div class="maint-row"> <div class="maint-row">
<div>Enable maintenance</div> <div><?php echo ADM_ENABLE_MAINTENANCE; ?></div>
<button type="submit" name="startMaint" class="maint-btn start">Start</button> <button type="submit" name="startMaint" class="maint-btn start"><?php echo ADM_START; ?></button>
</div> </div>
<div class="maint-row"> <div class="maint-row">
<div>Disable maintenance</div> <div><?php echo ADM_DISABLE_MAINTENANCE; ?></div>
<button type="submit" name="removeMaint" class="maint-btn stop">Stop</button> <button type="submit" name="removeMaint" class="maint-btn stop"><?php echo ADM_STOP; ?></button>
</div> </div>
</div> </div>
</form> </form>
+6 -10
View File
@@ -40,31 +40,27 @@ if($_SESSION['access'] < ADMIN) die("Access Denied: You are not Admin!");
<div class="resetgold-wrap"> <div class="resetgold-wrap">
<div class="resetgold-head"> <div class="resetgold-head">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 2v10l4-4" stroke="#e74c3c" stroke-width="2" stroke-linecap="round"/><circle cx="12" cy="17" r="5" fill="#c0392b"/></svg> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 2v10l4-4" stroke="#e74c3c" stroke-width="2" stroke-linecap="round"/><circle cx="12" cy="17" r="5" fill="#c0392b"/></svg>
<h2>Reset Gold for all players</h2> <h2><?php echo ADM_RESET_GOLD_FOR_ALL_PLAYERS; ?></h2>
</div> </div>
<div class="resetgold-card"> <div class="resetgold-card">
<div class="warn-icon"> <div class="warn-icon">
<svg viewBox="0 0 24 24"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg> <svg viewBox="0 0 24 24"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg>
</div> </div>
<h3>Reset All Players Gold</h3> <h3><?php echo ADM_RESET_ALL_PLAYERS_GOLD; ?></h3>
<p>This action will set the gold to <b>0</b> for ALL players from the server.</p> <p><?php echo ADM_THIS_ACTION_WILL_SET_THE_GOLD_TO; ?><b>0</b><?php echo ADM_FOR_ALL_PLAYERS_FROM_THE_SERVER; ?></p>
<div class="danger-box"> <div class="danger-box"><?php echo ADM_WARNING_THE_ACTION_IS_IRREVERSIBLE_MAKE_SURE; ?></div>
⚠️ WARNING: The action is irreversible! Make sure you have backup first.
</div>
<form action="../GameEngine/Admin/Mods/mainteneceResetGold.php" method="POST" class="resetgold-form" onsubmit="return confirm('Are you SURE you want to reset gold to ALL players?');"> <form action="../GameEngine/Admin/Mods/mainteneceResetGold.php" method="POST" class="resetgold-form" onsubmit="return confirm('Are you SURE you want to reset gold to ALL players?');">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<button type="submit"> <button type="submit">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none"><path d="M3 6h18M8 6V4h8v2m-1 0v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10z" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> <svg width="18" height="18" viewBox="0 0 24 24" fill="none"><path d="M3 6h18M8 6V4h8v2m-1 0v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10z" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg><?php echo ADM_RESET_GOLD_NOW; ?></button>
RESET GOLD NOW
</button>
</form> </form>
</div> </div>
<?php if(isset($_GET['g'])){ ?> <?php if(isset($_GET['g'])){ ?>
<div class="resetgold-success"> All players gold has been reset!</div> <div class="resetgold-success"><?php echo ADM_ALL_PLAYERS_GOLD_HAS_BEEN_RESET; ?></div>
<?php } ?> <?php } ?>
</div> </div>
+6 -10
View File
@@ -40,31 +40,27 @@ if($_SESSION['access'] < ADMIN) die("Access Denied: You are not Admin!");
<div class="resetplus-wrap"> <div class="resetplus-wrap">
<div class="resetplus-head"> <div class="resetplus-head">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 2v10l4-4" stroke="#8e44ad" stroke-width="2" stroke-linecap="round"/><circle cx="12" cy="17" r="5" fill="#6c3483"/></svg> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 2v10l4-4" stroke="#8e44ad" stroke-width="2" stroke-linecap="round"/><circle cx="12" cy="17" r="5" fill="#6c3483"/></svg>
<h2>Reset All Players Plus</h2> <h2><?php echo ADM_RESET_ALL_PLAYERS_PLUS; ?></h2>
</div> </div>
<div class="resetplus-card"> <div class="resetplus-card">
<div class="warn-icon"> <div class="warn-icon">
<svg viewBox="0 0 24 24"><path d="M12 4v16M4 12h16" stroke="white" stroke-width="3" stroke-linecap="round"/></svg> <svg viewBox="0 0 24 24"><path d="M12 4v16M4 12h16" stroke="white" stroke-width="3" stroke-linecap="round"/></svg>
</div> </div>
<h3>Reset All Players Plus</h3> <h3><?php echo ADM_RESET_ALL_PLAYERS_PLUS; ?></h3>
<p>This action will disable Travian Plus for ALL players.</p> <p><?php echo ADM_THIS_ACTION_WILL_DISABLE_TRAVIAN_PLUS_FOR_AL; ?></p>
<div class="danger-box"> <div class="danger-box"><?php echo ADM_PLUS_IT_WILL_BE_SET_TO_0_DAYS_FOR_EVERYONE; ?></div>
⚠️ Plus it will be set to 0 days for everyone.
</div>
<form action="../GameEngine/Admin/Mods/mainteneceResetPlus.php" method="POST" class="resetplus-form" onsubmit="return confirm('Are you SURE you want to reset the Plus to ALL players?');"> <form action="../GameEngine/Admin/Mods/mainteneceResetPlus.php" method="POST" class="resetplus-form" onsubmit="return confirm('Are you SURE you want to reset the Plus to ALL players?');">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<button type="submit"> <button type="submit">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none"><path d="M3 6h18M8 6V4h8v2m-1 0v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10z" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> <svg width="18" height="18" viewBox="0 0 24 24" fill="none"><path d="M3 6h18M8 6V4h8v2m-1 0v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10z" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg><?php echo ADM_RESET_PLUS_NOW; ?></button>
RESET PLUS NOW
</button>
</form> </form>
</div> </div>
<?php if(isset($_GET['g'])){ ?> <?php if(isset($_GET['g'])){ ?>
<div class="resetplus-success"> Plus all the players have been reset!</div> <div class="resetplus-success"><?php echo ADM_PLUS_ALL_THE_PLAYERS_HAVE_BEEN_RESET; ?></div>
<?php } ?> <?php } ?>
</div> </div>
+10 -14
View File
@@ -45,38 +45,34 @@ if($_SESSION['access'] < ADMIN) die("Access Denied: You are not Admin!");
<div class="resetres-wrap"> <div class="resetres-wrap">
<div class="resetres-head"> <div class="resetres-head">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 7h16v10H4z" fill="#27ae60"/><path d="M8 3v4M16 3v4" stroke="#16a085" stroke-width="2"/></svg> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 7h16v10H4z" fill="#27ae60"/><path d="M8 3v4M16 3v4" stroke="#16a085" stroke-width="2"/></svg>
<h2>Reset All Resource Bonuses</h2> <h2><?php echo ADM_RESET_ALL_RESOURCE_BONUSES; ?></h2>
</div> </div>
<div class="resetres-card"> <div class="resetres-card">
<div class="warn-icon"> <div class="warn-icon">
<svg viewBox="0 0 24 24"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg> <svg viewBox="0 0 24 24"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg>
</div> </div>
<h3>Reset All Resource Bonuses</h3> <h3><?php echo ADM_RESET_ALL_RESOURCE_BONUSES; ?></h3>
<p>This action will disable the 25% bonus for ALL resources at all players.</p> <p><?php echo ADM_THIS_ACTION_WILL_DISABLE_THE_25_BONUS_FOR_AL; ?></p>
<div class="res-icons"> <div class="res-icons">
<img src="../img/admin/r/1.gif" title="Wood"> <img src="../img/admin/r/1.gif" title="<?php echo ADM_WOOD; ?>">
<img src="../img/admin/r/2.gif" title="Clay"> <img src="../img/admin/r/2.gif" title="<?php echo ADM_CLAY; ?>">
<img src="../img/admin/r/3.gif" title="Iron"> <img src="../img/admin/r/3.gif" title="<?php echo ADM_IRON; ?>">
<img src="../img/admin/r/4.gif" title="Crop"> <img src="../img/admin/r/4.gif" title="<?php echo ADM_CROP; ?>">
</div> </div>
<div class="danger-box"> <div class="danger-box"><?php echo ADM_ALL_RESOURCE_BONUSES_WILL_BE_SET_TO_0_DAYS; ?></div>
⚠️ All resource bonuses will be set to 0 days.
</div>
<form action="../GameEngine/Admin/Mods/mainteneceResetPlusBonus.php" method="POST" class="resetres-form" onsubmit="return confirm('Are you SURE you want to reset resource bonuses?');"> <form action="../GameEngine/Admin/Mods/mainteneceResetPlusBonus.php" method="POST" class="resetres-form" onsubmit="return confirm('Are you SURE you want to reset resource bonuses?');">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<button type="submit"> <button type="submit">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none"><path d="M3 6h18M8 6V4h8v2m-1 0v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10z" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> <svg width="18" height="18" viewBox="0 0 24 24" fill="none"><path d="M3 6h18M8 6V4h8v2m-1 0v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10z" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg><?php echo ADM_RESET_RESOURCE_BONUS; ?></button>
RESET RESOURCE BONUS
</button>
</form> </form>
</div> </div>
<?php if(isset($_GET['g'])){ ?> <?php if(isset($_GET['g'])){ ?>
<div class="resetres-success"> Resource bonuses have been reset for all players!</div> <div class="resetres-success"><?php echo ADM_RESOURCE_BONUSES_HAVE_BEEN_RESET_FOR_ALL_PLA; ?></div>
<?php } ?> <?php } ?>
</div> </div>
+8 -8
View File
@@ -131,14 +131,14 @@ body{margin:0;background:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Ro
<div class="map-wrap"> <div class="map-wrap">
<div class="map-header"> <div class="map-header">
<h2><?php echo SERVER_NAME;?> Map</h2> <h2><?php echo SERVER_NAME;?> Map</h2>
<p>Interactive world map search players, villages and artifacts</p> <p><?php echo ADM_INTERACTIVE_WORLD_MAP_SEARCH_PLAYERS_VILLAGE; ?></p>
</div> </div>
<form id="show" action="admin.php?p=map" method="POST" class="map-filters"> <form id="show" action="admin.php?p=map" method="POST" class="map-filters">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<div class="filter-group"> <div class="filter-group">
<input id="show1" name="show1" type="checkbox" <?php echo $check1;?> value="1"> <input id="show1" name="show1" type="checkbox" <?php echo $check1;?> value="1">
<label for="show1">Players</label> <label for="show1"><?php echo ADM_PLAYERS; ?></label>
</div> </div>
<div class="filter-group"> <div class="filter-group">
<input id="show2" name="show2" type="checkbox" <?php echo $check2;?> value="2"> <input id="show2" name="show2" type="checkbox" <?php echo $check2;?> value="2">
@@ -146,9 +146,9 @@ body{margin:0;background:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Ro
</div> </div>
<div class="filter-group"> <div class="filter-group">
<input id="show3" name="show3" type="checkbox" <?php echo $check3;?> value="2"> <input id="show3" name="show3" type="checkbox" <?php echo $check3;?> value="2">
<label for="show3">Artifacts</label> <label for="show3"><?php echo ADM_ARTIFACTS; ?></label>
</div> </div>
<button type="submit" class="btn-show">Apply Filters</button> <button type="submit" class="btn-show"><?php echo ADM_APPLY_FILTERS; ?></button>
</form> </form>
<div class="map-layout"> <div class="map-layout">
@@ -157,7 +157,7 @@ body{margin:0;background:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Ro
<button type="button" id="zoomOut"></button> <button type="button" id="zoomOut"></button>
<span id="zoomLabel">100%</span> <span id="zoomLabel">100%</span>
<button type="button" id="zoomIn">+</button> <button type="button" id="zoomIn">+</button>
<button type="button" id="zoomReset">Reset</button> <button type="button" id="zoomReset"><?php echo ADM_RESET; ?></button>
</div> </div>
<div class="zoomlevels"> <div class="zoomlevels">
<span id="zl">-<?php echo WORLD_MAX;?></span> <span id="zl">-<?php echo WORLD_MAX;?></span>
@@ -229,7 +229,7 @@ body{margin:0;background:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Ro
<!-- LEGENDE CENTRATE SUB HARTA - Tribes + Artifacts una langa alta --> <!-- LEGENDE CENTRATE SUB HARTA - Tribes + Artifacts una langa alta -->
<div class="legend-row"> <div class="legend-row">
<div class="legend-card"> <div class="legend-card">
<div class="legend-head">Tribes</div> <div class="legend-head"><?php echo ADM_TRIBES; ?></div>
<div class="legend-body"> <div class="legend-body">
<table> <table>
<tr><td><img src="../img/admin/map_1.gif"></td><td><?php echo TRIBE1;?></td></tr> <tr><td><img src="../img/admin/map_1.gif"></td><td><?php echo TRIBE1;?></td></tr>
@@ -240,12 +240,12 @@ body{margin:0;background:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Ro
<?php if(defined('NEW_FUNCTION_TRIBE_EGIPTEANS') && NEW_FUNCTION_TRIBE_EGIPTEANS){ ?><tr><td><img src="../img/admin/map_7.gif"></td><td><?php echo TRIBE7;?></td></tr><?php } ?> <?php if(defined('NEW_FUNCTION_TRIBE_EGIPTEANS') && NEW_FUNCTION_TRIBE_EGIPTEANS){ ?><tr><td><img src="../img/admin/map_7.gif"></td><td><?php echo TRIBE7;?></td></tr><?php } ?>
<?php if(defined('NEW_FUNCTION_TRIBE_SPARTANS') && NEW_FUNCTION_TRIBE_SPARTANS){ ?><tr><td><img src="../img/admin/map_8.gif"></td><td><?php echo TRIBE8;?></td></tr><?php } ?> <?php if(defined('NEW_FUNCTION_TRIBE_SPARTANS') && NEW_FUNCTION_TRIBE_SPARTANS){ ?><tr><td><img src="../img/admin/map_8.gif"></td><td><?php echo TRIBE8;?></td></tr><?php } ?>
<?php if(defined('NEW_FUNCTION_TRIBE_VIKINGS') && NEW_FUNCTION_TRIBE_VIKINGS){ ?><tr><td><img src="../img/admin/map_9.gif"></td><td><?php echo TRIBE9;?></td></tr><?php } ?> <?php if(defined('NEW_FUNCTION_TRIBE_VIKINGS') && NEW_FUNCTION_TRIBE_VIKINGS){ ?><tr><td><img src="../img/admin/map_9.gif"></td><td><?php echo TRIBE9;?></td></tr><?php } ?>
<tr><td><img src="../img/admin/map_0.gif"></td><td>Multihunters</td></tr> <tr><td><img src="../img/admin/map_0.gif"></td><td><?php echo ADM_MULTIHUNTERS; ?></td></tr>
</table> </table>
</div> </div>
</div> </div>
<div class="legend-card"> <div class="legend-card">
<div class="legend-head">Artifacts</div> <div class="legend-head"><?php echo ADM_ARTIFACTS; ?></div>
<div class="legend-body"> <div class="legend-body">
<table> <table>
<tr><td><img src="../img/admin/map_11.gif"></td><td><?php echo VILLAGE_EFFECT;?></td></tr> <tr><td><img src="../img/admin/map_11.gif"></td><td><?php echo VILLAGE_EFFECT;?></td></tr>
+2 -2
View File
@@ -1,4 +1,4 @@
<h1 class="left">Check & Edit Map Tile</h1> <h1 class="left"><?php echo ADM_CHECK_EDIT_MAP_TILE; ?></h1>
<?php <?php
################################################################################# #################################################################################
@@ -168,7 +168,7 @@ elseif(isset($_GET['do_get']) && isset($_POST['x'])){
<b>Y</b> <b>Y</b>
<input class="text" name="y" value="<?=$coord_y?>" maxlength="4"> <input class="text" name="y" value="<?=$coord_y?>" maxlength="4">
</div> </div>
<button class="btn-go" type="submit">Check Tile</button> <button class="btn-go" type="submit"><?php echo ADM_CHECK_TILE; ?></button>
</div> </div>
</form> </form>
+15 -17
View File
@@ -53,7 +53,7 @@ $_SESSION['mass_color'] = $_SESSION['mass_color'] ?? 'black';
<div class="massmsg-wrap"> <div class="massmsg-wrap">
<div class="massmsg-head"> <div class="massmsg-head">
<svg viewBox="0 0 24 24" fill="none"><path d="M20 4H4c-1.1 0-2.9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z" fill="#e67e22"/></svg> <svg viewBox="0 0 24 24" fill="none"><path d="M20 4H4c-1.1 0-2.9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z" fill="#e67e22"/></svg>
<h2>Mass Message</h2> <h2><?php echo ADMIN_MASS_MESSAGE; ?></h2>
</div> </div>
<div class="massmsg-card"> <div class="massmsg-card">
@@ -62,27 +62,27 @@ $_SESSION['mass_color'] = $_SESSION['mass_color'] ?? 'black';
<svg viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-2.9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg> <svg viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-2.9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>
</div> </div>
<div> <div>
<h3>Send Message to All Players</h3> <h3><?php echo ADM_SEND_MESSAGE_TO_ALL_PLAYERS; ?></h3>
<p>In-game message for all users (ID > 5)</p> <p>In-game message for all users (ID > 5)</p>
</div> </div>
</div> </div>
<?php if(isset($_GET['confirm'])):?> <?php if(isset($_GET['confirm'])):?>
<div class="massmsg-confirm"> <div class="massmsg-confirm">
<b>Confirm:</b> Are you sure you want to send?<br> <b><?php echo ADM_CONFIRM; ?></b><?php echo ADM_ARE_YOU_SURE_YOU_WANT_TO_SEND; ?><br>
<b>Subject:</b> <span style="color:<?=$_SESSION['mass_color']?>"><?=htmlspecialchars($_SESSION['mass_subject'])?></span> <b><?php echo ADM_SUBJECT; ?></b> <span style="color:<?=$_SESSION['mass_color']?>"><?=htmlspecialchars($_SESSION['mass_subject'])?></span>
</div> </div>
<form action="../GameEngine/Admin/Mods/massmessage.php" method="POST" class="massmsg-form"> <form action="../GameEngine/Admin/Mods/massmessage.php" method="POST" class="massmsg-form">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="admid" value="<?=$id?>"> <input type="hidden" name="admid" value="<?=$id?>">
<input type="hidden" name="action" value="execute"> <input type="hidden" name="action" value="execute">
<button type="submit" name="confirm" value="Yes" style="background:#27ae60">✓ Yes, Send</button> <button type="submit" name="confirm" value="Yes" style="background:#27ae60"><?php echo ADM_YES_SEND; ?></button>
<button type="submit" name="confirm" value="No" style="background:#95a5a6;margin-top:8px">Cancel</button> <button type="submit" name="confirm" value="No" style="background:#95a5a6;margin-top:8px"><?php echo ADM_CANCEL; ?></button>
</form> </form>
<?php elseif(isset($_GET['sending'])):?> <?php elseif(isset($_GET['sending'])):?>
<div style="text-align:center;padding:30px"> <div style="text-align:center;padding:30px">
<div style="font-size:16px;margin-bottom:10px">Sending messages...</div> <div style="font-size:16px;margin-bottom:10px"><?php echo ADM_SENDING_MESSAGES; ?></div>
<div style="color:#666"><?=e($_GET['msg'] ?? '')?></div> <div style="color:#666"><?=e($_GET['msg'] ?? '')?></div>
</div> </div>
@@ -93,29 +93,27 @@ $_SESSION['mass_color'] = $_SESSION['mass_color'] ?? 'black';
<input type="hidden" name="action" value="prepare"> <input type="hidden" name="action" value="prepare">
<div class="field"> <div class="field">
<label>Subject</label> <label><?php echo ADM_SUBJECT_2; ?></label>
<input type="text" name="subject" placeholder="ex: Maintenance" required maxlength="100"> <input type="text" name="subject" placeholder="<?php echo ADM_EX_MAINTENANCE; ?>" required maxlength="100">
</div> </div>
<div class="field"> <div class="field">
<label>Message Color</label> <label><?php echo ADM_MESSAGE_COLOR; ?></label>
<input type="text" name="color" value="black" placeholder="black sau #e67e22"> <input type="text" name="color" value="black" placeholder="<?php echo ADM_BLACK_SAU_E67E22; ?>">
</div> </div>
<div class="field full"> <div class="field full">
<label>Message Content</label> <label><?php echo ADM_MESSAGE_CONTENT; ?></label>
<textarea name="message" rows="12" placeholder="Write the message... you can use [url][img]" required></textarea> <textarea name="message" rows="12" placeholder="<?php echo ADM_WRITE_THE_MESSAGE_YOU_CAN_USE_URL_IMG; ?>" required></textarea>
</div> </div>
<button type="submit"> <button type="submit">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M2 21l21-9L2 3v7l15 2-15 2v7z" fill="#fff"/></svg> <svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M2 21l21-9L2 3v7l15 2-15 2v7z" fill="#fff"/></svg><?php echo ADM_CONTINUA; ?></button>
Continua
</button>
</form> </form>
<?php endif;?> <?php endif;?>
</div> </div>
<?php if(isset($_GET['done'])){?> <?php if(isset($_GET['done'])){?>
<div class="massmsg-success"> Mass message successfully sent to all players!</div> <div class="massmsg-success"><?php echo ADM_MASS_MESSAGE_SUCCESSFULLY_SENT_TO_ALL_PLAYER; ?></div>
<?php }?> <?php }?>
</div> </div>
+7 -11
View File
@@ -45,31 +45,27 @@ $bid = $_GET['bid']?? '';
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4 6h16v10H7l-3 3V6z" fill="#555"/> <path d="M4 6h16v10H7l-3 3V6z" fill="#555"/>
</svg> </svg>
<h2>IGM / Reports Lookup</h2> <h2><?php echo ADM_IGM_REPORTS_LOOKUP; ?></h2>
</div> </div>
<div class="message-grid"> <div class="message-grid">
<div class="msg-card igm"> <div class="msg-card igm">
<h3> <h3>
<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M4 5h16v10H7l-3 3V5z" fill="#3498db"/></svg> <svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M4 5h16v10H7l-3 3V5z" fill="#3498db"/></svg><?php echo ADM_IGM_BY_ID; ?></h3>
IGM by ID
</h3>
<form action="" method="get"> <form action="" method="get">
<input type="hidden" name="p" value="message"> <input type="hidden" name="p" value="message">
<input type="text" name="nid" placeholder="Enter message ID..." value="<?php echo htmlspecialchars($nid);?>" autofocus> <input type="text" name="nid" placeholder="<?php echo ADM_ENTER_MESSAGE_ID; ?>" value="<?php echo htmlspecialchars($nid);?>" autofocus>
<button type="submit">Go</button> <button type="submit"><?php echo ADM_GO; ?></button>
</form> </form>
</div> </div>
<div class="msg-card report"> <div class="msg-card report">
<h3> <h3>
<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M6 2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z" fill="#e67e22"/><path d="M14 2v6h6" fill="#d35400"/></svg> <svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M6 2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z" fill="#e67e22"/><path d="M14 2v6h6" fill="#d35400"/></svg><?php echo ADM_REPORT_BY_ID; ?></h3>
Report by ID
</h3>
<form action="" method="get"> <form action="" method="get">
<input type="hidden" name="p" value="message"> <input type="hidden" name="p" value="message">
<input type="text" name="bid" placeholder="Enter report ID..." value="<?php echo htmlspecialchars($bid);?>"> <input type="text" name="bid" placeholder="<?php echo ADM_ENTER_REPORT_ID; ?>" value="<?php echo htmlspecialchars($bid);?>">
<button type="submit">Go</button> <button type="submit"><?php echo ADM_GO; ?></button>
</form> </form>
</div> </div>
</div> </div>
+5 -5
View File
@@ -40,10 +40,10 @@ if($nid > 0){
<link href="../<?php echo GP_LOCATE;?>lang/en/compact.css?f4b7i" rel="stylesheet" type="text/css"> <link href="../<?php echo GP_LOCATE;?>lang/en/compact.css?f4b7i" rel="stylesheet" type="text/css">
<link href="../<?php echo GP_LOCATE;?>travian.css?e21d2" rel="stylesheet" type="text/css"> <link href="../<?php echo GP_LOCATE;?>travian.css?e21d2" rel="stylesheet" type="text/css">
<div style="max-width:900px;margin:20px auto"> <div style="max-width:900px;margin:20px auto">
<a href="?p=msg" style="font-size:12px"> Back to messages</a> <a href="?p=msg" style="font-size:12px"><?php echo ADM_BACK_TO_MESSAGES; ?></a>
<div style="margin:8px 0;font-size:12px"><span class="b">Sent to</span>: <?php echo htmlspecialchars($database->getUserField($msg[0]['target'],'username',0));?></div> <div style="margin:8px 0;font-size:12px"><span class="b"><?php echo ADM_SENT_TO; ?></span>: <?php echo htmlspecialchars($database->getUserField($msg[0]['target'],'username',0));?></div>
<div id="content" class="messages"> <div id="content" class="messages">
<h1>Message</h1> <h1><?php echo ADM_MESSAGE; ?></h1>
<div id="read_head" class="msg_head"></div> <div id="read_head" class="msg_head"></div>
<div id="read_content" class="msg_content"> <div id="read_content" class="msg_content">
<img src="../img/x.gif" id="label" class="read" alt=""> <img src="../img/x.gif" id="label" class="read" alt="">
@@ -129,7 +129,7 @@ $msgs = $database->query("SELECT * FROM ".TB_PREFIX."mdata WHERE $where ORDER BY
<form class="search-box" method="get"> <form class="search-box" method="get">
<input type="hidden" name="p" value="msg"> <input type="hidden" name="p" value="msg">
<input type="hidden" name="f" value="<?php echo htmlspecialchars($filter);?>"> <input type="hidden" name="f" value="<?php echo htmlspecialchars($filter);?>">
<input type="text" name="q" placeholder="Search..." value="<?php echo htmlspecialchars($search);?>"> <input type="text" name="q" placeholder="<?php echo ADM_SEARCH_PH; ?>" value="<?php echo htmlspecialchars($search);?>">
</form> </form>
</div> </div>
@@ -152,7 +152,7 @@ $msgs = $database->query("SELECT * FROM ".TB_PREFIX."mdata WHERE $where ORDER BY
<div class="msg-preview"><?php echo htmlspecialchars($preview);?>...</div> <div class="msg-preview"><?php echo htmlspecialchars($preview);?>...</div>
<div class="msg-foot"> <div class="msg-foot">
<span>#<?php echo $m['id'];?></span> <span>#<?php echo $m['id'];?></span>
<span>view </span> <span><?php echo ADM_VIEW_ARROW; ?></span>
</div> </div>
</div> </div>
</a> </a>
+17 -26
View File
@@ -53,39 +53,31 @@ $pairs = $data['pairs'];
</style> </style>
<div class="mad-wrap"> <div class="mad-wrap">
<h2>Multi-Account <span>Detection</span></h2> <h2><?php echo ADM_MULTI_ACCOUNT; ?><span><?php echo ADM_DETECTION; ?></span></h2>
<p class="mad-intro"> <p class="mad-intro"><?php echo ADM_HEURISTIC_CORRELATION_OF_ACCOUNT_PAIRS_BY_SH; ?><b><?php echo ADM_RISK_SCORE_NOT_PROOF; ?></b><?php echo ADM_USE_IT_TO_PRIORITISE_WHICH_PAIRS_A_HUMAN_SHO; ?></p>
Heuristic correlation of account pairs by shared IP, subnet, device/browser
fingerprint (User-Agent), overlapping login times, and resource-transfer flow.
This is a <b>risk score, not proof</b> &mdash; use it to prioritise which
pairs a human should investigate. Nothing is banned automatically.
</p>
<form method="get" action="admin.php" class="mad-filter"> <form method="get" action="admin.php" class="mad-filter">
<input type="hidden" name="p" value="multiacc"> <input type="hidden" name="p" value="multiacc">
<div> <div>
<label>Window (days)</label> <label><?php echo ADM_WINDOW_DAYS; ?></label>
<input type="number" name="days" min="1" max="365" value="<?php echo (int)$days; ?>"> <input type="number" name="days" min="1" max="365" value="<?php echo (int)$days; ?>">
</div> </div>
<div> <div>
<label>Min score</label> <label><?php echo ADM_MIN_SCORE; ?></label>
<input type="number" name="min" min="0" max="100" value="<?php echo (int)$minScore; ?>"> <input type="number" name="min" min="0" max="100" value="<?php echo (int)$minScore; ?>">
</div> </div>
<div> <div>
<label>Focus on UID (optional)</label> <label><?php echo ADM_FOCUS_ON_UID_OPTIONAL; ?></label>
<input type="number" name="focus" min="0" value="<?php echo $focusUid ?: ''; ?>"> <input type="number" name="focus" min="0" value="<?php echo $focusUid ?: ''; ?>">
</div> </div>
<button type="submit">Analyse</button> <button type="submit"><?php echo ADM_ANALYSE; ?></button>
<?php if ($focusUid || $days != MultiAccount::WINDOW_DAYS || $minScore != MultiAccount::MIN_REPORT_SCORE): ?> <?php if ($focusUid || $days != MultiAccount::WINDOW_DAYS || $minScore != MultiAccount::MIN_REPORT_SCORE): ?>
<a class="reset" href="admin.php?p=multiacc">reset</a> <a class="reset" href="admin.php?p=multiacc"><?php echo ADM_RESET_2; ?></a>
<?php endif; ?> <?php endif; ?>
</form> </form>
<?php if ($data['truncated']): ?> <?php if ($data['truncated']): ?>
<div class="mad-warn"> <div class="mad-warn"><?php echo ADM_ROW_CAP_REACHED_WHILE_SCANNING_LOGIN_HISTORY; ?></div>
Row cap reached while scanning login history (window is large / very busy server).
Results still valid but may be incomplete &mdash; narrow the window for full coverage.
</div>
<?php endif; ?> <?php endif; ?>
<div class="mad-meta"> <div class="mad-meta">
@@ -97,8 +89,7 @@ $pairs = $data['pairs'];
</div> </div>
<?php if (empty($pairs)): ?> <?php if (empty($pairs)): ?>
<div class="mad-table"><div class="mad-empty"> <div class="mad-table"><div class="mad-empty"><?php echo ADM_NO_ACCOUNT_PAIRS_AT_OR_ABOVE_THE_CURRENT_SCO; ?><br>
No account pairs at or above the current score threshold.<br>
<?php if ((int)$data['scanned']['mad_session'] === 0): ?> <?php if ((int)$data['scanned']['mad_session'] === 0): ?>
Tip: the User-Agent signal starts filling in only after players log in Tip: the User-Agent signal starts filling in only after players log in
once with this feature deployed. IP &amp; login-time signals work on once with this feature deployed. IP &amp; login-time signals work on
@@ -111,10 +102,10 @@ $pairs = $data['pairs'];
<table class="mad-table"> <table class="mad-table">
<thead> <thead>
<tr> <tr>
<th style="width:80px;">Risk</th> <th style="width:80px;"><?php echo ADM_RISK; ?></th>
<th>Account A</th> <th><?php echo ADM_ACCOUNT_A; ?></th>
<th>Account B</th> <th><?php echo ADM_ACCOUNT_B; ?></th>
<th style="width:44%;">Why</th> <th style="width:44%;"><?php echo ADM_WHY; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -132,16 +123,16 @@ $pairs = $data['pairs'];
<a href="admin.php?p=player&uid=<?php echo (int)$p['uid_a']; ?>"><?php echo e($p['name_a']); ?></a> <a href="admin.php?p=player&uid=<?php echo (int)$p['uid_a']; ?>"><?php echo e($p['name_a']); ?></a>
<span class="uid">#<?php echo (int)$p['uid_a']; ?></span> <span class="uid">#<?php echo (int)$p['uid_a']; ?></span>
<span class="sub"> <span class="sub">
<a href="admin.php?p=userlogin&uid=<?php echo (int)$p['uid_a']; ?>">login log</a> <a href="admin.php?p=userlogin&uid=<?php echo (int)$p['uid_a']; ?>"><?php echo ADM_LOGIN_LOG; ?></a>
<a href="admin.php?p=multiacc&focus=<?php echo (int)$p['uid_a']; ?>">focus</a> <a href="admin.php?p=multiacc&focus=<?php echo (int)$p['uid_a']; ?>"><?php echo ADM_FOCUS; ?></a>
</span> </span>
</td> </td>
<td class="mad-acc"> <td class="mad-acc">
<a href="admin.php?p=player&uid=<?php echo (int)$p['uid_b']; ?>"><?php echo e($p['name_b']); ?></a> <a href="admin.php?p=player&uid=<?php echo (int)$p['uid_b']; ?>"><?php echo e($p['name_b']); ?></a>
<span class="uid">#<?php echo (int)$p['uid_b']; ?></span> <span class="uid">#<?php echo (int)$p['uid_b']; ?></span>
<span class="sub"> <span class="sub">
<a href="admin.php?p=userlogin&uid=<?php echo (int)$p['uid_b']; ?>">login log</a> <a href="admin.php?p=userlogin&uid=<?php echo (int)$p['uid_b']; ?>"><?php echo ADM_LOGIN_LOG; ?></a>
<a href="admin.php?p=multiacc&focus=<?php echo (int)$p['uid_b']; ?>">focus</a> <a href="admin.php?p=multiacc&focus=<?php echo (int)$p['uid_b']; ?>"><?php echo ADM_FOCUS; ?></a>
</span> </span>
</td> </td>
<td class="chips"> <td class="chips">
+12 -12
View File
@@ -49,22 +49,22 @@ $deletedArtifacts = $database->getDeletedArtifacts();
<div class="nat-wrap"> <div class="nat-wrap">
<div class="nat-head"> <div class="nat-head">
<svg width="22" height="22" viewBox="0 0 24 24" fill="#7f8c8d"><path d="M12 2L2 7v10l10 5 10-5V7z"/></svg> <svg width="22" height="22" viewBox="0 0 24 24" fill="#7f8c8d"><path d="M12 2L2 7v10l10 5 10-5V7z"/></svg>
<h1>Natars Management</h1> <h1><?php echo ADMIN_NATARS_MANAGEMENT; ?></h1>
</div> </div>
<div class="nat-grid"> <div class="nat-grid">
<!-- WW Villages --> <!-- WW Villages -->
<div class="nat-card"> <div class="nat-card">
<h2>🏰 WW Villages</h2> <h2><?php echo ADM_WW_VILLAGES; ?></h2>
<div class="body"> <div class="body">
<form method="post" action="../Admin/admin.php?action=addWWVillages"> <form method="post" action="../Admin/admin.php?action=addWWVillages">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<table class="nat-table"> <table class="nat-table">
<tr><th>Number</th><th>Player ID</th><th></th></tr> <tr><th><?php echo ADM_NUMBER; ?></th><th><?php echo ADM_PLAYER_ID; ?></th><th></th></tr>
<tr> <tr>
<td><input type="number" name="numberOfVillages" value="1" min="1" max="999" style="width:60px"></td> <td><input type="number" name="numberOfVillages" value="1" min="1" max="999" style="width:60px"></td>
<td><input type="text" name="playerId" value="<?php echo Artifacts::NATARS_UID;?>" style="width:80px"></td> <td><input type="text" name="playerId" value="<?php echo Artifacts::NATARS_UID;?>" style="width:80px"></td>
<td><button onclick="this.disabled=true;this.form.submit();">Add</button></td> <td><button onclick="this.disabled=true;this.form.submit();"><?php echo ADM_ADD; ?></button></td>
</tr> </tr>
</table> </table>
</form> </form>
@@ -73,12 +73,12 @@ $deletedArtifacts = $database->getDeletedArtifacts();
<!-- Artifacts --> <!-- Artifacts -->
<div class="nat-card"> <div class="nat-card">
<h2>✨ Add Artifacts</h2> <h2><?php echo ADM_ADD_ARTIFACTS; ?></h2>
<div class="body"> <div class="body">
<form method="post" action="../Admin/admin.php?action=addArtifacts"> <form method="post" action="../Admin/admin.php?action=addArtifacts">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<table class="nat-table"> <table class="nat-table">
<tr><th>Icon</th><th>Type</th><th>Qty</th><th>Player</th><th></th></tr> <tr><th><?php echo ADM_ICON; ?></th><th><?php echo ADM_TYPE; ?></th><th><?php echo ADM_QTY_2; ?></th><th><?php echo ADM_PLAYER_2; ?></th><th></th></tr>
<tr> <tr>
<td class="icon"><img id="artifactImage" class="artefact_icon_1" src="../img/x.gif"></td> <td class="icon"><img id="artifactImage" class="artefact_icon_1" src="../img/x.gif"></td>
<td> <td>
@@ -95,7 +95,7 @@ $deletedArtifacts = $database->getDeletedArtifacts();
</td> </td>
<td><input type="number" name="artifactQuantity" value="1" min="1" max="999" style="width:50px"></td> <td><input type="number" name="artifactQuantity" value="1" min="1" max="999" style="width:50px"></td>
<td><input type="text" name="playerId" value="<?php echo Artifacts::NATARS_UID;?>" style="width:70px"></td> <td><input type="text" name="playerId" value="<?php echo Artifacts::NATARS_UID;?>" style="width:70px"></td>
<td><button onclick="this.disabled=true;this.form.submit();">Add</button></td> <td><button onclick="this.disabled=true;this.form.submit();"><?php echo ADM_ADD; ?></button></td>
</tr> </tr>
</table> </table>
</form> </form>
@@ -105,13 +105,13 @@ $deletedArtifacts = $database->getDeletedArtifacts();
<!-- Deleted Artifacts --> <!-- Deleted Artifacts -->
<div class="nat-card"> <div class="nat-card">
<h2>🗑️ Deleted Artifacts</h2> <h2><?php echo ADM_DELETED_ARTIFACTS; ?></h2>
<div class="body" style="padding:0"> <div class="body" style="padding:0">
<table class="nat-table"> <table class="nat-table">
<tr><th></th><th></th><th>Name</th><th>Bonus</th><th>Effect</th><th>Time</th><th>Old Owner</th><th>Old Village</th></tr> <tr><th></th><th></th><th><?php echo ADM_NAME; ?></th><th><?php echo ADM_BONUS; ?></th><th><?php echo ADM_EFFECT; ?></th><th><?php echo ADM_TIME; ?></th><th><?php echo ADM_OLD_OWNER; ?></th><th><?php echo ADM_OLD_VILLAGE; ?></th></tr>
<?php if(empty($deletedArtifacts)){ echo '<tr><td colspan="8" class="none">No artifacts</td></tr>'; } else { foreach($deletedArtifacts as $artifact){ $info=Artifacts::getArtifactInfo($artifact);?> <?php if(empty($deletedArtifacts)){ echo '<tr><td colspan="8" class="none">No artifacts</td></tr>'; } else { foreach($deletedArtifacts as $artifact){ $info=Artifacts::getArtifactInfo($artifact);?>
<tr> <tr>
<td><a href="?action=returnArtifact&artid=<?php echo $artifact['id'];?>&del=1"><img src="../../img/admin/acc.gif" title="Restore"></a></td> <td><a href="?action=returnArtifact&artid=<?php echo $artifact['id'];?>&del=1"><img src="../../img/admin/acc.gif" title="<?php echo ADM_RESTORE; ?>"></a></td>
<td class="icon"><img class="artefact_icon_<?php echo $artifact['type'];?>" src="../img/x.gif"></td> <td class="icon"><img class="artefact_icon_<?php echo $artifact['type'];?>" src="../img/x.gif"></td>
<td><?php echo $artifact['name'];?></td> <td><?php echo $artifact['name'];?></td>
<td><?php echo $info['bonus'];?></td> <td><?php echo $info['bonus'];?></td>
@@ -127,10 +127,10 @@ $deletedArtifacts = $database->getDeletedArtifacts();
<!-- Overview --> <!-- Overview -->
<div class="nat-card" style="margin-top:14px"> <div class="nat-card" style="margin-top:14px">
<h2>📊 Artifacts Overview</h2> <h2><?php echo ADM_ARTIFACTS_OVERVIEW; ?></h2>
<div class="body" style="padding:0"> <div class="body" style="padding:0">
<table class="nat-table"> <table class="nat-table">
<tr><th>Icon</th><th>Name</th><th>Effect</th><th>Player</th><th>Alliance</th></tr> <tr><th><?php echo ADM_ICON; ?></th><th><?php echo ADM_NAME; ?></th><th><?php echo ADM_EFFECT; ?></th><th><?php echo ADM_PLAYER_2; ?></th><th><?php echo ADMIN_ALLIANCE; ?></th></tr>
<?php <?php
$small=$database->getArtifactsBysize(1); $big=$database->getArtifactsBysize(2); $unique=$database->getArtifactsBysize(3); $small=$database->getArtifactsBysize(1); $big=$database->getArtifactsBysize(2); $unique=$database->getArtifactsBysize(3);
if(empty($small)&&empty($big)&&empty($unique)){ echo '<tr><td colspan="5" class="none">No artifacts found</td></tr>'; } if(empty($small)&&empty($big)&&empty($unique)){ echo '<tr><td colspan="5" class="none">No artifacts found</td></tr>'; }
+9 -9
View File
@@ -51,8 +51,8 @@ if($_SESSION['access'] < ADMIN) die("Access Denied");
<div class="notreg-wrap"> <div class="notreg-wrap">
<div class="notreg-head"> <div class="notreg-head">
<h2>✉️ Players Not Activated</h2> <h2><?php echo ADM_NOT_ACTIVATED_H; ?></h2>
<div class="notreg-search"><input type="text" id="notregSearch" placeholder="Caută username sau email..."></div> <div class="notreg-search"><input type="text" id="notregSearch" placeholder="<?php echo ADM_SEARCH_USER_EMAIL; ?>"></div>
</div> </div>
<div class="notreg-card"> <div class="notreg-card">
@@ -60,13 +60,13 @@ if($_SESSION['access'] < ADMIN) die("Access Denied");
<thead> <thead>
<tr> <tr>
<th width="30">#</th> <th width="30">#</th>
<th width="40">ID</th> <th width="40"><?php echo ADM_ID; ?></th>
<th>Username</th> <th><?php echo ADM_USERNAME; ?></th>
<th>Email</th> <th><?php echo ADM_EMAIL; ?></th>
<th width="70">Tribe</th> <th width="70"><?php echo ADM_TRIBE; ?></th>
<th>Activation Code</th> <th><?php echo ADM_ACTIVATION_CODE; ?></th>
<th width="60">Act2</th> <th width="60"><?php echo ADM_ACT2; ?></th>
<th width="110">Time</th> <th width="110"><?php echo ADM_TIME; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
+2 -2
View File
@@ -59,12 +59,12 @@ $accessColors = [
<div class="online-wrap"> <div class="online-wrap">
<div class="online-head"> <div class="online-head">
<h1>🟢 Online Users</h1> <h1><?php echo ADM_ONLINE_USERS_H; ?></h1>
<div class="count"><?php echo $count;?> now</div> <div class="count"><?php echo $count;?> now</div>
</div> </div>
<?php if(!$active){?> <?php if(!$active){?>
<div class="empty-box">No online users in last 5 minutes</div> <div class="empty-box"><?php echo ADM_NO_ONLINE_USERS; ?></div>
<?php } else {?> <?php } else {?>
<div class="online-grid"> <div class="online-grid">
<?php foreach($active as $u){ <?php foreach($active as $u){
+4 -4
View File
@@ -121,10 +121,10 @@ if($deletion){
<th colspan="4">Ban History (<?php echo $numbans; ?>)</th> <th colspan="4">Ban History (<?php echo $numbans; ?>)</th>
</tr> </tr>
<tr> <tr>
<td class="hab"><b>Start</b></td> <td class="hab"><b><?php echo ADM_START; ?></b></td>
<td class="hab"><b>End</b></td> <td class="hab"><b><?php echo ADM_END; ?></b></td>
<td class="hab"><b>Duration</b></td> <td class="hab"><b><?php echo ADM_DURATION; ?></b></td>
<td class="on"><b>Reason</b></td> <td class="on"><b><?php echo ADM_REASON; ?></b></td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
+14 -14
View File
@@ -34,7 +34,7 @@
Additional Information Additional Information
<?php if($_SESSION['access'] == ADMIN) { ?> <?php if($_SESSION['access'] == ADMIN) { ?>
<a href='admin.php?p=editAdditional&uid=<?php echo $id; ?>' class="edit-icon" title="Edit Player Additional Info"> <a href='admin.php?p=editAdditional&uid=<?php echo $id; ?>' class="edit-icon" title="<?php echo ADM_EDIT_PLAYER_ADDITIONAL_INFO; ?>">
<svg viewBox="0 0 24 24"><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"/></svg> <svg viewBox="0 0 24 24"><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"/></svg>
</a> </a>
<?php } ?> <?php } ?>
@@ -44,7 +44,7 @@
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>Access</td> <td><?php echo ADM_ACCESS; ?></td>
<td> <td>
<?php <?php
if($user['access'] == 0) echo '<span class="badge badge-banned">Banned</span>'; if($user['access'] == 0) echo '<span class="badge badge-banned">Banned</span>';
@@ -55,23 +55,23 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td>Vacation Mode</td> <td><?php echo ADM_VACATION_MODE; ?></td>
<td><?php echo $user['vac_mode'] ? '<span class="badge badge-on">Enabled</span>' : '<span class="badge badge-off">Disabled</span>'; ?></td> <td><?php echo $user['vac_mode'] ? '<span class="badge badge-on">Enabled</span>' : '<span class="badge badge-off">Disabled</span>'; ?></td>
</tr> </tr>
<tr> <tr>
<td>Gold</td> <td><?php echo ADMIN_GOLD; ?></td>
<td><span class="gold-val"><img src="../img/admin/gold.gif"> <?php echo $user['gold']; ?></span></td> <td><span class="gold-val"><img src="../img/admin/gold.gif"> <?php echo $user['gold']; ?></span></td>
</tr> </tr>
<tr> <tr>
<td>Sitter 1</td> <td><?php echo ADM_SITTER_1_2; ?></td>
<td><?php echo $user['sit1'] >= 1 ? '<a href="admin.php?p=player&uid='.$user['sit1'].'">'.htmlspecialchars($database->getUserField($user['sit1'],"username",0)).'</a>' : '<span style="color:#94a3b8">No Sitter</span>'; ?></td> <td><?php echo $user['sit1'] >= 1 ? '<a href="admin.php?p=player&uid='.$user['sit1'].'">'.htmlspecialchars($database->getUserField($user['sit1'],"username",0)).'</a>' : '<span style="color:#94a3b8">No Sitter</span>'; ?></td>
</tr> </tr>
<tr> <tr>
<td>Sitter 2</td> <td><?php echo ADM_SITTER_2_2; ?></td>
<td><?php echo $user['sit2'] >= 1 ? '<a href="admin.php?p=player&uid='.$user['sit2'].'">'.htmlspecialchars($database->getUserField($user['sit2'],"username",0)).'</a>' : '<span style="color:#94a3b8">No Sitter</span>'; ?></td> <td><?php echo $user['sit2'] >= 1 ? '<a href="admin.php?p=player&uid='.$user['sit2'].'">'.htmlspecialchars($database->getUserField($user['sit2'],"username",0)).'</a>' : '<span style="color:#94a3b8">No Sitter</span>'; ?></td>
</tr> </tr>
<tr> <tr>
<td>Beginners Protection</td> <td><?php echo ADM_BEGINNERS_PROTECTION; ?></td>
<td> <td>
<?php <?php
$datetime = $user['protect']; $now = time(); $datetime = $user['protect']; $now = time();
@@ -85,12 +85,12 @@
?> ?>
</td> </td>
</tr> </tr>
<tr><td>Culture Points</td><td><?php echo number_format($user['cp'],0,',','.');?></td></tr> <tr><td><?php echo ADM_CULTURE_POINTS_2; ?></td><td><?php echo number_format($user['cp'],0,',','.');?></td></tr>
<tr><td>Last Activity</td><td><?php echo date('d.m.Y H:i',$user['timestamp']+3600*2);?></td></tr> <tr><td><?php echo ADM_LAST_ACTIVITY; ?></td><td><?php echo date('d.m.Y H:i',$user['timestamp']+3600*2);?></td></tr>
<tr><td>Attack Points (This Week)</td><td><?php echo $user['ap'];?></td></tr> <tr><td><?php echo ADM_ATTACK_POINTS_THIS_WEEK; ?></td><td><?php echo $user['ap'];?></td></tr>
<tr><td>Defence Points (This Week)</td><td><?php echo $user['dp'];?></td></tr> <tr><td><?php echo ADM_DEFENCE_POINTS_THIS_WEEK; ?></td><td><?php echo $user['dp'];?></td></tr>
<tr><td>Resources Raided (This Week)</td><td><?php echo number_format($user['RR'],0,',','.');?></td></tr> <tr><td><?php echo ADM_RESOURCES_RAIDED_THIS_WEEK; ?></td><td><?php echo number_format($user['RR'],0,',','.');?></td></tr>
<tr><td>Total Attack Points</td><td><b><?php echo number_format($user['apall'],0,',','.');?></b></td></tr> <tr><td><?php echo ADM_TOTAL_ATTACK_POINTS; ?></td><td><b><?php echo number_format($user['apall'],0,',','.');?></b></td></tr>
<tr><td>Total Defence Points</td><td><b><?php echo number_format($user['dpall'],0,',','.');?></b></td></tr> <tr><td><?php echo ADM_TOTAL_DEFENCE_POINTS; ?></td><td><b><?php echo number_format($user['dpall'],0,',','.');?></b></td></tr>
</tbody> </tbody>
</table> </table>
+3 -7
View File
@@ -1,13 +1,9 @@
<div style="background:#fff8e6; border:1px solid #ffcc80; color:#333; padding:12px 16px; margin:12px 0; border-radius:10px; display:flex; justify-content:space-between; align-items:center; font-size:14px;"> <div style="background:#fff8e6; border:1px solid #ffcc80; color:#333; padding:12px 16px; margin:12px 0; border-radius:10px; display:flex; justify-content:space-between; align-items:center; font-size:14px;">
<div> <div>
<i class="fa fa-exclamation-triangle" style="color:#e67e22; margin-right:6px;"></i> <i class="fa fa-exclamation-triangle" style="color:#e67e22; margin-right:6px;"></i><?php echo ADM_THE_ACCOUNT_WILL_BE_DELETED_IN; ?><strong style="color:#e67e22;"><?php echo $delTime; ?></strong>
The account will be deleted in
<strong style="color:#e67e22;"><?php echo $delTime; ?></strong>
</div> </div>
<a href="?p=player&uid=<?php echo $user['id']; ?>&action=StopDel" <a href="?p=player&uid=<?php echo $user['id']; ?>&action=StopDel"
onclick="return confirm('Cancel deletion for <?php echo htmlspecialchars(addslashes($user['username'])); ?>?');" onclick="return confirm('Cancel deletion for <?php echo htmlspecialchars(addslashes($user['username'])); ?>?');"
title="Cancel deletion" title="<?php echo ADM_CANCEL_DELETION; ?>"
style="background:#e74c3c; color:#fff; text-decoration:none; padding:6px 10px; border-radius:6px; font-weight:bold;"> style="background:#e74c3c; color:#fff; text-decoration:none; padding:6px 10px; border-radius:6px; font-weight:bold;"><?php echo ADM_CANCEL_3; ?></a>
✖ Cancel
</a>
</div> </div>
+20 -21
View File
@@ -64,13 +64,12 @@ if ($hero !== false) {
<div class="hero-wrap"> <div class="hero-wrap">
<table class="hero-table"> <table class="hero-table">
<thead> <thead>
<tr><th colspan="3" class="hero-head">Player Heroes</th></tr> <tr><th colspan="3" class="hero-head"><?php echo ADM_PLAYER_HEROES; ?></th></tr>
</thead> </thead>
<?php if ($hero === false) {?> <?php if ($hero === false) {?>
<tr> <tr>
<td colspan="3" align="center" class="add-hero"> <td colspan="3" align="center" class="add-hero"><?php echo ADM_NONE_3; ?><span style="color:#2563eb;font-weight:600"><?php echo ADM_ADD_HERO; ?></span>
None &nbsp;&nbsp;<span style="color:#2563eb;font-weight:600">Add Hero</span>
<?php <?php
$utribe=($user['tribe']-1)*10; $utribe=($user['tribe']-1)*10;
// Sloturile 1-6 care au erou definit in hero_full.php (generic pentru toate triburile) // Sloturile 1-6 care au erou definit in hero_full.php (generic pentru toate triburile)
@@ -87,37 +86,37 @@ if ($hero !== false) {
foreach ($hero as $h) { ?> foreach ($hero as $h) { ?>
<tr><td colspan="3" class="hero-sub" style="text-align:center">Hero #<?php echo $x++; ?></td></tr> <tr><td colspan="3" class="hero-sub" style="text-align:center">Hero #<?php echo $x++; ?></td></tr>
<tr> <tr>
<td width="35%">Hero Name</td> <td width="35%"><?php echo ADM_HERO_NAME; ?></td>
<td colspan="2" class="hero-name"><?php echo htmlspecialchars($h['name']); ?></td> <td colspan="2" class="hero-name"><?php echo htmlspecialchars($h['name']); ?></td>
</tr> </tr>
<tr> <tr>
<td>Hero Level</td> <td><?php echo ADM_HERO_LEVEL; ?></td>
<td colspan="2"><?php echo $h['level']; ?></td> <td colspan="2"><?php echo $h['level']; ?></td>
</tr> </tr>
<tr> <tr>
<td>Hero Unit</td> <td><?php echo ADM_HERO_UNIT; ?></td>
<td colspan="2" class="hero-unit"><?php echo "<img class=\"unit u".$h['unit']."\" src=\"img/x.gif\" alt=\"".$technology->getUnitName($h['unit'])."\" title=\"".$technology->getUnitName($h['unit'])."\" /> ".$technology->getUnitName($h['unit']); ?></td> <td colspan="2" class="hero-unit"><?php echo "<img class=\"unit u".$h['unit']."\" src=\"img/x.gif\" alt=\"".$technology->getUnitName($h['unit'])."\" title=\"".$technology->getUnitName($h['unit'])."\" /> ".$technology->getUnitName($h['unit']); ?></td>
</tr> </tr>
<tr> <tr>
<td>Status</td> <td><?php echo ADM_STATUS; ?></td>
<td colspan="2" class="hero-actions"> <td colspan="2" class="hero-actions">
<?php if (!$h['dead']) { ?> <?php if (!$h['dead']) { ?>
<span class="badge badge-alive">Alive</span> <span class="badge badge-alive"><?php echo ADM_ALIVE; ?></span>
<a class="hero-icon edit" href='admin.php?p=editHero&uid=<?php echo $id; ?>&amp;hid=<?php echo $h['heroid'] ?>' title="Edit"> <a class="hero-icon edit" href='admin.php?p=editHero&uid=<?php echo $id; ?>&amp;hid=<?php echo $h['heroid'] ?>' title="<?php echo ADM_EDIT; ?>">
<svg viewBox="0 0 24 24"><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"/></svg> <svg viewBox="0 0 24 24"><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"/></svg>
</a> </a>
<?php if (defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4) { ?> <?php if (defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4) { ?>
<a class="hero-icon edit" href='admin.php?p=editHeroT4&uid=<?php echo $id; ?>' title="T4 items / silver / auctions"> <a class="hero-icon edit" href='admin.php?p=editHeroT4&uid=<?php echo $id; ?>' title="<?php echo ADM_T4_ITEMS_SILVER_AUCTIONS; ?>">
<svg viewBox="0 0 24 24"><path d="M6 2l1.5 4h9L18 2"/><path d="M4 6h16l-2 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L4 6z"/></svg> <svg viewBox="0 0 24 24"><path d="M6 2l1.5 4h9L18 2"/><path d="M4 6h16l-2 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L4 6z"/></svg>
</a> </a>
<?php } ?> <?php } ?>
<a class="hero-icon kill" href='?action=killHero&uid=<?php echo $id; ?>' title="Kill"> <a class="hero-icon kill" href='?action=killHero&uid=<?php echo $id; ?>' title="<?php echo ADM_KILL; ?>">
<svg viewBox="0 0 24 24"><path d="M3 6h18M8 6V4h8v2m-1 0v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10z"/></svg> <svg viewBox="0 0 24 24"><path d="M3 6h18M8 6V4h8v2m-1 0v14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10z"/></svg>
</a> </a>
<?php } else { ?> <?php } else { ?>
<span class="badge badge-dead">Dead</span> <span class="badge badge-dead"><?php echo ADM_DEAD; ?></span>
<?php if ($heroAliveIndex === -1) { ?> <?php if ($heroAliveIndex === -1) { ?>
<a class="hero-icon revive" href="?action=reviveHero&uid=<?php echo $id;?>&amp;hid=<?php echo $h['heroid'] ?>" title="Revive"> <a class="hero-icon revive" href="?action=reviveHero&uid=<?php echo $id;?>&amp;hid=<?php echo $h['heroid'] ?>" title="<?php echo ADM_REVIVE; ?>">
<svg viewBox="0 0 24 24"><path d="M21 12a9 9 0 1 1-3-6.7"/><path d="M21 3v6h-6"/></svg> <svg viewBox="0 0 24 24"><path d="M21 12a9 9 0 1 1-3-6.7"/><path d="M21 3v6h-6"/></svg>
</a> </a>
<?php } else { echo '<span style="color:#64748b;font-size:11px">(kill living hero first)</span>'; } ?> <?php } else { echo '<span style="color:#64748b;font-size:11px">(kill living hero first)</span>'; } ?>
@@ -126,12 +125,12 @@ if ($hero !== false) {
</tr> </tr>
<?php if (!$h['dead']) { ?> <?php if (!$h['dead']) { ?>
<tr><th>Details</th><th>Point</th><th>Level</th></tr> <tr><th><?php echo ADM_DETAILS; ?></th><th><?php echo ADM_POINT; ?></th><th><?php echo ADM_LEVEL_2; ?></th></tr>
<tr><td>Offence</td><td><?php echo $h['atk']; ?></td><td><?php echo $h['attack']; ?></td></tr> <tr><td><?php echo ADM_OFFENCE_2; ?></td><td><?php echo $h['atk']; ?></td><td><?php echo $h['attack']; ?></td></tr>
<tr><td>Defence</td><td><?php echo $h['di']."/".$h['dc']; ?></td><td><?php echo $h['defence']; ?></td></tr> <tr><td><?php echo ADM_DEFENCE_2; ?></td><td><?php echo $h['di']."/".$h['dc']; ?></td><td><?php echo $h['defence']; ?></td></tr>
<tr><td>Off-Bonus</td><td><?php echo ($h['ob']-1)*100; ?>%</td><td><?php echo $h['attackbonus']; ?></td></tr> <tr><td><?php echo ADM_OFF_BONUS_2; ?></td><td><?php echo ($h['ob']-1)*100; ?>%</td><td><?php echo $h['attackbonus']; ?></td></tr>
<tr><td>Def-Bonus</td><td><?php echo ($h['db']-1)*100; ?>%</td><td><?php echo $h['defencebonus']; ?></td></tr> <tr><td><?php echo ADM_DEF_BONUS_2; ?></td><td><?php echo ($h['db']-1)*100; ?>%</td><td><?php echo $h['defencebonus']; ?></td></tr>
<tr><td>Regeneration</td><td><?php echo min(100,$h['regeneration'])*5*SPEED; ?>/Day</td><td><?php echo $h['regeneration']; ?></td></tr> <tr><td><?php echo ADM_REGENERATION; ?></td><td><?php echo min(100,$h['regeneration'])*5*SPEED; ?>/Day</td><td><?php echo $h['regeneration']; ?></td></tr>
<?php if (defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4) { <?php if (defined('NEW_FUNCTIONS_HERO_T4') && NEW_FUNCTIONS_HERO_T4) {
$hResPoints = (int) ($h['resources'] ?? 0); $hResPoints = (int) ($h['resources'] ?? 0);
$hResType = (int) ($h['res_type'] ?? 0); $hResType = (int) ($h['res_type'] ?? 0);
@@ -142,7 +141,7 @@ if ($hero !== false) {
? (int) round($hResPoints * $hPerOne * SPEED) ? (int) round($hResPoints * $hPerOne * SPEED)
: (int) round($hResPoints * $hPerAll * SPEED); : (int) round($hResPoints * $hPerAll * SPEED);
?> ?>
<tr><td>Resources</td><td><?php echo $hResAmount; ?>/h (<?php echo $hResNames[$hResType] ?? 'all'; ?>)</td><td><?php echo $hResPoints; ?></td></tr> <tr><td><?php echo ADM_RESOURCES_2; ?></td><td><?php echo $hResAmount; ?>/h (<?php echo $hResNames[$hResType] ?? 'all'; ?>)</td><td><?php echo $hResPoints; ?></td></tr>
<?php } ?> <?php } ?>
<tr> <tr>
<?php <?php
@@ -173,7 +172,7 @@ if ($hero !== false) {
<td>Experience: <?php echo $expPct; ?>%</td> <td>Experience: <?php echo $expPct; ?>%</td>
<td colspan="2"><?php echo $h['points']; ?><div class="hero-bar"><div class="hero-bar-fill" style="width:<?php echo $expPct; ?>%"></div></div></td> <td colspan="2"><?php echo $h['points']; ?><div class="hero-bar"><div class="hero-bar-fill" style="width:<?php echo $expPct; ?>%"></div></div></td>
</tr> </tr>
<tr><td>Health</td><td colspan="2"><?php echo round($h['health']); ?>%<div class="hero-bar"><div class="hero-bar-fill" style="width:<?php echo round($h['health']); ?>%"></div></div></td></tr> <tr><td><?php echo ADM_HEALTH_2; ?></td><td colspan="2"><?php echo round($h['health']); ?>%<div class="hero-bar"><div class="hero-bar-fill" style="width:<?php echo round($h['health']); ?>%"></div></div></td></tr>
<tr><td colspan="3" style="height:8px;background:#f8fafc"></td></tr> <tr><td colspan="3" style="height:8px;background:#f8fafc"></td></tr>
<?php } else { ?> <?php } else { ?>
<tr><td colspan="3" style="height:8px;background:#f8fafc"></td></tr> <tr><td colspan="3" style="height:8px;background:#f8fafc"></td></tr>
+28 -28
View File
@@ -48,11 +48,11 @@
<thead> <thead>
<tr> <tr>
<th colspan="2">Player <a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></th> <th colspan="2"><?php echo ADM_PLAYER_2; ?><a href="admin.php?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a></th>
</tr> </tr>
<tr> <tr>
<td>Details</td> <td><?php echo ADM_DETAILS; ?></td>
<td>Description</td> <td><?php echo ADM_DESCRIPTION; ?></td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -63,11 +63,11 @@
<td class="details"> <td class="details">
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<th>Rank</th> <th><?php echo ADM_RANK; ?></th>
<td><?php $ranking->procRankArray();echo $ranking->getUserRank($user['id']);?></td> <td><?php $ranking->procRankArray();echo $ranking->getUserRank($user['id']);?></td>
</tr> </tr>
<tr> <tr>
<th>Tribe</th> <th><?php echo ADM_TRIBE; ?></th>
<td> <td>
<?php <?php
if($user['tribe'] == 1) { echo '<span class="badge-tribe">Roman</span>'; } if($user['tribe'] == 1) { echo '<span class="badge-tribe">Roman</span>'; }
@@ -83,7 +83,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th>Alliance</th> <th><?php echo ADMIN_ALLIANCE; ?></th>
<td> <td>
<?php <?php
if($user['alliance'] == 0) { echo "-"; } if($user['alliance'] == 0) { echo "-"; }
@@ -92,13 +92,13 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th>Villages</th> <th><?php echo ADM_VILLAGES; ?></th>
<td><?php echo count($varray);?></td> <td><?php echo count($varray);?></td>
</tr> </tr>
<tr> <tr>
<th>Population</th> <th><?php echo ADM_POPULATION; ?></th>
<td><?php echo number_format($totalpop,0,',','.'); ?> <td><?php echo number_format($totalpop,0,',','.'); ?>
<a href="?action=recountPopUsr&uid=<?php echo $user['id'];?>" title="Recount population" style="margin-left:6px;vertical-align:middle;display:inline-flex"> <a href="?action=recountPopUsr&uid=<?php echo $user['id'];?>" title="<?php echo ADM_RECOUNT_POPULATION; ?>" style="margin-left:6px;vertical-align:middle;display:inline-flex">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#64748b" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21 12a9 9 0 1 1-3-6.7"/> <path d="M21 12a9 9 0 1 1-3-6.7"/>
<path d="M21 3v6h-6"/> <path d="M21 3v6h-6"/>
@@ -107,7 +107,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th>Age</th> <th><?php echo ADM_AGE; ?></th>
<td> <td>
<?php <?php
if(isset($user['birthday']) && $user['birthday']!= 0) { if(isset($user['birthday']) && $user['birthday']!= 0) {
@@ -120,7 +120,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th>Gender</th> <th><?php echo ADM_GENDER; ?></th>
<td> <td>
<?php <?php
if(isset($user['gender']) && $user['gender']!= 0) { if(isset($user['gender']) && $user['gender']!= 0) {
@@ -134,21 +134,21 @@
</tr> </tr>
<tr> <tr>
<th>Username</th> <th><?php echo ADM_USERNAME; ?></th>
<td><?php echo htmlspecialchars($user['username']?? '');?></td> <td><?php echo htmlspecialchars($user['username']?? '');?></td>
</tr> </tr>
<tr> <tr>
<th>Location</th> <th><?php echo ADM_LOCATION_2; ?></th>
<td><?php echo htmlspecialchars($user['location']?? '');?></td> <td><?php echo htmlspecialchars($user['location']?? '');?></td>
</tr> </tr>
<tr> <tr>
<th>Password</th> <th><?php echo ADM_PASSWORD; ?></th>
<td>•••••••</td> <td>•••••••</td>
</tr> </tr>
<tr> <tr>
<th>Last IP</th> <th><?php echo ADM_LAST_IP; ?></th>
<td> <td>
<?php <?php
$uid = (int)$user['id']; $uid = (int)$user['id'];
@@ -164,7 +164,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th>Language</th> <th><?php echo ADM_LANGUAGE; ?></th>
<td> <td>
<?php <?php
// map language // map language
@@ -184,12 +184,12 @@
<tr> <tr>
<?php include("playerplusbonus.tpl");?> <?php include("playerplusbonus.tpl");?>
</tr> </tr>
<th>Email</th> <th><?php echo ADM_EMAIL; ?></th>
<td><?php echo htmlspecialchars($user['email']?? '');?></td> <td><?php echo htmlspecialchars($user['email']?? '');?></td>
</tr> </tr>
<tr> <tr>
<th>Quest</th> <th><?php echo ADM_QUEST_2; ?></th>
<td> <td>
<?php <?php
$quest = $user['quest']; $quest = $user['quest'];
@@ -243,18 +243,18 @@
} }
?> ?>
<tr><td colspan="2"><a href="?p=ban&uid=<?php echo $user['id'];?>">&raquo; Ban User</a></td></tr> <tr><td colspan="2"><a href="?p=ban&uid=<?php echo $user['id'];?>"><?php echo ADM_BAN_USER_2; ?></a></td></tr>
<tr><td colspan="2"><a href="?p=Newmessage&uid=<?php echo $user['id'];?>">&raquo; Send Message</a></td></tr> <tr><td colspan="2"><a href="?p=Newmessage&uid=<?php echo $user['id'];?>"><?php echo ADM_SEND_MESSAGE_2; ?></a></td></tr>
<?php if($_SESSION['access'] == ADMIN) { ?> <?php if($_SESSION['access'] == ADMIN) { ?>
<tr><td colspan="2"><a href="?p=editPlus&uid=<?php echo $user['id'];?>">&raquo; Edit Plus & Res Bonus</a></td></tr> <tr><td colspan="2"><a href="?p=editPlus&uid=<?php echo $user['id'];?>"><?php echo ADM_EDIT_PLUS_RES_BONUS; ?></a></td></tr>
<tr><td colspan="2"><a href="?p=editSitter&uid=<?php echo $user['id'];?>">&raquo; Edit Sitters</a></td></tr> <tr><td colspan="2"><a href="?p=editSitter&uid=<?php echo $user['id'];?>"><?php echo ADM_EDIT_SITTERS_2; ?></a></td></tr>
<tr><td colspan="2"><a href="?p=editProtection&uid=<?php echo $user['id'];?>">&raquo; Edit Protection</a></td></tr> <tr><td colspan="2"><a href="?p=editProtection&uid=<?php echo $user['id'];?>"><?php echo ADM_EDIT_PROTECTION; ?></a></td></tr>
<tr><td colspan="2"><a href="?p=editPassword&uid=<?php echo $user['id'];?>">&raquo; Edit Password</a></td></tr> <tr><td colspan="2"><a href="?p=editPassword&uid=<?php echo $user['id'];?>"><?php echo ADM_EDIT_PASSWORD; ?></a></td></tr>
<tr><td colspan="2"><a href="?p=editOverall&uid=<?php echo $user['id'];?>">&raquo; Edit Overall Off & Def</a></td></tr> <tr><td colspan="2"><a href="?p=editOverall&uid=<?php echo $user['id'];?>"><?php echo ADM_EDIT_OVERALL_OFF_DEF; ?></a></td></tr>
<tr><td colspan="2"><a href="?p=editWeek&uid=<?php echo $user['id'];?>">&raquo; Edit Weekly Off, Def, Raid</a></td></tr> <tr><td colspan="2"><a href="?p=editWeek&uid=<?php echo $user['id'];?>"><?php echo ADM_EDIT_WEEKLY_OFF_DEF_RAID; ?></a></td></tr>
<?php } ?> <?php } ?>
<tr><td colspan="2"><a href="?p=userlogin&uid=<?php echo $user['id'];?>">&raquo; User Login Log</a></td></tr> <tr><td colspan="2"><a href="?p=userlogin&uid=<?php echo $user['id'];?>"><?php echo ADM_USER_LOGIN_LOG; ?></a></td></tr>
<tr><td colspan="2"><a href="?p=userillegallog&uid=<?php echo $user['id'];?>">&raquo; User Illegal Log</a></td></tr> <tr><td colspan="2"><a href="?p=userillegallog&uid=<?php echo $user['id'];?>"><?php echo ADM_USER_ILLEGAL_LOG; ?></a></td></tr>
<tr> <tr>
<td colspan="2" class="desc2"> <td colspan="2" class="desc2">
<div class="desc2div"> <div class="desc2div">
+6 -6
View File
@@ -18,16 +18,16 @@
<div class="medals-head">Player Medals (<?php echo sizeof($varmedal); ?>)</div> <div class="medals-head">Player Medals (<?php echo sizeof($varmedal); ?>)</div>
<table class="medals-table"> <table class="medals-table">
<tr class="head"> <tr class="head">
<td>CATEGORY</td> <td><?php echo ADM_CATEGORY_2; ?></td>
<td>RANK</td> <td><?php echo ADM_RANK_2; ?></td>
<td>WEEK</td> <td><?php echo ADM_WEEK_2; ?></td>
<td>POINTS</td> <td><?php echo ADM_POINTS_4; ?></td>
<td>MEDAL</td> <td><?php echo ADM_MEDAL_2; ?></td>
<td style="width:30px"></td> <td style="width:30px"></td>
</tr> </tr>
<?php <?php
if(empty($varmedal)){ ?> if(empty($varmedal)){ ?>
<tr><td colspan="6" class="no-medals">This player has no medals yet</td></tr> <tr><td colspan="6" class="no-medals"><?php echo ADM_THIS_PLAYER_HAS_NO_MEDALS_YET; ?></td></tr>
<?php } else { <?php } else {
foreach($varmedal as $medal){ foreach($varmedal as $medal){
$title = "Bonus"; $title = "Bonus";
+4 -4
View File
@@ -42,18 +42,18 @@ function fmt_bonus($ts){
<td><?php echo fmt_bonus($user['plus']); ?></td> <td><?php echo fmt_bonus($user['plus']); ?></td>
</tr> </tr>
<tr> <tr>
<th><img src="../img/admin/r/1.gif"> Bonus</th> <th><img src="../img/admin/r/1.gif"><?php echo ADM_BONUS; ?></th>
<td><?php echo fmt_bonus($user['b1']); ?></td> <td><?php echo fmt_bonus($user['b1']); ?></td>
</tr> </tr>
<tr> <tr>
<th><img src="../img/admin/r/2.gif"> Bonus</th> <th><img src="../img/admin/r/2.gif"><?php echo ADM_BONUS; ?></th>
<td><?php echo fmt_bonus($user['b2']); ?></td> <td><?php echo fmt_bonus($user['b2']); ?></td>
</tr> </tr>
<tr> <tr>
<th><img src="../img/admin/r/3.gif"> Bonus</th> <th><img src="../img/admin/r/3.gif"><?php echo ADM_BONUS; ?></th>
<td><?php echo fmt_bonus($user['b3']); ?></td> <td><?php echo fmt_bonus($user['b3']); ?></td>
</tr> </tr>
<tr> <tr>
<th><img src="../img/admin/r/4.gif"> Bonus</th> <th><img src="../img/admin/r/4.gif"><?php echo ADM_BONUS; ?></th>
<td><?php echo fmt_bonus($user['b4']); ?></td> <td><?php echo fmt_bonus($user['b4']); ?></td>
</tr> </tr>
+6 -6
View File
@@ -53,7 +53,7 @@ $active = $admin->getUserActive();
</style> </style>
<table class="punish-box"> <table class="punish-box">
<thead><tr><th>Punish Player</th></tr></thead> <thead><tr><th><?php echo ADM_PUNISH_PLAYER; ?></th></tr></thead>
<tbody> <tbody>
<tr><td> <tr><td>
<form method="post" action="admin.php" style="margin:0"> <form method="post" action="admin.php" style="margin:0">
@@ -74,7 +74,7 @@ $active = $admin->getUserActive();
<option value="90">90%</option> <option value="90">90%</option>
<option value="100">100%</option> <option value="100">100%</option>
</select> </select>
<button type="submit" class="btn-ok">OK</button> <button type="submit" class="btn-ok"><?php echo ADM_OK; ?></button>
</div> </div>
</form> </form>
</td></tr> </td></tr>
@@ -86,8 +86,8 @@ $active = $admin->getUserActive();
<input type="hidden" name="uid" value="<?php echo $user['id'];?>"> <input type="hidden" name="uid" value="<?php echo $user['id'];?>">
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<div class="punish-row"> <div class="punish-row">
<label><input type="checkbox" name="del_troop" value="1"> <span style="text-decoration:line-through;color:#94a3b8">Delete Troops</span></label> <label><input type="checkbox" name="del_troop" value="1"> <span style="text-decoration:line-through;color:#94a3b8"><?php echo ADM_DELETE_TROOPS; ?></span></label>
<button type="submit" class="btn-ok">OK</button> <button type="submit" class="btn-ok"><?php echo ADM_OK; ?></button>
</div> </div>
</form> </form>
</td></tr> </td></tr>
@@ -99,8 +99,8 @@ $active = $admin->getUserActive();
<input type="hidden" name="uid" value="<?php echo $user['id'];?>"> <input type="hidden" name="uid" value="<?php echo $user['id'];?>">
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<div class="punish-row"> <div class="punish-row">
<label><input type="checkbox" name="clean_ware" value="1"> Empty Warehouses</label> <label><input type="checkbox" name="clean_ware" value="1"><?php echo ADM_EMPTY_WAREHOUSES; ?></label>
<button type="submit" class="btn-ok">OK</button> <button type="submit" class="btn-ok"><?php echo ADM_OK; ?></button>
</div> </div>
</form> </form>
</td></tr> </td></tr>
+20 -31
View File
@@ -60,35 +60,28 @@ function pp_num($n) { return number_format((int)$n); }
</style> </style>
<div class="pp-wrap"> <div class="pp-wrap">
<h2>Push Protection <span>Dashboard</span></h2> <h2><?php echo ADMIN_PUSH_PROTECTION; ?><span><?php echo ADM_DASHBOARD; ?></span></h2>
<p class="pp-intro"> <p class="pp-intro"><?php echo ADM_PER_PLAYER; ?><b><?php echo ADM_7_DAY_RESOURCE_BALANCE; ?></b><?php echo ADM_RECEIVED_FROM_OTHER_PLAYERS_VERSUS_AN_AUTOMA; ?><span class="num"><?php echo (int)$data['hours_allowed']; ?>h</span><?php echo ADM_OF_PRODUCTION_PER_WINDOW_WW_VILLAGES_AND_ART; ?></p>
Per-player <b>7-day resource balance</b> (received from other players) versus an
automatic limit derived from the player's hourly production
(<span class="num"><?php echo (int)$data['hours_allowed']; ?>h</span> of production per window).
WW villages and artefact villages are flagged as supply exceptions. Set a manual
override to exempt a player (WW / trusted) or give a custom cap. Nothing is blocked
automatically &mdash; this is visibility &amp; control for a human moderator.
</p>
<form method="get" action="admin.php" class="pp-filter"> <form method="get" action="admin.php" class="pp-filter">
<input type="hidden" name="p" value="pushprot"> <input type="hidden" name="p" value="pushprot">
<div> <div>
<label>Window (days)</label> <label><?php echo ADM_WINDOW_DAYS; ?></label>
<input type="number" name="days" min="1" max="30" value="<?php echo (int)$days; ?>"> <input type="number" name="days" min="1" max="30" value="<?php echo (int)$days; ?>">
</div> </div>
<div> <div>
<label>Hours of prod. allowed</label> <label><?php echo ADM_HOURS_OF_PROD_ALLOWED; ?></label>
<input type="number" name="hours" min="1" max="168" value="<?php echo (int)$hours; ?>"> <input type="number" name="hours" min="1" max="168" value="<?php echo (int)$hours; ?>">
</div> </div>
<div> <div>
<label>Show</label> <label><?php echo ADM_SHOW_2; ?></label>
<select name="only"> <select name="only">
<option value="all" <?php echo $only==='all'?'selected':''; ?>>All with activity</option> <option value="all" <?php echo $only==='all'?'selected':''; ?>><?php echo ADM_ALL_WITH_ACTIVITY; ?></option>
<option value="over" <?php echo $only==='over'?'selected':''; ?>>Over limit only</option> <option value="over" <?php echo $only==='over'?'selected':''; ?>><?php echo ADM_OVER_LIMIT_ONLY; ?></option>
<option value="flagged" <?php echo $only==='flagged'?'selected':''; ?>>WW / artefact / overridden</option> <option value="flagged" <?php echo $only==='flagged'?'selected':''; ?>><?php echo ADM_WW_ARTEFACT_OVERRIDDEN; ?></option>
</select> </select>
</div> </div>
<button type="submit">Refresh</button> <button type="submit"><?php echo ADM_REFRESH_2; ?></button>
</form> </form>
<div class="pp-meta"> <div class="pp-meta">
@@ -98,22 +91,18 @@ function pp_num($n) { return number_format((int)$n); }
</div> </div>
<?php if (empty($rows)): ?> <?php if (empty($rows)): ?>
<div class="pp-table"><div class="pp-empty"> <div class="pp-table"><div class="pp-empty"><?php echo ADM_NO_INTER_PLAYER_TRANSFERS_RECORDED_IN_THIS_W; ?><br><?php echo ADM_THE_7_DAY_BALANCE_FILLS_IN_AS_MERCHANT_DELIV; ?></div></div>
No inter-player transfers recorded in this window yet.<br>
The 7-day balance fills in as merchant deliveries between different players
are processed after this feature is deployed.
</div></div>
<?php else: ?> <?php else: ?>
<table class="pp-table"> <table class="pp-table">
<thead> <thead>
<tr> <tr>
<th>Player</th> <th><?php echo ADM_PLAYER_2; ?></th>
<th>Villages / Pop</th> <th><?php echo ADM_VILLAGES_POP; ?></th>
<th>Prod/h</th> <th><?php echo ADM_PROD_H; ?></th>
<th>Received (7d)</th> <th><?php echo ADM_RECEIVED_7D; ?></th>
<th>Limit</th> <th><?php echo ADM_LIMIT; ?></th>
<th>Usage</th> <th><?php echo ADM_USAGE; ?></th>
<th style="width:26%;">Override</th> <th style="width:26%;"><?php echo ADM_OVERRIDE; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -153,13 +142,13 @@ function pp_num($n) { return number_format((int)$n); }
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="uid" value="<?php echo (int)$r['uid']; ?>"> <input type="hidden" name="uid" value="<?php echo (int)$r['uid']; ?>">
<select name="mode"> <select name="mode">
<option value="0" <?php echo $r['ov_mode']==0?'selected':''; ?>>Auto</option> <option value="0" <?php echo $r['ov_mode']==0?'selected':''; ?>><?php echo ADM_AUTO; ?></option>
<option value="1" <?php echo $r['ov_mode']==1?'selected':''; ?>>Exempt<?php echo $r['is_ww']?' (WW)':''; ?></option> <option value="1" <?php echo $r['ov_mode']==1?'selected':''; ?>>Exempt<?php echo $r['is_ww']?' (WW)':''; ?></option>
<option value="3" <?php echo $r['ov_mode']==3?'selected':''; ?>>Custom cap</option> <option value="3" <?php echo $r['ov_mode']==3?'selected':''; ?>><?php echo ADM_CUSTOM_CAP; ?></option>
</select> </select>
<input class="lim num" type="number" min="0" name="custom_limit" placeholder="cap" value="<?php echo $r['ov_mode']==3 && $r['eff_limit']>0 ? (int)$r['eff_limit'] : ''; ?>"> <input class="lim num" type="number" min="0" name="custom_limit" placeholder="cap" value="<?php echo $r['ov_mode']==3 && $r['eff_limit']>0 ? (int)$r['eff_limit'] : ''; ?>">
<input class="note" type="text" name="note" maxlength="255" placeholder="note" value="<?php echo e($r['ov_note']); ?>"> <input class="note" type="text" name="note" maxlength="255" placeholder="note" value="<?php echo e($r['ov_note']); ?>">
<button type="submit">Save</button> <button type="submit"><?php echo ADM_SAVE_3; ?></button>
</form> </form>
</td> </td>
</tr> </tr>
+14 -26
View File
@@ -55,29 +55,17 @@ $msg = isset($_GET['msg']) ? (string)$_GET['msg'] : '';
</style> </style>
<div class="qe-wrap"> <div class="qe-wrap">
<h2>Quest <span>Editor</span></h2> <h2><?php echo ADM_QUEST_2; ?><span><?php echo ADM_EDITOR; ?></span></h2>
<p class="qe-intro"> <p class="qe-intro"><?php echo ADM_EDIT_THE_REWARD_EACH_QUEST_GRANTS_WOOD_CLAY; ?><code><?php echo ADM_QTYP_37; ?></code><?php echo ADM_GET; ?><b><?php echo ADM_EXTENDED; ?></b><?php echo ADM_EVERYONE_ELSE; ?><b><?php echo ADM_STANDARD; ?></b>).
Edit the reward each quest grants (wood / clay / iron / crop / gold / Plus days) and
the requirement level (e.g. main-building level for building quests). Values are
seeded from the shipped defaults, so nothing changes until you edit. The two quest
variants have different quests and rewards &mdash; pick the one your server uses
(players on <code>qtyp&nbsp;37</code> get <b>extended</b>, everyone else <b>standard</b>).
</p> </p>
<?php if ($msg !== ''): ?><div class="qe-msg"><?php echo e($msg); ?></div><?php endif; ?> <?php if ($msg !== ''): ?><div class="qe-msg"><?php echo e($msg); ?></div><?php endif; ?>
<div class="qe-warn"> <div class="qe-warn"><?php echo ADM_REWARD_VALUES_ARE_LIVE_VIA; ?><code>QuestConfig::grantReward()</code><?php echo ADM_IN_THE_QUEST_TEMPLATES_QUESTS_MARKED; ?><b><?php echo ADM_FIXED; ?></b><?php echo ADM_KEEP_THEIR_ORIGINAL_HARDCODED_LOGIC_CONDITIO; ?></div>
Reward values are live via <code>QuestConfig::grantReward()</code> in the quest
templates. Quests marked <b>fixed</b> keep their original hardcoded logic
(conditional rewards, atomic milestone claims, special mechanics) and are not
affected by edits here. The reward numbers shown inside each quest's on-screen
text are separate template strings &mdash; edits here change what is actually
granted; update the quest language strings if you want the preview to match.
</div>
<div class="qe-tabs"> <div class="qe-tabs">
<a href="admin.php?p=questEditor&variant=standard" class="<?php echo $variant===QuestConfig::V_STANDARD?'active':''; ?>">Standard (quest_core25)</a> <a href="admin.php?p=questEditor&variant=standard" class="<?php echo $variant===QuestConfig::V_STANDARD?'active':''; ?>"><?php echo ADM_STANDARD_QUEST_CORE25; ?></a>
<a href="admin.php?p=questEditor&variant=extended" class="<?php echo $variant===QuestConfig::V_EXTENDED?'active':''; ?>">Extended (quest_core)</a> <a href="admin.php?p=questEditor&variant=extended" class="<?php echo $variant===QuestConfig::V_EXTENDED?'active':''; ?>"><?php echo ADM_EXTENDED_QUEST_CORE; ?></a>
</div> </div>
<form method="post" action="../GameEngine/Admin/Mods/questSave.php"> <form method="post" action="../GameEngine/Admin/Mods/questSave.php">
@@ -89,17 +77,17 @@ $msg = isset($_GET['msg']) ? (string)$_GET['msg'] : '';
<table class="qe-table"> <table class="qe-table">
<thead> <thead>
<tr> <tr>
<th style="width:44px;">Quest</th> <th style="width:44px;"><?php echo ADM_QUEST_2; ?></th>
<th style="width:44px;">On</th> <th style="width:44px;"><?php echo ADM_ON; ?></th>
<th>Wood</th><th>Clay</th><th>Iron</th><th>Crop</th> <th><?php echo ADM_WOOD; ?></th><th><?php echo ADM_CLAY; ?></th><th><?php echo ADM_IRON; ?></th><th><?php echo ADM_CROP; ?></th>
<th>Gold</th><th>Plus (days)</th><th>Req.&nbsp;level</th> <th><?php echo ADMIN_GOLD; ?></th><th><?php echo ADM_PLUS_DAYS; ?></th><th><?php echo ADM_REQ_LEVEL; ?></th>
<th>Quest (hover)</th> <th><?php echo ADM_QUEST_HOVER; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php foreach ($rows as $qid => $r): $isNative = in_array((int)$qid, $native, true); $dis = $isNative ? 'disabled' : ''; ?> <?php foreach ($rows as $qid => $r): $isNative = in_array((int)$qid, $native, true); $dis = $isNative ? 'disabled' : ''; ?>
<tr<?php echo $isNative ? ' style="opacity:.55;"' : ''; ?>> <tr<?php echo $isNative ? ' style="opacity:.55;"' : ''; ?>>
<td class="qe-qid"><?php echo (int)$qid; ?><?php if ($isNative): ?><br><span style="font-size:9px;color:#f59e0b;font-family:Verdana;font-weight:normal;">fixed</span><?php endif; ?></td> <td class="qe-qid"><?php echo (int)$qid; ?><?php if ($isNative): ?><br><span style="font-size:9px;color:#f59e0b;font-family:Verdana;font-weight:normal;"><?php echo ADM_FIXED; ?></span><?php endif; ?></td>
<td><input type="checkbox" name="q[<?php echo (int)$qid; ?>][enabled]" value="1" <?php echo ((int)$r['enabled']===1)?'checked':''; ?> <?php echo $dis; ?>></td> <td><input type="checkbox" name="q[<?php echo (int)$qid; ?>][enabled]" value="1" <?php echo ((int)$r['enabled']===1)?'checked':''; ?> <?php echo $dis; ?>></td>
<td><input type="number" name="q[<?php echo (int)$qid; ?>][wood]" value="<?php echo (int)$r['wood']; ?>" <?php echo $dis; ?>></td> <td><input type="number" name="q[<?php echo (int)$qid; ?>][wood]" value="<?php echo (int)$r['wood']; ?>" <?php echo $dis; ?>></td>
<td><input type="number" name="q[<?php echo (int)$qid; ?>][clay]" value="<?php echo (int)$r['clay']; ?>" <?php echo $dis; ?>></td> <td><input type="number" name="q[<?php echo (int)$qid; ?>][clay]" value="<?php echo (int)$r['clay']; ?>" <?php echo $dis; ?>></td>
@@ -120,8 +108,8 @@ $msg = isset($_GET['msg']) ? (string)$_GET['msg'] : '';
</div> </div>
<div class="qe-bar"> <div class="qe-bar">
<button type="submit" class="qe-save">Save all changes</button> <button type="submit" class="qe-save"><?php echo ADM_SAVE_ALL_CHANGES; ?></button>
<span class="qe-note">Saves every row for the <b><?php echo e($variant); ?></b> variant.</span> <span class="qe-note"><?php echo ADM_SAVES_EVERY_ROW_FOR_THE; ?><b><?php echo e($variant); ?></b><?php echo ADM_VARIANT; ?></span>
</div> </div>
</form> </form>
@@ -129,6 +117,6 @@ $msg = isset($_GET['msg']) ? (string)$_GET['msg'] : '';
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="do" value="reset"> <input type="hidden" name="do" value="reset">
<input type="hidden" name="variant" value="<?php echo e($variant); ?>"> <input type="hidden" name="variant" value="<?php echo e($variant); ?>">
<button type="submit" class="qe-reset">Reset this variant to defaults</button> <button type="submit" class="qe-reset"><?php echo ADM_RESET_THIS_VARIANT_TO_DEFAULTS; ?></button>
</form> </form>
</div> </div>
+4 -4
View File
@@ -54,9 +54,9 @@ if($bid > 0){
#content.reports td { font-weight:600 !important; } #content.reports td { font-weight:600 !important; }
</style> </style>
<div style="max-width:900px;margin:20px auto"> <div style="max-width:900px;margin:20px auto">
<a href="?p=report" style="font-size:12px"> Back to reports</a> <a href="?p=report" style="font-size:12px"><?php echo ADM_BACK_TO_REPORTS; ?></a>
<div id="content" class="reports" style="margin-top:10px"> <div id="content" class="reports" style="margin-top:10px">
<h1>Report</h1> <h1><?php echo ADM_REPORT; ?></h1>
<?php include("../Templates/Notice/".$message->getReportType($rep['ntype']).".tpl");?> <?php include("../Templates/Notice/".$message->getReportType($rep['ntype']).".tpl");?>
</div> </div>
</div> </div>
@@ -116,7 +116,7 @@ $typeNames = [1=>'reinforcement',2=>'attack',3=>'defence',4=>'scout',5=>'trade',
<form class="search-box" method="get"> <form class="search-box" method="get">
<input type="hidden" name="p" value="report"> <input type="hidden" name="p" value="report">
<input type="hidden" name="f" value="<?php echo htmlspecialchars($filter);?>"> <input type="hidden" name="f" value="<?php echo htmlspecialchars($filter);?>">
<input type="text" name="q" placeholder="Search..." value="<?php echo htmlspecialchars($search);?>"> <input type="text" name="q" placeholder="<?php echo ADM_SEARCH_PH; ?>" value="<?php echo htmlspecialchars($search);?>">
</form> </form>
</div> </div>
@@ -137,7 +137,7 @@ $typeNames = [1=>'reinforcement',2=>'attack',3=>'defence',4=>'scout',5=>'trade',
<div class="rep-body"><?php echo htmlspecialchars($preview);?>...</div> <div class="rep-body"><?php echo htmlspecialchars($preview);?>...</div>
<div class="rep-foot"> <div class="rep-foot">
<span class="badge <?php echo $type;?>"><?php echo $type;?></span> <span class="badge <?php echo $type;?>"><?php echo $type;?></span>
<span style="color:#666">view </span> <span style="color:#666"><?php echo ADM_VIEW_ARROW; ?></span>
</div> </div>
</div> </div>
</a> </a>
+6 -8
View File
@@ -49,15 +49,13 @@
<div class="reset-wrap"> <div class="reset-wrap">
<div class="reset-card"> <div class="reset-card">
<div class="reset-head"> <div class="reset-head">
<h2>⚠️ Server Resetting</h2> <h2><?php echo ADM_SERVER_RESETTING; ?></h2>
</div> </div>
<div class="reset-body" id="txtreset"> <div class="reset-body" id="txtreset">
<div class="reset-warning"> <div class="reset-warning">
<strong>WARNING! Irreversible action</strong> <strong><?php echo ADM_WARNING_IRREVERSIBLE_ACTION; ?></strong><?php echo ADM_THIS_OPERATION_WILL_DELETE_ALL_DATA_PLAYERS; ?></div>
This operation will delete ALL data: players, watches, allies, reports. The server will be reset for a new game. <p><?php echo ADM_THIS_SERVER_WILL_BE_RESET_TO_CREATE_NEW_GAME; ?><br><?php echo ADM_CLICK_BUTTON; ?><b><?php echo ADM_RESET; ?></b><?php echo ADM_TO_PROCEED; ?></p>
</div>
<p>This server will be reset to create new game server.<br>Click button <b>Reset</b> to proceed.</p>
</div> </div>
<!-- BIFA MUTATA AICI, IN AFARA reset-body --> <!-- BIFA MUTATA AICI, IN AFARA reset-body -->
<div class="reset-option"> <div class="reset-option">
@@ -69,12 +67,12 @@ Keep Admin accout (<?php echo htmlspecialchars($_SESSION['username'] ?? 'Admin')
</br></br> </br></br>
<div class="reset-loader" id="resetLoader"> <div class="reset-loader" id="resetLoader">
<div class="spinner"></div> <div class="spinner"></div>
<div>Please wait... while the server is being reset</div> <div><?php echo ADM_PLEASE_WAIT_WHILE_THE_SERVER_IS_BEING_RESET; ?></div>
</div> </div>
<div class="reset-foot" id="hideobj"> <div class="reset-foot" id="hideobj">
<button type="button" class="btn btn-back" onclick="go_url('../Admin/admin.php')">« Back</button> <button type="button" class="btn btn-back" onclick="go_url('../Admin/admin.php')"><?php echo ADM_BACK_2; ?></button>
<button type="button" class="btn btn-reset" onclick="go_proceed()">Reset Server</button> <button type="button" class="btn btn-reset" onclick="go_proceed()"><?php echo ADM_RESET_SERVER; ?></button>
</div> </div>
</div> </div>
</div> </div>
+4 -4
View File
@@ -38,10 +38,10 @@ $result = $admin->search_alliance($_POST['s']); ?>
<table class="search-table"> <table class="search-table">
<tr> <tr>
<td>AID</td> <td><?php echo ADM_AID; ?></td>
<td>NAME</td> <td><?php echo ADM_NAME_2; ?></td>
<td>TAG</td> <td><?php echo ADM_TAG_2; ?></td>
<td>FOUNDER</td> <td><?php echo ADM_FOUNDER_2; ?></td>
</tr> </tr>
<?php if($result){ <?php if($result){
for ($i = 0; $i <= count($result)-1; $i++) { for ($i = 0; $i <= count($result)-1; $i++) {
+3 -3
View File
@@ -37,9 +37,9 @@
<table class="search-table"> <table class="search-table">
<tr> <tr>
<td>UID</td> <td><?php echo ADM_UID_2; ?></td>
<td>NAME</td> <td><?php echo ADM_NAME_2; ?></td>
<td>EMAIL</td> <td><?php echo ADM_EMAIL_2; ?></td>
</tr> </tr>
<?php if($result){ <?php if($result){
for ($i = 0; $i <= count($result)-1; $i++) { for ($i = 0; $i <= count($result)-1; $i++) {
+2 -2
View File
@@ -50,8 +50,8 @@ if($result){
<table class="search-table"> <table class="search-table">
<tr> <tr>
<td>IP</td> <td><?php echo ADM_IP; ?></td>
<td>NAME</td> <td><?php echo ADM_NAME_2; ?></td>
</tr> </tr>
<?php if($rows){ <?php if($rows){
foreach($rows as $r){ foreach($rows as $r){
+4 -4
View File
@@ -37,10 +37,10 @@
<table class="search-table"> <table class="search-table">
<tr> <tr>
<td>UID</td> <td><?php echo ADM_UID_2; ?></td>
<td>PLAYER</td> <td><?php echo ADM_PLAYER_3; ?></td>
<td>VILLAGES</td> <td><?php echo ADM_VILLAGES_2; ?></td>
<td>POP</td> <td><?php echo ADM_POP_2; ?></td>
</tr> </tr>
<?php <?php
if($result){ if($result){
+4 -4
View File
@@ -41,10 +41,10 @@
<table class="search-table"> <table class="search-table">
<tr> <tr>
<td>ID</td> <td><?php echo ADM_ID; ?></td>
<td>VILLAGE NAME</td> <td><?php echo ADM_VILLAGE_NAME; ?></td>
<td>OWNER</td> <td><?php echo ADM_OWNER_2; ?></td>
<td>POP</td> <td><?php echo ADM_POP_2; ?></td>
<td style="width:30px"></td> <td style="width:30px"></td>
</tr> </tr>
<?php if($result){ <?php if($result){
+3 -3
View File
@@ -57,7 +57,7 @@ $search = stripslashes($_POST['s']?? '');
<circle cx="11" cy="11" r="7" stroke="#555" stroke-width="2"/> <circle cx="11" cy="11" r="7" stroke="#555" stroke-width="2"/>
<path d="M20 20l-3.5-3.5" stroke="#555" stroke-width="2" stroke-linecap="round"/> <path d="M20 20l-3.5-3.5" stroke="#555" stroke-width="2" stroke-linecap="round"/>
</svg> </svg>
<h2>Admin Search</h2> <h2><?php echo ADM_ADMIN_SEARCH; ?></h2>
</div> </div>
<div class="search-card"> <div class="search-card">
@@ -68,8 +68,8 @@ $search = stripslashes($_POST['s']?? '');
<option value="<?php echo $k;?>" <?php echo $current==$k?'selected':'';?>><?php echo $v[1].' '.$v[0];?></option> <option value="<?php echo $k;?>" <?php echo $current==$k?'selected':'';?>><?php echo $v[1].' '.$v[0];?></option>
<?php }?> <?php }?>
</select> </select>
<input type="text" name="s" placeholder="Enter name, ID, email or IP..." value="<?php echo htmlspecialchars($search);?>" autofocus> <input type="text" name="s" placeholder="<?php echo ADM_SEARCH_HINT; ?>" value="<?php echo htmlspecialchars($search);?>" autofocus>
<input type="submit" value="Search"> <input type="submit" value="<?php echo ADM_SEARCH_BTN; ?>">
</form> </form>
<div class="quick-types"> <div class="quick-types">
+5 -5
View File
@@ -47,23 +47,23 @@ foreach($varray as $vil) $totalpop += $vil['pop'];
<table id="member" class="search-modern"> <table id="member" class="search-modern">
<thead> <thead>
<tr> <tr>
<th colspan="3">Search <font>("<?php echo htmlspecialchars($user['username']); ?>" = <?php echo $numsimplayers; ?> Similar)</font></th> <th colspan="3"><?php echo ADMIN_SEARCH; ?><font>("<?php echo htmlspecialchars($user['username']); ?>" = <?php echo $numsimplayers; ?> Similar)</font></th>
</tr> </tr>
</thead> </thead>
</table> </table>
<div class="s-info-wrap"> <div class="s-info-wrap">
<div class="s-card"> <div class="s-card">
<div class="s-card-title">Player</div> <div class="s-card-title"><?php echo ADM_PLAYER_2; ?></div>
<div class="s-card-main"><a href="?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a> <span style="color:#94a3b8;font-weight:500">(uid: <?php echo $user['id'];?>)</span></div> <div class="s-card-main"><a href="?p=player&uid=<?php echo $user['id'];?>"><?php echo htmlspecialchars($user['username']);?></a> <span style="color:#94a3b8;font-weight:500">(uid: <?php echo $user['id'];?>)</span></div>
<div class="s-card-sub"><b>Tribe:</b> <?php echo $tribename; ?> • <b>Villages:</b> <?php echo count($varray);?> • <b>Pop:</b> <?php echo number_format($totalpop,0,',','.'); ?></div> <div class="s-card-sub"><b><?php echo ADM_TRIBE_3; ?></b> <?php echo $tribename; ?> • <b><?php echo ADM_VILLAGES_3; ?></b> <?php echo count($varray);?> • <b><?php echo ADM_POP_3; ?></b> <?php echo number_format($totalpop,0,',','.'); ?></div>
</div> </div>
<?php if(isset($_GET['did']) && isset($village)) { ?> <?php if(isset($_GET['did']) && isset($village)) { ?>
<div class="s-card"> <div class="s-card">
<div class="s-card-title">Village</div> <div class="s-card-title"><?php echo ADM_VILLAGE; ?></div>
<div class="s-card-main"><a href="?p=village&did=<?php echo $village['wref'];?>"><?php echo htmlspecialchars($village['name']);?></a> <span style="color:#94a3b8;font-weight:500">(did: <?php echo $village['wref'];?>)</span></div> <div class="s-card-main"><a href="?p=village&did=<?php echo $village['wref'];?>"><?php echo htmlspecialchars($village['name']);?></a> <span style="color:#94a3b8;font-weight:500">(did: <?php echo $village['wref'];?>)</span></div>
<div class="s-card-sub"><b>Coords:</b> (<?php echo $coor['x'];?>|<?php echo $coor['y'];?>) <b>Pop:</b> <?php echo $village['pop'];?></div> <div class="s-card-sub"><b><?php echo ADM_COORDS_2; ?></b> (<?php echo $coor['x'];?>|<?php echo $coor['y'];?>) <b><?php echo ADM_POP_3; ?></b> <?php echo $village['pop'];?></div>
</div> </div>
<?php } ?> <?php } ?>
</div> </div>
+14 -14
View File
@@ -75,17 +75,17 @@ $ue = q1("SELECT ".implode(',',$cells)." FROM ".TB_PREFIX."enforcement");
<div class="sinfo-grid"> <div class="sinfo-grid">
<div class="scard"> <div class="scard">
<h3>🌍 World Information</h3> <h3><?php echo ADM_WORLD_INFO; ?></h3>
<div class="row"><span>Registered players</span><span class="val"><?php echo number_format($users); ?></span></div> <div class="row"><span><?php echo ADM_REGISTERED_PLAYERS; ?></span><span class="val"><?php echo number_format($users); ?></span></div>
<div class="row"><span>Active players</span><span class="val"><?php echo $active; ?></span></div> <div class="row"><span><?php echo ADM_ACTIVE_PLAYERS; ?></span><span class="val"><?php echo $active; ?></span></div>
<div class="row"><span>Players online</span><span class="val" style="color:#27ae60"><?php echo $online; ?></span></div> <div class="row"><span><?php echo ADM_PLAYERS_ONLINE; ?></span><span class="val" style="color:#27ae60"><?php echo $online; ?></span></div>
<div class="row"><span>Players banned</span><span class="val" style="color:#c0392b"><?php echo $banned; ?></span></div> <div class="row"><span><?php echo ADM_PLAYERS_BANNED; ?></span><span class="val" style="color:#c0392b"><?php echo $banned; ?></span></div>
<div class="row"><span>Villages settled</span><span class="val"><?php echo number_format($villages); ?></span></div> <div class="row"><span><?php echo ADM_VILLAGES_SETTLED; ?></span><span class="val"><?php echo number_format($villages); ?></span></div>
<div class="row"><span>Total population</span><span class="val"><?php echo number_format($pop); ?></span></div> <div class="row"><span><?php echo ADM_TOTAL_POPULATION; ?></span><span class="val"><?php echo number_format($pop); ?></span></div>
</div> </div>
<div class="scard"> <div class="scard">
<h3>👥 Player Distribution</h3> <h3><?php echo ADM_PLAYER_DISTRIBUTION; ?></h3>
<?php $names=[1=>'Romans',2=>'Teutons',3=>'Gauls',6=>'Huns',7=>'Egyptians',8=>'Spartans',9=>'Vikings']; $colors=[1=>'romans',2=>'teutons',3=>'gauls',6=>'huns',7=>'egyptians',8=>'spartans',9=>'vikings']; <?php $names=[1=>'Romans',2=>'Teutons',3=>'Gauls',6=>'Huns',7=>'Egyptians',8=>'Spartans',9=>'Vikings']; $colors=[1=>'romans',2=>'teutons',3=>'gauls',6=>'huns',7=>'egyptians',8=>'spartans',9=>'vikings'];
foreach($names as $id=>$name){ foreach($names as $id=>$name){
$pct = $users ? round($tribes[$id]/$users*100,1) : 0; $pct = $users ? round($tribes[$id]/$users*100,1) : 0;
@@ -95,16 +95,16 @@ $ue = q1("SELECT ".implode(',',$cells)." FROM ".TB_PREFIX."enforcement");
</div> </div>
<div class="scard"> <div class="scard">
<h3>💰 Server Economy</h3> <h3><?php echo ADM_SERVER_ECONOMY; ?></h3>
<div class="row"><span><img src="../<?php echo GP_LOCATE; ?>img/a/gold.gif"> Total Gold</span><span class="val"><?php echo number_format($gold); ?></span></div> <div class="row"><span><img src="../<?php echo GP_LOCATE; ?>img/a/gold.gif"><?php echo ADM_TOTAL_GOLD; ?></span><span class="val"><?php echo number_format($gold); ?></span></div>
<div class="row"><span>Avg Gold/player</span><span class="val"><?php echo $users ? number_format($gold/$users,0) : 0; ?></span></div> <div class="row"><span><?php echo ADM_AVG_GOLD; ?></span><span class="val"><?php echo $users ? number_format($gold/$users,0) : 0; ?></span></div>
<div class="row"><span>Server started</span><span class="val"><?php echo defined('START_DATE') ? date('d.m.Y', strtotime(START_DATE)) : '-'; ?></span></div> <div class="row"><span><?php echo ADM_SERVER_STARTED; ?></span><span class="val"><?php echo defined('START_DATE') ? date('d.m.Y', strtotime(START_DATE)) : '-'; ?></span></div>
<div class="row"><span>Uptime</span><span class="val"><?php echo defined('START_DATE') ? floor((time()-strtotime(START_DATE))/86400).' days' : '-'; ?></span></div> <div class="row"><span><?php echo ADM_UPTIME; ?></span><span class="val"><?php echo defined('START_DATE') ? floor((time()-strtotime(START_DATE))/86400).' days' : '-'; ?></span></div>
</div> </div>
</div> </div>
<div class="troops-wrap"> <div class="troops-wrap">
<h3 style="margin:0 0 10px;font-size:14px">⚔️ Troops on Server (villages + reinforcements)</h3> <h3 style="margin:0 0 10px;font-size:14px"><?php echo ADM_TROOPS_ON_SERVER; ?></h3>
<div class="troops-grid"> <div class="troops-grid">
<?php <?php
$tribesUnits = [ $tribesUnits = [
+11 -11
View File
@@ -71,7 +71,7 @@ $_SESSION['sys_color'] = $_SESSION['sys_color'] ?? 'black';
<div class="sysmsg-head"> <div class="sysmsg-head">
<svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" fill="#8e44ad"/></svg> <svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" fill="#8e44ad"/></svg>
<h2>System Message</h2> <h2><?php echo ADMIN_SYSTEM_MESSAGE; ?></h2>
</div> </div>
<div class="sysmsg-card"> <div class="sysmsg-card">
@@ -79,8 +79,8 @@ $_SESSION['sys_color'] = $_SESSION['sys_color'] ?? 'black';
<?php if(isset($_GET['confirm'])): ?> <?php if(isset($_GET['confirm'])): ?>
<div class="sysmsg-confirm"> <div class="sysmsg-confirm">
<b>Confirmare system message</b><br><br> <b><?php echo ADM_CONFIRMARE_SYSTEM_MESSAGE; ?></b><br><br>
<b>Color:</b> <span style="color:<?=htmlspecialchars($_SESSION['sys_color'])?>"> <b><?php echo ADM_COLOR; ?></b> <span style="color:<?=htmlspecialchars($_SESSION['sys_color'])?>">
<?=htmlspecialchars($_SESSION['sys_subject'])?> <?=htmlspecialchars($_SESSION['sys_subject'])?>
</span> </span>
<br><br> <br><br>
@@ -92,14 +92,14 @@ $_SESSION['sys_color'] = $_SESSION['sys_color'] ?? 'black';
<input type="hidden" name="admid" value="<?=$id?>"> <input type="hidden" name="admid" value="<?=$id?>">
<input type="hidden" name="action" value="execute"> <input type="hidden" name="action" value="execute">
<button type="submit" name="confirm" value="Yes" style="background:#27ae60">✓ Send System Message</button> <button type="submit" name="confirm" value="Yes" style="background:#27ae60"><?php echo ADM_SEND_SYSTEM_MESSAGE; ?></button>
<button type="submit" name="confirm" value="No" style="background:#95a5a6;margin-top:8px">Cancel</button> <button type="submit" name="confirm" value="No" style="background:#95a5a6;margin-top:8px"><?php echo ADM_CANCEL; ?></button>
</form> </form>
<?php elseif(isset($_GET['sending'])): ?> <?php elseif(isset($_GET['sending'])): ?>
<div style="text-align:center;padding:30px"> <div style="text-align:center;padding:30px">
<div style="font-size:16px;margin-bottom:10px">Sending system message...</div> <div style="font-size:16px;margin-bottom:10px"><?php echo ADM_SENDING_SYSTEM_MESSAGE; ?></div>
</div> </div>
<?php else: ?> <?php else: ?>
@@ -110,28 +110,28 @@ $_SESSION['sys_color'] = $_SESSION['sys_color'] ?? 'black';
<input type="hidden" name="action" value="prepare"> <input type="hidden" name="action" value="prepare">
<div class="field"> <div class="field">
<label>Subject</label> <label><?php echo ADM_SUBJECT_2; ?></label>
<input type="text" name="subject" required maxlength="100"> <input type="text" name="subject" required maxlength="100">
</div> </div>
<div class="field"> <div class="field">
<label>Color</label> <label><?php echo ADM_COLOR_2; ?></label>
<input type="text" name="color" value="black"> <input type="text" name="color" value="black">
</div> </div>
<div class="field full"> <div class="field full">
<label>Message</label> <label><?php echo ADM_MESSAGE; ?></label>
<textarea name="message" rows="12" required></textarea> <textarea name="message" rows="12" required></textarea>
</div> </div>
<button type="submit">Continue</button> <button type="submit"><?php echo ADM_CONTINUE; ?></button>
</form> </form>
<?php endif; ?> <?php endif; ?>
<?php if(isset($_GET['done'])): ?> <?php if(isset($_GET['done'])): ?>
<div class="sysmsg-success">✓ System message sent successfully</div> <div class="sysmsg-success"><?php echo ADM_SYSTEM_MESSAGE_SENT_SUCCESSFULLY; ?></div>
<?php endif; ?> <?php endif; ?>
</div> </div>
+7 -7
View File
@@ -48,26 +48,26 @@ $logs = $database->query("SELECT * FROM ".TB_PREFIX."tech_log WHERE wid = $id OR
</style> </style>
<div class="tlog-wrap"> <div class="tlog-wrap">
<a href="admin.php?p=village&did=<?php echo $id; ?>" class="back-btn">← Back to Village</a> <a href="admin.php?p=village&did=<?php echo $id; ?>" class="back-btn"><?php echo ADM_BACK_TO_VILLAGE; ?></a>
<div class="tlog-head"> <div class="tlog-head">
<div class="icon">🔬</div> <div class="icon">🔬</div>
<div> <div>
<h2><?php echo htmlspecialchars($village['name']); ?> <span style="opacity:.7">— Research Log</span></h2> <h2><?php echo htmlspecialchars($village['name']); ?> <span style="opacity:.7"><?php echo ADM_RESEARCH_LOG; ?></span></h2>
<span>Latest 200 searches</span> <span><?php echo ADM_LATEST_200_SEARCHES; ?></span>
</div> </div>
</div> </div>
<div class="tlog-card"> <div class="tlog-card">
<?php if(mysqli_num_rows($logs) == 0): ?> <?php if(mysqli_num_rows($logs) == 0): ?>
<div class="empty">No registered searches.</div> <div class="empty"><?php echo ADM_NO_REGISTERED_SEARCHES; ?></div>
<?php else: ?> <?php else: ?>
<table class="tlog-table"> <table class="tlog-table">
<thead> <thead>
<tr> <tr>
<th class="tlog-num">#</th> <th class="tlog-num">#</th>
<th>Event</th> <th><?php echo ADM_EVENT; ?></th>
<th class="tlog-date">Data</th> <th class="tlog-date"><?php echo ADM_DATA; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -82,7 +82,7 @@ $logs = $database->query("SELECT * FROM ".TB_PREFIX."tech_log WHERE wid = $id OR
?> ?>
<tr> <tr>
<td class="tlog-num"><?php echo $i--; ?></td> <td class="tlog-num"><?php echo $i--; ?></td>
<td><span class="badge <?php echo $badge; ?>">TECH</span> <?php echo $log; ?></td> <td><span class="badge <?php echo $badge; ?>"><?php echo ADM_TECH; ?></span> <?php echo $log; ?></td>
<td class="tlog-date"><?php echo $date; ?></td> <td class="tlog-date"><?php echo $date; ?></td>
</tr> </tr>
<?php endwhile; ?> <?php endwhile; ?>
+2 -2
View File
@@ -37,7 +37,7 @@ $img = $tribe==1 ? "" : $tribe-1;
</style> </style>
<div class="upg-modern"> <div class="upg-modern">
<div class="upg-head"><div>Armoury</div><div>Blacksmith</div></div> <div class="upg-head"><div><?php echo ADM_ARMOURY; ?></div><div><?php echo ADM_BLACKSMITH; ?></div></div>
<div class="upg-icons"> <div class="upg-icons">
<?php for($i=1;$i<9;$i++) echo '<img src="../img/un/u/'.$img.$i.'.gif">'; for($i=1;$i<9;$i++) echo '<img src="../img/un/u/'.$img.$i.'.gif">'; ?> <?php for($i=1;$i<9;$i++) echo '<img src="../img/un/u/'.$img.$i.'.gif">'; for($i=1;$i<9;$i++) echo '<img src="../img/un/u/'.$img.$i.'.gif">'; ?>
</div> </div>
@@ -58,7 +58,7 @@ $img = $tribe==1 ? "" : $tribe-1;
<?php if($_SESSION['access']==ADMIN){ ?> <?php if($_SESSION['access']==ADMIN){ ?>
<div class="upg-foot"> <div class="upg-foot">
<?php if($tribe==5){ echo '<span style="color:#94a3b8">Upgrades Troops</span>'; } else { echo '<a href="admin.php?p=addABTroops&did='.$_GET['did'].'">Upgrades Troops</a>'; } ?> <?php if($tribe==5){ echo '<span style="color:#94a3b8">Upgrades Troops</span>'; } else { echo '<a href="admin.php?p=addABTroops&did='.$_GET['did'].'">Upgrades Troops</a>'; } ?>
<a href="admin.php?p=techlog&did=<?=(int)($_GET['did'] ?? 0)?>" style="color:#64748b">Research Log</a> <a href="admin.php?p=techlog&did=<?=(int)($_GET['did'] ?? 0)?>" style="color:#64748b"><?php echo ADMIN_RESEARCH_LOG; ?></a>
</div> </div>
<?php if(isset($_GET['ab'])) echo '<div style="text-align:right;padding:0 8px 6px;color:#dc2626;font-weight:600;font-size:12px">AB Tech updated</div>'; ?> <?php if(isset($_GET['ab'])) echo '<div style="text-align:right;padding:0 8px 6px;color:#dc2626;font-weight:600;font-size:12px">AB Tech updated</div>'; ?>
<?php } ?> <?php } ?>
+1 -1
View File
@@ -52,7 +52,7 @@ $heroCount = $hero ? 1 : 0;
</div> </div>
<?php if($_SESSION['access']==ADMIN){ ?> <?php if($_SESSION['access']==ADMIN){ ?>
<div class="troops-foot"> <div class="troops-foot">
<a href="admin.php?p=addTroops&did=<?=(int)($_GET['did'] ?? 0)?>"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"/></svg>Edit Troops</a> <a href="admin.php?p=addTroops&did=<?=(int)($_GET['did'] ?? 0)?>"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"/></svg><?php echo ADMIN_EDIT_TROOPS; ?></a>
<?php if(isset($_GET['d'])) echo '<span style="color:#dc2626;font-weight:600">Troops edited</span>'; ?> <?php if(isset($_GET['d'])) echo '<span style="color:#dc2626;font-weight:600">Troops edited</span>'; ?>
</div> </div>
<?php } ?> <?php } ?>
+7 -9
View File
@@ -45,7 +45,7 @@ $id = $_SESSION['id'];
<div class="usergold-wrap"> <div class="usergold-wrap">
<div class="usergold-head"> <div class="usergold-head">
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="8" r="4" fill="#3498db"/><path d="M4 20c0-4 4-6 8-6s8 2 8 6" fill="#2c3e50"/></svg> <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="8" r="4" fill="#3498db"/><path d="M4 20c0-4 4-6 8-6s8 2 8 6" fill="#2c3e50"/></svg>
<h2>User Gold</h2> <h2><?php echo ADM_USER_GOLD; ?></h2>
</div> </div>
<div class="usergold-card"> <div class="usergold-card">
@@ -54,8 +54,8 @@ $id = $_SESSION['id'];
<svg viewBox="0 0 24 24"><path d="M12 2l3 7h7l-5.5 4 2 7-6.5-4.5L5.5 20l2-7L2 9h7z"/></svg> <svg viewBox="0 0 24 24"><path d="M12 2l3 7h7l-5.5 4 2 7-6.5-4.5L5.5 20l2-7L2 9h7z"/></svg>
</div> </div>
<div> <div>
<h3>Give Gold to Specific Player</h3> <h3><?php echo ADM_GIVE_GOLD_TO_SPECIFIC_PLAYER; ?></h3>
<p>Add gold only for single account (after ID).</p> <p><?php echo ADM_ADD_GOLD_ONLY_FOR_SINGLE_ACCOUNT_AFTER_ID; ?></p>
</div> </div>
</div> </div>
@@ -64,23 +64,21 @@ $id = $_SESSION['id'];
<input type="hidden" name="admid" value="<?php echo $id; ?>"> <input type="hidden" name="admid" value="<?php echo $id; ?>">
<div class="field"> <div class="field">
<label>User ID</label> <label><?php echo ADM_USER_ID; ?></label>
<input type="number" name="id" placeholder="ex: 123" required min="1"> <input type="number" name="id" placeholder="ex: 123" required min="1">
</div> </div>
<div class="field"> <div class="field">
<label>Amount Gold</label> <label><?php echo ADM_AMOUNT_GOLD; ?></label>
<input type="number" name="gold" value="20" min="1" max="999999" required> <input type="number" name="gold" value="20" min="1" max="999999" required>
</div> </div>
<button type="submit"> <button type="submit">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M12 5v14M5 12h14" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg> <svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M12 5v14M5 12h14" stroke="#fff" stroke-width="2" stroke-linecap="round"/></svg><?php echo ADM_GIVE_GOLD; ?></button>
Give Gold
</button>
</form> </form>
</div> </div>
<?php if(isset($_GET['g'])){ ?> <?php if(isset($_GET['g'])){ ?>
<div class="usergold-success"> Gold successfully added for user!</div> <div class="usergold-success"><?php echo ADM_GOLD_SUCCESSFULLY_ADDED_FOR_USER; ?></div>
<?php } ?> <?php } ?>
</div> </div>
+5 -5
View File
@@ -53,13 +53,13 @@ if($id){
<div class="illegal-wrap"> <div class="illegal-wrap">
<div class="illegal-head"> <div class="illegal-head">
<h2>🚨 Illegals Log: <a href="admin.php?p=player&uid=<?php echo $player['id'];?>"><?php echo htmlspecialchars($player['username']);?></a></h2> <h2><?php echo ADM_ILLEGALS_LOG; ?><a href="admin.php?p=player&uid=<?php echo $player['id'];?>"><?php echo htmlspecialchars($player['username']);?></a></h2>
<div class="uid">UID: <?php echo $id; ?></div> <div class="uid">UID: <?php echo $id; ?></div>
</div> </div>
<div class="card"> <div class="card">
<h3> <h3>
<span>Detected Offences</span> <span><?php echo ADM_DETECTED_OFFENCES; ?></span>
<?php <?php
$count = mysqli_num_rows(mysqli_query($GLOBALS["link"], "SELECT id FROM ".TB_PREFIX."illegal_log WHERE user = $id")); $count = mysqli_num_rows(mysqli_query($GLOBALS["link"], "SELECT id FROM ".TB_PREFIX."illegal_log WHERE user = $id"));
echo '<span class="badge">'.$count.' records</span>'; echo '<span class="badge">'.$count.' records</span>';
@@ -74,8 +74,8 @@ if($id){
<thead> <thead>
<tr> <tr>
<th>#</th> <th>#</th>
<th>ID</th> <th><?php echo ADM_ID; ?></th>
<th>Description</th> <th><?php echo ADM_DESCRIPTION; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -98,7 +98,7 @@ if($id){
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $id;?>" class="btn-back"> Back to player</a> <a href="admin.php?p=player&uid=<?php echo $id;?>" class="btn-back"><?php echo ADM_BACK_TO_PLAYER; ?></a>
</div> </div>
</div> </div>
<?php <?php
+6 -6
View File
@@ -52,13 +52,13 @@ if($id){
<div class="log-wrap"> <div class="log-wrap">
<div class="log-head"> <div class="log-head">
<h2>🔐 Login Log: <a href="admin.php?p=player&uid=<?php echo $player['id'];?>"><?php echo htmlspecialchars($player['username']);?></a></h2> <h2><?php echo ADM_LOGIN_LOG_2; ?><a href="admin.php?p=player&uid=<?php echo $player['id'];?>"><?php echo htmlspecialchars($player['username']);?></a></h2>
<div class="uid">UID: <?php echo $id; ?></div> <div class="uid">UID: <?php echo $id; ?></div>
</div> </div>
<div class="card"> <div class="card">
<h3> <h3>
<span>Recent Login Attempts</span> <span><?php echo ADM_RECENT_LOGIN_ATTEMPTS; ?></span>
<?php <?php
$count = mysqli_num_rows(mysqli_query($GLOBALS["link"], "SELECT id FROM ".TB_PREFIX."login_log WHERE uid = $id")); $count = mysqli_num_rows(mysqli_query($GLOBALS["link"], "SELECT id FROM ".TB_PREFIX."login_log WHERE uid = $id"));
echo '<span class="badge">'.$count.' total</span>'; echo '<span class="badge">'.$count.' total</span>';
@@ -73,9 +73,9 @@ if($id){
<thead> <thead>
<tr> <tr>
<th>#</th> <th>#</th>
<th>Log ID</th> <th><?php echo ADM_LOG_ID; ?></th>
<th>IP Address</th> <th><?php echo ADM_IP_ADDRESS; ?></th>
<th>Info</th> <th><?php echo ADM_INFO; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -98,7 +98,7 @@ if($id){
</div> </div>
<div class="actions"> <div class="actions">
<a href="admin.php?p=player&uid=<?php echo $id;?>" class="btn-back"> Back to player</a> <a href="admin.php?p=player&uid=<?php echo $id;?>" class="btn-back"><?php echo ADM_BACK_TO_PLAYER; ?></a>
</div> </div>
</div> </div>
<?php <?php
+16 -16
View File
@@ -114,31 +114,31 @@ function shortEmail($e){if(!$e)return '-';if(strlen($e)>22)return substr($e,0,19
<div class="users-wrap"> <div class="users-wrap">
<div class="users-head"> <div class="users-head">
<h2>👥 Users</h2> <h2><?php echo ADM_USERS_H; ?></h2>
<div style="font-size:11px;color:#94a3b8"><?php echo number_format($totalUsers);?> found</div> <div style="font-size:11px;color:#94a3b8"><?php echo number_format($totalUsers);?> found</div>
</div> </div>
<div class="users-filters"> <div class="users-filters">
<a href="?p=users&filter=all" class="<?php echo $filter=='all'?'active':'';?>">All</a> <a href="?p=users&filter=all" class="<?php echo $filter=='all'?'active':'';?>"><?php echo ADM_ALL; ?></a>
<a href="?p=users&filter=admins" class="<?php echo $filter=='admins'?'active':'';?>">Admins</a> <a href="?p=users&filter=admins" class="<?php echo $filter=='admins'?'active':'';?>"><?php echo ADM_ADMINS; ?></a>
<a href="?p=users&filter=normal" class="<?php echo $filter=='normal'?'active':'';?>">Normal</a> <a href="?p=users&filter=normal" class="<?php echo $filter=='normal'?'active':'';?>"><?php echo ADM_NORMAL; ?></a>
<a href="?p=users&filter=banned" class="<?php echo $filter=='banned'?'active':'';?>">Banned</a> <a href="?p=users&filter=banned" class="<?php echo $filter=='banned'?'active':'';?>"><?php echo ADM_BANNED; ?></a>
<a href="?p=users&filter=online" class="<?php echo $filter=='online'?'active':'';?>">Online</a> <a href="?p=users&filter=online" class="<?php echo $filter=='online'?'active':'';?>"><?php echo ADM_ONLINE; ?></a>
</div> </div>
<div class="search-box"><input type="text" id="userSearch" placeholder="Search..." onkeyup="filterUsers()"></div> <div class="search-box"><input type="text" id="userSearch" placeholder="<?php echo ADM_SEARCH_PH; ?>" onkeyup="filterUsers()"></div>
<div class="table-wrap"> <div class="table-wrap">
<table class="users-table" id="usersTable"> <table class="users-table" id="usersTable">
<thead> <thead>
<tr> <tr>
<th>ID</th> <th><?php echo ADM_ID; ?></th>
<th>Username</th> <th><?php echo ADM_USERNAME; ?></th>
<th>Email</th> <th><?php echo ADM_EMAIL; ?></th>
<th>Access</th> <th><?php echo ADM_ACCESS; ?></th>
<th>Tribe</th> <th><?php echo ADM_TRIBE; ?></th>
<th>Gold</th> <th><?php echo ADM_GOLD; ?></th>
<th>Last Activity</th> <th><?php echo ADM_LAST_ACTIVITY; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -168,9 +168,9 @@ function shortEmail($e){if(!$e)return '-';if(strlen($e)>22)return substr($e,0,19
</div> </div>
<div class="pagination"> <div class="pagination">
<?php if($page>1){?><a href="?p=users&filter=<?php echo $filter;?>&upage=<?php echo $page-1;?>">« Prev</a><?php }?> <?php if($page>1){?><a href="?p=users&filter=<?php echo $filter;?>&upage=<?php echo $page-1;?>"><?php echo ADM_PREV; ?></a><?php }?>
<span class="current"><?php echo $page;?> / <?php echo $totalPages;?></span> <span class="current"><?php echo $page;?> / <?php echo $totalPages;?></span>
<?php if($page<$totalPages){?><a href="?p=users&filter=<?php echo $filter;?>&upage=<?php echo $page+1;?>">Next »</a><?php }?> <?php if($page<$totalPages){?><a href="?p=users&filter=<?php echo $filter;?>&upage=<?php echo $page+1;?>"><?php echo ADM_NEXT; ?></a><?php }?>
</div> </div>
</div> </div>
+25 -25
View File
@@ -114,9 +114,9 @@ if(isset($id)){
<!-- 1. VILLAGE INFORMATION - FULL WIDTH --> <!-- 1. VILLAGE INFORMATION - FULL WIDTH -->
<div class="vcard"> <div class="vcard">
<div class="vhead">Village Information</div> <div class="vhead"><?php echo ADM_VILLAGE_INFORMATION; ?></div>
<table class="vtable"> <table class="vtable">
<tr><td class="label">Owner</td><td><a href="admin.php?p=player&uid=<?php echo $village['owner']; ?>" style="color:#2563eb;font-weight:600"><?php echo htmlspecialchars($user['username']); ?></a></td> <tr><td class="label"><?php echo ADM_OWNER; ?></td><td><a href="admin.php?p=player&uid=<?php echo $village['owner']; ?>" style="color:#2563eb;font-weight:600"><?php echo htmlspecialchars($user['username']); ?></a></td>
<td style="text-align:right"> <td style="text-align:right">
<form action="../GameEngine/Admin/Mods/editVillageOwner.php" method="POST" style="display:flex;gap:4px;align-items:center;justify-content:flex-end"> <form action="../GameEngine/Admin/Mods/editVillageOwner.php" method="POST" style="display:flex;gap:4px;align-items:center;justify-content:flex-end">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
@@ -124,26 +124,26 @@ if(isset($id)){
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<input class="input-mini" type="text" name="newowner" value="<?php echo $user['id']; ?>" style="width:65px"> <input class="input-mini" type="text" name="newowner" value="<?php echo $user['id']; ?>" style="width:65px">
<?php if($_SESSION['access'] == ADMIN) { ?> <?php if($_SESSION['access'] == ADMIN) { ?>
<button class="btn-icon" title="Change"><?php echo $svgEdit; ?></button> <button class="btn-icon" title="<?php echo ADM_CHANGE; ?>"><?php echo $svgEdit; ?></button>
<?php } ?> <?php } ?>
</form> </form>
</td> </td>
</tr> </tr>
<tr><td class="label">Name</td><td colspan="2"> <tr><td class="label"><?php echo ADM_NAME; ?></td><td colspan="2">
<form action="../GameEngine/Admin/Mods/renameVillage.php" method="POST" style="display:flex;gap:4px"> <form action="../GameEngine/Admin/Mods/renameVillage.php" method="POST" style="display:flex;gap:4px">
<?php echo csrf_field(); ?> <?php echo csrf_field(); ?>
<input type="hidden" name="did" value="<?php echo (int)($_GET['did'] ?? 0); ?>"> <input type="hidden" name="did" value="<?php echo (int)($_GET['did'] ?? 0); ?>">
<input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>"> <input type="hidden" name="admid" value="<?php echo $_SESSION['id']; ?>">
<input class="input-mini" type="text" name="villagename" value="<?php echo htmlspecialchars($village['name']); ?>" style="flex:1"> <input class="input-mini" type="text" name="villagename" value="<?php echo htmlspecialchars($village['name']); ?>" style="flex:1">
<?php if($_SESSION['access'] == ADMIN) { ?> <?php if($_SESSION['access'] == ADMIN) { ?>
<button class="btn-icon" title="Rename"><?php echo $svgEdit; ?></button> <button class="btn-icon" title="<?php echo ADM_RENAME; ?>"><?php echo $svgEdit; ?></button>
<?php } ?> <?php } ?>
</form> </form>
</td></tr> </td></tr>
<tr><td class="label">Population</td><td colspan="2"><?php echo $village['pop'];?> <a href="admin.php?action=recountPop&did=<?php echo (int)($_GET['did'] ?? 0); ?>" class="btn-icon" style="margin-left:4px"><?php echo $svgRefresh; ?></a></td></tr> <tr><td class="label"><?php echo ADM_POPULATION; ?></td><td colspan="2"><?php echo $village['pop'];?> <a href="admin.php?action=recountPop&did=<?php echo (int)($_GET['did'] ?? 0); ?>" class="btn-icon" style="margin-left:4px"><?php echo $svgRefresh; ?></a></td></tr>
<tr><td class="label">Coords</td><td colspan="2"><a href="<?php echo HOMEPAGE ?>/karte.php?d=<?php echo $village['wref']; ?>&c=<?php echo $generator->getMapCheck($village['wref']); ?>" target="_blank" style="color:#16a34a;font-weight:600">(<?php echo $coor['x']."|".$coor['y']; ?>)</a></td></tr> <tr><td class="label"><?php echo ADM_COORDS; ?></td><td colspan="2"><a href="<?php echo HOMEPAGE ?>/karte.php?d=<?php echo $village['wref']; ?>&c=<?php echo $generator->getMapCheck($village['wref']); ?>" target="_blank" style="color:#16a34a;font-weight:600">(<?php echo $coor['x']."|".$coor['y']; ?>)</a></td></tr>
<tr><td class="label">ID</td><td colspan="2"><?php echo $village['wref'];?></td></tr> <tr><td class="label"><?php echo ADM_ID; ?></td><td colspan="2"><?php echo $village['wref'];?></td></tr>
<tr><td class="label">Field</td><td colspan="2" class="badge-field"><?php for ($i = 0; $i <= 3; $i++){ $a = $i + 1; echo $typ[$i].'x <img src="../img/admin/r/'.$a.'.gif">'.($i!=3?' | ':''); } ?></td></tr> <tr><td class="label"><?php echo ADM_FIELD; ?></td><td colspan="2" class="badge-field"><?php for ($i = 0; $i <= 3; $i++){ $a = $i + 1; echo $typ[$i].'x <img src="../img/admin/r/'.$a.'.gif">'.($i!=3?' | ':''); } ?></td></tr>
</table> </table>
</div> </div>
<!-- 2. RESOURCES - FULL WIDTH --> <!-- 2. RESOURCES - FULL WIDTH -->
@@ -151,40 +151,40 @@ if(isset($id)){
<div class="vhead">Resources<?php if($_SESSION['access'] == ADMIN) { ?><a href="admin.php?p=editResources&did=<?php echo (int)($_GET['did'] ?? 0); ?>"><?php echo $svgEdit; ?></a><?php } ?> <div class="vhead">Resources<?php if($_SESSION['access'] == ADMIN) { ?><a href="admin.php?p=editResources&did=<?php echo (int)($_GET['did'] ?? 0); ?>"><?php echo $svgEdit; ?></a><?php } ?>
</div> </div>
<table class="vtable" style="text-align:center"> <table class="vtable" style="text-align:center">
<tr style="background:#f8fafc;font-size:11px;color:#64748b"><td style="text-align:left">Res</td><td>Amt</td><td>Cap</td><td>Prod</td></tr> <tr style="background:#f8fafc;font-size:11px;color:#64748b"><td style="text-align:left"><?php echo ADM_RES; ?></td><td><?php echo ADM_AMT; ?></td><td><?php echo ADM_CAP; ?></td><td><?php echo ADM_PROD; ?></td></tr>
<tr><td style="text-align:left"><img src="../img/admin/r/1.gif"> Wood</td><td><?php echo floor($village['wood']); ?></td><td rowspan="3"><?php echo $village['maxstore'];?></td><td><?php echo $production['wood'];?></td></tr> <tr><td style="text-align:left"><img src="../img/admin/r/1.gif"><?php echo ADM_WOOD; ?></td><td><?php echo floor($village['wood']); ?></td><td rowspan="3"><?php echo $village['maxstore'];?></td><td><?php echo $production['wood'];?></td></tr>
<tr><td style="text-align:left"><img src="../img/admin/r/2.gif"> Clay</td><td><?php echo floor($village['clay']); ?></td><td><?php echo $production['clay'];?></td></tr> <tr><td style="text-align:left"><img src="../img/admin/r/2.gif"><?php echo ADM_CLAY; ?></td><td><?php echo floor($village['clay']); ?></td><td><?php echo $production['clay'];?></td></tr>
<tr><td style="text-align:left"><img src="../img/admin/r/3.gif"> Iron</td><td><?php echo floor($village['iron']); ?></td><td><?php echo $production['iron'];?></td></tr> <tr><td style="text-align:left"><img src="../img/admin/r/3.gif"><?php echo ADM_IRON; ?></td><td><?php echo floor($village['iron']); ?></td><td><?php echo $production['iron'];?></td></tr>
<tr><td style="text-align:left"><img src="../img/admin/r/4.gif"> Crop</td><td><?php echo floor($village['crop']); ?></td><td><?php echo $village['maxcrop'];?></td><td><?php echo $production['crop'];?></td></tr> <tr><td style="text-align:left"><img src="../img/admin/r/4.gif"><?php echo ADM_CROP; ?></td><td><?php echo floor($village['crop']); ?></td><td><?php echo $village['maxcrop'];?></td><td><?php echo $production['crop'];?></td></tr>
</table> </table>
</div> </div>
</div> </div>
<div> <div>
<div class="vcard"> <div class="vcard">
<div class="vhead">Expansion</div> <div class="vhead"><?php echo ADM_EXPANSION; ?></div>
<table class="vtable" style="text-align:center"> <table class="vtable" style="text-align:center">
<tr style="background:#f8fafc;font-size:11px;color:#64748b"><td>Village</td><td>Pop</td><td>CP</td></tr> <tr style="background:#f8fafc;font-size:11px;color:#64748b"><td><?php echo ADM_VILLAGE; ?></td><td><?php echo ADM_POP; ?></td><td><?php echo ADM_CP; ?></td></tr>
<?php for($e = 1; $e < 4; $e++){ $exp = $village['exp'.$e.'']; if($exp == 0){ echo '<tr><td>-</td><td>-</td><td>-</td></tr>'; }else{ $vill = $database->getVillage($exp); echo '<tr><td><a href="admin.php?p=village&did='.$vill['wref'].'" style="color:#2563eb">'.htmlspecialchars($vill['name']).'</a></td><td>'.$vill['pop'].'</td><td>'.$vill['cp'].'</td></tr>'; } } ?> <?php for($e = 1; $e < 4; $e++){ $exp = $village['exp'.$e.'']; if($exp == 0){ echo '<tr><td>-</td><td>-</td><td>-</td></tr>'; }else{ $vill = $database->getVillage($exp); echo '<tr><td><a href="admin.php?p=village&did='.$vill['wref'].'" style="color:#2563eb">'.htmlspecialchars($vill['name']).'</a></td><td>'.$vill['pop'].'</td><td>'.$vill['cp'].'</td></tr>'; } } ?>
</table> </table>
</div> </div>
<div class="vcard"> <div class="vcard">
<div class="vhead">Oasis</div> <div class="vhead"><?php echo ADM_OASIS; ?></div>
<table class="vtable" style="text-align:center"> <table class="vtable" style="text-align:center">
<tr style="background:#f8fafc;font-size:11px;color:#64748b"><td style="width:28px"></td><td>Name</td><td>Coords</td><td>Loy</td><td>Bonus</td></tr> <tr style="background:#f8fafc;font-size:11px;color:#64748b"><td style="width:28px"></td><td><?php echo ADM_NAME; ?></td><td><?php echo ADM_COORDS; ?></td><td><?php echo ADM_LOY; ?></td><td><?php echo ADM_BONUS; ?></td></tr>
<?php if(!empty($newResult)){ foreach($newResult as $row){ echo '<tr><td><a href="?action=delOas&oid='.$row['wref'].'&did='.$_GET['did'].'" onclick="return del(\'oas\','.$row['wref'].')" class="btn-icon danger">'.$svgDel.'</a></td><td>'.$row['name'].'</td><td><a href="../karte.php?d='.$row['wref'].'&c='.$generator->getMapCheck($row['wref']).'" target="_blank" style="color:#2563eb">('.$row['x'].'|'.$row['y'].')</a></td><td>'.round($row['loyalty']).'%</td><td>'.$row['type'].'</td></tr>'; } } else { echo '<tr><td colspan="5" style="color:#94a3b8;padding:10px">No oases</td></tr>'; } ?> <?php if(!empty($newResult)){ foreach($newResult as $row){ echo '<tr><td><a href="?action=delOas&oid='.$row['wref'].'&did='.$_GET['did'].'" onclick="return del(\'oas\','.$row['wref'].')" class="btn-icon danger">'.$svgDel.'</a></td><td>'.$row['name'].'</td><td><a href="../karte.php?d='.$row['wref'].'&c='.$generator->getMapCheck($row['wref']).'" target="_blank" style="color:#2563eb">('.$row['x'].'|'.$row['y'].')</a></td><td>'.round($row['loyalty']).'%</td><td>'.$row['type'].'</td></tr>'; } } else { echo '<tr><td colspan="5" style="color:#94a3b8;padding:10px">No oases</td></tr>'; } ?>
</table> </table>
</div> </div>
</div> </div>
</div> </div>
<div class="vcard"><div class="vhead">Troops</div><div style="padding:4px"><?php include('troops.tpl'); ?></div></div> <div class="vcard"><div class="vhead"><?php echo ADM_TROOPS; ?></div><div style="padding:4px"><?php include('troops.tpl'); ?></div></div>
<div class="vcard"><div class="vhead">Upgrades</div><div style="padding:4px"><?php include('troopUpgrades.tpl'); ?></div></div> <div class="vcard"><div class="vhead"><?php echo ADM_UPGRADES; ?></div><div style="padding:4px"><?php include('troopUpgrades.tpl'); ?></div></div>
<div class="vcard"><div class="vhead">Artifact</div><div style="padding:4px"><?php include('artifact.tpl'); ?></div></div> <div class="vcard"><div class="vhead"><?php echo ADM_ARTIFACT; ?></div><div style="padding:4px"><?php include('artifact.tpl'); ?></div></div>
<div class="vmap-wrap"> <div class="vmap-wrap">
<div class="map-card"> <div class="map-card">
<h3>Resource Fields</h3> <h3><?php echo ADM_RESOURCE_FIELDS; ?></h3>
<a href="admin.php?p=editVillage&did=<?php echo (int)($_GET['did'] ?? 0); ?>"> <a href="admin.php?p=editVillage&did=<?php echo (int)($_GET['did'] ?? 0); ?>">
<div id="content" class="village1"> <div id="content" class="village1">
<div id="village_map" class="f<?php echo $database->getVillageType($village['wref']); ?>"> <div id="village_map" class="f<?php echo $database->getVillageType($village['wref']); ?>">
@@ -219,14 +219,14 @@ if(isset($id)){
</div> </div>
<div class="vcard" style="margin-top:8px"> <div class="vcard" style="margin-top:8px">
<div class="vhead">Buildings</div> <div class="vhead"><?php echo ADM_BUILDINGS; ?></div>
<table class="vtable" style="text-align:center"> <table class="vtable" style="text-align:center">
<tr style="background:#f8fafc;font-size:11px;color:#64748b"><td>ID</td><td>GID</td><td style="text-align:left">Name</td><td>Lvl</td><td>Edit</td></tr> <tr style="background:#f8fafc;font-size:11px;color:#64748b"><td><?php echo ADM_ID; ?></td><td><?php echo ADM_GID; ?></td><td style="text-align:left"><?php echo ADM_NAME; ?></td><td><?php echo ADM_LVL; ?></td><td><?php echo ADM_EDIT; ?></td></tr>
<?php for ($i = 1; $i <= 41; $i++){ if($i == 41) $i = 99; if($fdata['f'.$i.'t'] == 0) $bu = "-"; else $bu = $funct->procResType($fdata['f'.$i.'t']); echo '<tr><td>'.$i.'</td><td>'.$fdata['f'.$i.'t'].'</td><td style="text-align:left">'.$bu.'</td><td>'.$fdata['f'.$i].'</td><td>'.($_SESSION['access'] == ADMIN ? '<a href="admin.php?p=editVillage&did='.$_GET['did'].'" class="btn-icon">'.$svgEdit.'</a>': '').'</td></tr>'; } ?> <?php for ($i = 1; $i <= 41; $i++){ if($i == 41) $i = 99; if($fdata['f'.$i.'t'] == 0) $bu = "-"; else $bu = $funct->procResType($fdata['f'.$i.'t']); echo '<tr><td>'.$i.'</td><td>'.$fdata['f'.$i.'t'].'</td><td style="text-align:left">'.$bu.'</td><td>'.$fdata['f'.$i].'</td><td>'.($_SESSION['access'] == ADMIN ? '<a href="admin.php?p=editVillage&did='.$_GET['did'].'" class="btn-icon">'.$svgEdit.'</a>': '').'</td></tr>'; } ?>
</table> </table>
</div> </div>
<div style="text-align:center;margin:12px 0"><a href="admin.php?p=villagelog&did=<?php echo (int)($_GET['did'] ?? 0); ?>" style="color:#2563eb;font-weight:500;font-size:13px">Village Build Log </a></div> <div style="text-align:center;margin:12px 0"><a href="admin.php?p=villagelog&did=<?php echo (int)($_GET['did'] ?? 0); ?>" style="color:#2563eb;font-weight:500;font-size:13px"><?php echo ADM_VILLAGE_BUILD_LOG; ?></a></div>
</div> </div>
<?php } else { include("404.tpl"); } } ?> <?php } else { include("404.tpl"); } } ?>
+6 -6
View File
@@ -48,26 +48,26 @@ $logs = $database->query("SELECT * FROM ".TB_PREFIX."build_log WHERE wid = $id O
</style> </style>
<div class="vlog-wrap"> <div class="vlog-wrap">
<a href="admin.php?p=village&did=<?php echo $id; ?>" class="back-btn">← Back to Village</a> <a href="admin.php?p=village&did=<?php echo $id; ?>" class="back-btn"><?php echo ADM_BACK_TO_VILLAGE; ?></a>
<div class="vlog-head"> <div class="vlog-head">
<div class="icon">🏗️</div> <div class="icon">🏗️</div>
<div> <div>
<h2><?php echo htmlspecialchars($village['name']); ?> <span style="opacity:.7">— Build Log</span></h2> <h2><?php echo htmlspecialchars($village['name']); ?> <span style="opacity:.7"><?php echo ADM_BUILD_LOG; ?></span></h2>
<span>Latest 200 action</span> <span><?php echo ADM_LATEST_200_ACTION; ?></span>
</div> </div>
</div> </div>
<div class="vlog-card"> <div class="vlog-card">
<?php if(mysqli_num_rows($logs) == 0): ?> <?php if(mysqli_num_rows($logs) == 0): ?>
<div class="empty">No action recorded yet.</div> <div class="empty"><?php echo ADM_NO_ACTION_RECORDED_YET; ?></div>
<?php else: ?> <?php else: ?>
<table class="vlog-table"> <table class="vlog-table">
<thead> <thead>
<tr> <tr>
<th class="vlog-num">#</th> <th class="vlog-num">#</th>
<th>Event</th> <th><?php echo ADM_EVENT; ?></th>
<th class="vlog-date">Data</th> <th class="vlog-date"><?php echo ADM_DATA; ?></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
+4 -4
View File
@@ -41,10 +41,10 @@
<table class="vil-table"> <table class="vil-table">
<tr> <tr>
<td>NAME</td> <td><?php echo ADM_NAME_2; ?></td>
<td>POPULATION</td> <td><?php echo ADM_POPULATION_2; ?></td>
<td>COORDINATES</td> <td><?php echo ADM_COORDINATES; ?></td>
<td>TROOPS</td> <td><?php echo ADM_TROOPS_2; ?></td>
<td style="width:32px"></td> <td style="width:32px"></td>
</tr> </tr>
<?php <?php
+946
View File
@@ -3254,3 +3254,949 @@ tz_def('ANL_GREAT', 'Great');
tz_def('ANL_CULTURE_POINTS_NEEDED', 'Culture points needed for additional villages'); tz_def('ANL_CULTURE_POINTS_NEEDED', 'Culture points needed for additional villages');
tz_def('PUBLIC_MAIN_GOALS', 'Main Goals:'); tz_def('PUBLIC_MAIN_GOALS', 'Main Goals:');
tz_def('PUBLIC_TERMS_SHORT', 'Terms'); tz_def('PUBLIC_TERMS_SHORT', 'Terms');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 1: home, server_info, online, users,
// search, ban, notregistered, inactive, report, msg)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_HELLO', 'Hello');
tz_def('ADM_TOTAL_PLAYERS', 'Total Players');
tz_def('ADM_ONLINE_NOW', 'Online Now');
tz_def('ADM_LAST_5_MIN', 'last 5 minutes');
tz_def('ADM_VILLAGES', 'Villages');
tz_def('ADM_GOLD_IN_GAME', 'Gold in Game');
tz_def('ADM_ACTIVE_BANS', 'Active Bans');
tz_def('ADM_MANAGE', 'manage');
tz_def('ADM_LAST_REGISTRATION', 'Last Registration');
tz_def('ADM_SERVER_CLOCK', 'Server Clock');
tz_def('ADM_SERVER_TIMELINE', 'Server Timeline');
tz_def('ADM_START_DATE', 'Start Date:');
tz_def('ADM_NATARS_C', 'Natars:');
tz_def('ADM_ARTEFACTS_C', 'Artefacts:');
tz_def('ADM_WW_PLANS_C', 'WW Plans:');
tz_def('ADM_SERVER_AGE', 'Server Age:');
tz_def('ADM_NEXT_EVENT', 'Next Event:');
tz_def('ADM_LAST_5_ACTIONS', 'Last 5 Admin Actions');
tz_def('ADM_VIEW_FULL_LOG', 'view full log →');
tz_def('ADM_QUICK_ACTIONS', 'Quick Actions');
tz_def('ADM_QA_SEARCH', '🔍 Search Player');
tz_def('ADM_QA_BAN', '🔨 Ban Manager');
tz_def('ADM_QA_MAP', '🗺 Map');
tz_def('ADM_QA_NATARS', '🏰 Natars');
tz_def('ADM_QA_ADD_USER', '👤 Add User');
tz_def('ADM_QA_SERVER_INFO', '⚙ Server Info');
tz_def('ADM_WORLD_INFO', '🌍 World Information');
tz_def('ADM_REGISTERED_PLAYERS', 'Registered players');
tz_def('ADM_ACTIVE_PLAYERS', 'Active players');
tz_def('ADM_PLAYERS_ONLINE', 'Players online');
tz_def('ADM_PLAYERS_BANNED', 'Players banned');
tz_def('ADM_VILLAGES_SETTLED', 'Villages settled');
tz_def('ADM_TOTAL_POPULATION', 'Total population');
tz_def('ADM_PLAYER_DISTRIBUTION', '👥 Player Distribution');
tz_def('ADM_SERVER_ECONOMY', '💰 Server Economy');
tz_def('ADM_TOTAL_GOLD', 'Total Gold');
tz_def('ADM_AVG_GOLD', 'Avg Gold/player');
tz_def('ADM_SERVER_STARTED', 'Server started');
tz_def('ADM_UPTIME', 'Uptime');
tz_def('ADM_TROOPS_ON_SERVER', '⚔️ Troops on Server (villages + reinforcements)');
tz_def('ADM_ONLINE_USERS_H', '🟢 Online Users');
tz_def('ADM_NO_ONLINE_USERS', 'No online users in last 5 minutes');
tz_def('ADM_USERS_H', '👥 Users');
tz_def('ADM_ALL', 'All');
tz_def('ADM_ADMINS', 'Admins');
tz_def('ADM_NORMAL', 'Normal');
tz_def('ADM_BANNED', 'Banned');
tz_def('ADM_ONLINE', 'Online');
tz_def('ADM_ID', 'ID');
tz_def('ADM_USERNAME', 'Username');
tz_def('ADM_EMAIL', 'Email');
tz_def('ADM_ACCESS', 'Access');
tz_def('ADM_TRIBE', 'Tribe');
tz_def('ADM_GOLD', 'Gold');
tz_def('ADM_LAST_ACTIVITY', 'Last Activity');
tz_def('ADM_PREV', '« Prev');
tz_def('ADM_NEXT', 'Next »');
tz_def('ADM_SEARCH_PH', 'Search...');
tz_def('ADM_ADMIN_SEARCH', 'Admin Search');
tz_def('ADM_SEARCH_HINT', 'Enter name, ID, email or IP...');
tz_def('ADM_SEARCH_BTN', 'Search');
tz_def('ADM_BAN_MANAGEMENT', 'Ban Management');
tz_def('ADM_ACTIVE_USER_BANS', 'Active User Bans');
tz_def('ADM_ACTIVE_IP_BANS', 'Active IP Bans');
tz_def('ADM_HISTORY_50', 'History (last 50)');
tz_def('ADM_ADD_NEW_BAN', 'Add New Ban');
tz_def('ADM_FOREVER', 'Forever');
tz_def('ADM_BAN_USER', 'Ban User');
tz_def('ADM_BAN_IP_ADDRESS', 'Ban IP Address');
tz_def('ADM_BAN_IP', 'Ban IP');
tz_def('ADM_BAN_HISTORY', 'Ban History');
tz_def('ADM_USER_ID', 'User ID');
tz_def('ADM_IPV4_OR_IPV6', 'IPv4 or IPv6');
tz_def('ADM_NOT_ACTIVATED_H', '✉️ Players Not Activated');
tz_def('ADM_ACTIVATION_CODE', 'Activation Code');
tz_def('ADM_ACT2', 'Act2');
tz_def('ADM_TIME', 'Time');
tz_def('ADM_SEARCH_USER_EMAIL', 'Search username or email...');
tz_def('ADM_INACTIVE_USERS', 'Inactive Users');
tz_def('ADM_DELETE_L', 'delete');
tz_def('ADM_BACK_TO_REPORTS', '← Back to reports');
tz_def('ADM_REPORT', 'Report');
tz_def('ADM_VIEW_ARROW', 'view →');
tz_def('ADM_BACK_TO_MESSAGES', '← Back to messages');
tz_def('ADM_SENT_TO', 'Sent to');
tz_def('ADM_MESSAGE', 'Message');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 2: config, editServerSet, editNewFunctions,
// editCronSet, editPlusSet, editLogSet, editNewsboxSet, editExtraSet)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_CRON_AUTOMATION', 'Cron &amp; Automation');
tz_def('ADM_AUTOMATION_SOURCE', 'Automation source');
tz_def('ADM_WHERE_THE_GAME_TICK_BATTLES_MOVEMENTS_TRAINI', 'Where the game tick (battles, movements, training, construction) is processed from. When the cron job is running, players\' page loads no longer carry the processing.');
tz_def('ADM_LAST_CRON_TICK', 'Last cron tick');
tz_def('ADM_WRITTEN_BY_CRON_PHP_ON_EVERY_TICK_INTO_GAMEE', 'Written by cron.php on every tick into GameEngine/Prevention/cron_active.txt. Under 90 seconds means the cron is alive.');
tz_def('ADM_INVOCATION_LENGTH', 'Invocation length');
tz_def('ADM_CRON_LOOP_SECONDS_HOW_LONG_ONE_CRON_PHP_INVO', 'CRON_LOOP_SECONDS - how long one cron.php invocation keeps running. Hosts that only allow a cron every 5 minutes still get a tick every minute this way. 0 = a single tick per invocation.');
tz_def('ADM_TICK_INTERVAL', 'Tick interval');
tz_def('ADM_CRON_TICK_SECONDS_HOW_OFTEN_AUTOMATION_RUNS', 'CRON_TICK_SECONDS - how often Automation runs inside one invocation. Automation itself expects to run about every 60 seconds.');
tz_def('ADM_HTTP_TRIGGER_KEY', 'HTTP trigger key');
tz_def('ADM_CRON_KEY_ONLY_NEEDED_TO_CALL_CRON_PHP_OVER_H', 'CRON_KEY - only needed to call cron.php over HTTP (external cron service). Running it from the server\'s own cron job does not use this key. Generated automatically at install.');
tz_def('ADM_NOT_SET', 'Not set');
tz_def('ADM_SHOW', 'show');
tz_def('ADM_HTTP_TRIGGER_URL', 'HTTP trigger URL');
tz_def('ADM_OPTIONAL_USE_THIS_WITH_AN_EXTERNAL_CRON_SERV', 'Optional. Use this with an external cron service if the host cannot run a local cron job. One HTTP call = one tick.');
tz_def('ADM_HIDDEN_USE_SHOW_ABOVE', 'hidden &ndash; use "show" above');
tz_def('ADM_DATABASE_CLEANUP', 'Database cleanup');
tz_def('ADM_AUTOMATION_TRIMS_TABLES_THAT_WOULD_OTHERWISE', 'Automation trims tables that would otherwise grow forever. Archived reports are never deleted. 0 disables a rule.');
tz_def('ADM_LAST_CLEANUP_RUN', 'Last cleanup run');
tz_def('ADM_CLEANUP_RUNS_ONCE_PER_HOUR_FROM_AUTOMATION_A', 'Cleanup runs once per hour from Automation and deletes in batches, so a first run on an old server catches up over several passes.');
tz_def('ADM_CRON_JOB_COMMAND', 'Cron job command');
tz_def('ADM_ADD_THIS_IN_CPANEL_CRON_JOBS_THE_PATH_IS_DET', 'Add this in cPanel &rarr; Cron Jobs. The path is detected from this installation.');
tz_def('ADM_CURRENT_STATUS', 'Current status');
tz_def('ADM_WHEN_THE_CRON_JOB_IS_NOT_RUNNING_THE_GAME_ST', 'When the cron job is not running, the game still works: players\' page loads process the tick, exactly as before the cron was introduced.');
tz_def('ADM_ADD_THIS_IN_CPANEL_CRON_JOBS_WRITING_TO_CRON', 'Add this in cPanel &rarr; Cron Jobs. Writing to cron.log instead of /dev/null lets you see errors if it fails to start.');
tz_def('ADM_SETTINGS', 'Settings');
tz_def('ADM_INVOCATION_LENGTH_SECONDS', 'Invocation length (seconds)');
tz_def('ADM_0_A_SINGLE_TICK_PER_INVOCATION_MAXIMUM_3300', '0 = a single tick per invocation. Maximum 3300 (55 minutes).');
tz_def('ADM_TICK_INTERVAL_SECONDS', 'Tick interval (seconds)');
tz_def('ADM_HOW_OFTEN_AUTOMATION_RUNS_INSIDE_ONE_INVOCAT', 'How often Automation runs inside one invocation. Automation\'s own guard expects roughly 60 seconds; going lower mostly adds load without processing anything new.');
tz_def('ADM_RECOMMENDED_60_ALLOWED_RANGE_15_900', 'Recommended: 60. Allowed range 15&ndash;900.');
tz_def('ADM_ONLY_NEEDED_WHEN_CALLING_CRON_PHP_OVER_HTTP', 'Only needed when calling cron.php over HTTP (for example from an external cron service). The server\'s own cron job does not use it. Regenerating invalidates any URL you configured elsewhere.');
tz_def('ADM_GENERATE_A_NEW_KEY_ON_SAVE', 'Generate a new key on save');
tz_def('ADM_RUNS_FROM_AUTOMATION_ONCE_PER_HOUR_ROWS_ARE', 'Runs from Automation once per hour. Rows are removed in batches, so the first run on an old server catches up over several passes.');
tz_def('ADM_BATTLE_REPORTS_DAYS', 'Battle reports (days)');
tz_def('ADM_UNARCHIVED_REPORTS_OLDER_THAN_THIS_ARE_DELET', 'Unarchived reports older than this are deleted. Reports a player archived are never touched. 0 disables the rule.');
tz_def('ADM_0_KEEP_FOREVER', '0 = keep forever.');
tz_def('ADM_CHAT_MESSAGES_DAYS', 'Chat messages (days)');
tz_def('ADM_THE_CHAT_WINDOW_ONLY_EVER_SHOWS_THE_LAST_13', 'The chat window only ever shows the last 13 messages per alliance, so older history is not used anywhere in the game.');
tz_def('ADM_DELETED_MESSAGES_DAYS', 'Deleted messages (days)');
tz_def('ADM_ONLY_MESSAGES_DELETED_BY_BOTH_THE_SENDER_AND', 'Only messages deleted by BOTH the sender and the recipient are removed &mdash; they are no longer visible to anyone in the game. Disabled by default.');
tz_def('ADM_0_DISABLED_DEFAULT', '0 = disabled (default).');
tz_def('ADM_NEW_MECHANICS_AND_FUNCTIONS', 'New Mechanics and Functions');
tz_def('ADM_HERO_BASE_REGENERATION', 'Hero base regeneration');
tz_def('ADM_HIT_POINTS_THE_HERO_RECOVERS_PER_DAY_INDEPEN', 'Hit points the hero recovers per day, independent of the regeneration attribute and of equipped items. 0 disables it.');
tz_def('ADM_HP_DAY', 'HP / day');
tz_def('ADM_HERO_EXCHANGE_RATES', 'Hero exchange rates');
tz_def('ADM_RATES_OF_THE_EXCHANGE_OFFICE_IN_THE_AUCTION', 'Rates of the exchange office in the auction house. The difference between the two directions is the house margin, so trading back and forth loses value instead of creating it.');
tz_def('ADM_EXCHANGE_OFFICE_IN_THE_AUCTION_HOUSE_KEEP_TH', 'Exchange office in the auction house. Keep the second value higher than the first, otherwise players could trade back and forth to create gold out of nothing.');
tz_def('ADM_1_GOLD', '1 gold &rarr;');
tz_def('ADM_SILVER_1_GOLD', 'silver &rarr; 1 gold');
tz_def('ADM_HERO_RESOURCE_PRODUCTION', 'Hero resource production');
tz_def('ADM_OF_ONE_TYPE', 'of one type');
tz_def('ADM_DISPLAY_OASIS_IN_PROFILE', 'Display oasis in profile');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_OASES_OF_EACH', 'Enable (Disable) the display of oases of each village in the player profile');
tz_def('ADM_ALLIANCE_INVITATION_MESSAGE', 'Alliance invitation message');
tz_def('ADM_ENABLE_DISABLE_SENDING_AN_IN_GAME_MESSAGE_TO', 'Enable (Disable) sending an in-game message to the player, if he was invited to the alliance');
tz_def('ADM_NEW_ALLIANCE_EMBASSY_MECHANICS', 'New Alliance & Embassy Mechanics');
tz_def('ADM_NEW_FORUM_POST_MESSAGE', 'New forum post message');
tz_def('ADM_ENABLE_DISABLE_FORUM_SUBSCRIPTION_MESSAGES', 'Enable (Disable) forum subscription messages');
tz_def('ADM_TRIBES_IMAGES_IN_PROFILE', 'Tribes images in profile');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_TRIBES', 'Enable (Disable) displaying images of tribes');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_TRIBES_W', 'Enable (Disable) displaying images of tribes with a description in the players profile');
tz_def('ADM_NEW_TRIBE_HUNS', 'New Tribe: Huns');
tz_def('ADM_ENABLE_DISABLE_THE_HUNS_TRIBE', 'Enable (Disable) the Huns tribe');
tz_def('ADM_ENABLE_DISABLE_TRIBE_HUNS', 'Enable (Disable) tribe Huns');
tz_def('ADM_NEW_TRIBE_EGYPTIANS', 'New Tribe: Egyptians');
tz_def('ADM_ENABLE_DISABLE_THE_EGYPTIANS_TRIBE', 'Enable (Disable) the Egyptians tribe');
tz_def('ADM_ENABLE_DISABLE_TRIBE_EGYPTIANS', 'Enable (Disable) tribe Egyptians');
tz_def('ADM_NEW_TRIBE_SPARTANS', 'New Tribe: Spartans');
tz_def('ADM_ENABLE_DISABLE_THE_SPARTANS_TRIBE', 'Enable (Disable) the Spartans tribe');
tz_def('ADM_ENABLE_DISABLE_TRIBE_SPARTANS', 'Enable (Disable) tribe Spartans');
tz_def('ADM_NEW_TRIBE_VIKINGS', 'New Tribe: Vikings');
tz_def('ADM_ENABLE_DISABLE_THE_VIKINGS_TRIBE', 'Enable (Disable) the Vikings tribe');
tz_def('ADM_ENABLE_DISABLE_TRIBE_VIKINGS', 'Enable (Disable) tribe Vikings');
tz_def('ADM_MHS_IMAGES_IN_PROFILE', 'MHs images in profile');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_MULTIHUN', 'Enable (Disable) displaying images of Multihunters');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_MULTIHUN_2', 'Enable (Disable) displaying images of Multihunters with a description in the MHs profile');
tz_def('ADM_DISPLAY_ARTIFACT_IN_PROFILE', 'Display artifact in profile');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_ARTIFACT', 'Enable (Disable) the display of the artifact');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_ARTIFACT_I', 'Enable (Disable) the display of the artifact in the player profile, opposite the corresponding village in which it is located');
tz_def('ADM_DISPLAY_WOW_IN_PROFILE', 'Display WoW in profile');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_WONDER', 'Enable (Disable) the display of the wonder');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_WONDER_IN', 'Enable (Disable) the display of the wonder in the player profile, opposite the corresponding village in which it is located');
tz_def('ADM_VACATION_MODE', 'Vacation Mode');
tz_def('ADM_ENABLE_DISABLE_VACATION_MODE', 'Enable (Disable) vacation mode');
tz_def('ADM_ENABLE_DISABLE_VACATION_MODE_WILL_BE_DISPLAY', 'Enable (Disable) vacation mode, will be displayed or hidden in the player profile menu');
tz_def('ADM_CATAPULT_TARGETS', 'Catapult targets');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_CATAPULT_TARGE', 'Enable (Disable) the display of catapult targets');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_TARGETS_OF', 'Enable (Disable) the display of the targets of the catapults in the rally point that were sent by you');
tz_def('ADM_MANUAL_ON_NATURE_AND_NATARS', 'Manual on Nature and Natars');
tz_def('ADM_ENABLE_DISABLE_MANUAL_INFO', 'Enable (Disable) manual info');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_INFORMATION_IN_THE', 'Enable (Disable) displaying information in the Manual about the troops of Nature and Natars');
tz_def('ADM_DIRECT_LINKS_PLACEMENT', 'Direct links placement');
tz_def('ADM_LEFT_MENU_VS_RIGHT_MENU', 'Left menu vs right menu');
tz_def('ADM_IF_ENABLED_THEN_THE_DIRECT_LINKS_WILL_BE_PLA', 'If Enabled, then the Direct links will be placed in the left menu, if Disabled then Direct links will be placed in the right menu as in the original Travian');
tz_def('ADM_MEDAL_VETERAN_PLAYER', 'Medal Veteran Player');
tz_def('ADM_3_YEARS', '3 years');
tz_def('ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_3', 'Enable (Disable) medal achieved for playing 3 years of Travian');
tz_def('ADM_MEDAL_VETERAN_PLAYER_5A', 'Medal Veteran Player 5a');
tz_def('ADM_5_YEARS', '5 years');
tz_def('ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_5', 'Enable (Disable) medal achieved for playing 5 years of Travian');
tz_def('ADM_MEDAL_VETERAN_PLAYER_10A', 'Medal Veteran Player 10a');
tz_def('ADM_10_YEARS', '10 years');
tz_def('ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_10', 'Enable (Disable) medal achieved for playing 10 years of Travian');
tz_def('ADM_SPECIAL_MEDALS', 'Special Medals');
tz_def('ADM_ENABLE_DISABLE_SPECIAL_MEDALS_ARTIFACT_HERO', 'Enable (Disable) special medals (artifact, hero, ww, wall, great store, etc.)');
tz_def('ADM_SERVER_MILESTONES', 'Server Milestones');
tz_def('ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO', 'Not present in config.php yet &mdash; saving this form once will add it (defaults to False until then).');
tz_def('ADM_SERVER_MEDAL_RESET_TIMER', 'Server Medal Reset Timer');
tz_def('ADM_ENABLE_DISABLE_THE_SERVER_MEDAL_RESET_TIMER', 'Enable (Disable) the "Server Medal Reset Timer" widget in Player Top 10 and Alliance Top 10');
tz_def('ADM_T4_HERO_ITEMS_ADVENTURES_AUCTION', 'T4 Hero (items, adventures, auction)');
tz_def('ADM_ENABLE_DISABLE_THE_T4_HERO_ITEMS_ADVENTURES', 'Enable (Disable) the "T4 Hero (items, adventures, auction)" System');
tz_def('ADM_REGISTRATION_BONUS_GOLD', 'Registration Bonus Gold');
tz_def('ADM_GIVE_EVERY_NEWLY_REGISTERED_PLAYER_A_ONE_TIM', 'Give every newly registered player a one-time gold bonus at account creation');
tz_def('ADM_REGISTRATION_BONUS_GOLD_AMOUNT', 'Registration Bonus Gold &ndash; amount');
tz_def('ADM_HOW_MUCH_GOLD_EACH_NEW_PLAYER_RECEIVES_WHEN', 'How much gold each new player receives when the bonus is enabled');
tz_def('ADM_ENABLE_DISABLE_A_ONE_TIME_GOLD_BONUS_GRANTED', 'Enable (Disable) a one-time gold bonus granted to every newly registered player at account creation (system accounts id&le;3 are skipped). The amount is set in the field below.');
tz_def('ADM_HOW_MUCH_GOLD_EACH_NEW_PLAYER_RECEIVES_WHEN_2', 'How much gold each new player receives when the toggle above is True. Default: 200.');
tz_def('ADM_FOR_THIS_SETTING_YOU_CAN_FIND_MORE_INFORMATI', 'For this setting, you can find more information on the link:');
tz_def('ADM_EDIT_CRON_AUTOMATION', 'Edit Cron &amp; Automation');
tz_def('ADM_EDIT_NEW_MECHANICS_AND_FUNCTIONS', 'Edit New Mechanics and Functions');
tz_def('ADM_ENGLISH', 'English');
tz_def('ADM_FRENCH', 'French');
tz_def('ADM_ITALIAN', 'Italian');
tz_def('ADM_ROMANIAN', 'Romanian');
tz_def('ADM_CHINESE', 'Chinese');
tz_def('ADM_SLOW', 'Slow');
tz_def('ADM_FAST', 'Fast');
tz_def('ADM_2_HOURS', '2 hours');
tz_def('ADM_3_HOURS', '3 hours');
tz_def('ADM_5_HOURS', '5 hours');
tz_def('ADM_8_HOURS', '8 hours');
tz_def('ADM_10_HOURS', '10 hours');
tz_def('ADM_12_HOURS', '12 hours');
tz_def('ADM_16_HOURS', '16 hours');
tz_def('ADM_20_HOURS', '20 hours');
tz_def('ADM_24_HOURS_1_DAY', '24 hours (1 day)');
tz_def('ADM_48_HOURS_2_DAYS', '48 hours (2 days)');
tz_def('ADM_72_HOURS_3_DAYS', '72 hours (3 days)');
tz_def('ADM_120_HOURS_5_DAYS', '120 hours (5 days)');
tz_def('ADM_TRUE', 'True');
tz_def('ADM_FALSE', 'False');
tz_def('ADM_YES', 'Yes');
tz_def('ADM_NO', 'No');
tz_def('ADM_TRAVIAN_OFFICIAL', 'Travian Official');
tz_def('ADM_TRAVIANZ_EXTENDED', 'TravianZ Extended');
tz_def('ADM_10_DEFAULT', '10 - Default');
tz_def('ADM_NONE', 'none');
tz_def('ADM_1_DAY', '1 day');
tz_def('ADM_2_DAYS', '2 days');
tz_def('ADM_3_DAYS', '3 days');
tz_def('ADM_4_DAYS', '4 days');
tz_def('ADM_5_DAYS', '5 days');
tz_def('ADM_6_DAYS', '6 days');
tz_def('ADM_7_DAYS', '7 days');
tz_def('ADM_NONE_2', 'None');
tz_def('ADM_CHRISTMAS', 'Christmas');
tz_def('ADM_NEW_YEAR', 'New Year');
tz_def('ADM_EASTER', 'Easter');
tz_def('ADM_ENABLE', 'Enable');
tz_def('ADM_DISABLE', 'Disable');
tz_def('ADM_SAVE', 'SAVE');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 3: player, editHero, editHeroT4,
// playerheroinfo, village, troops, editVillage, editUser, deletion, editSitter)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_START', 'Start');
tz_def('ADM_END', 'End');
tz_def('ADM_DURATION', 'Duration');
tz_def('ADM_REASON', 'Reason');
tz_def('ADM_PLAYER', 'Player:');
tz_def('ADM_BASIC_INFO', '📝 Basic Info');
tz_def('ADM_HERO_NAME', 'Hero Name');
tz_def('ADM_HERO_UNIT', 'Hero Unit');
tz_def('ADM_HEALTH', '❤ Health');
tz_def('ADM_EXPERIENCE', '✨ Experience');
tz_def('ADM_CURRENT_STATS', '📈 Current Stats');
tz_def('ADM_LEVEL', 'Level:');
tz_def('ADM_OF', 'of');
tz_def('ADM_FREE', '(free:');
tz_def('ADM_OFFENCE', 'Offence:');
tz_def('ADM_DEFENCE', 'Defence:');
tz_def('ADM_OFF_BONUS', 'Off-Bonus:');
tz_def('ADM_DEF_BONUS', '| Def-Bonus:');
tz_def('ADM_REGEN', 'Regen:');
tz_def('ADM_RESOURCES', 'Resources:');
tz_def('ADM_ADD_POINTS', '⚔ Add Points');
tz_def('ADM_ATTRIBUTE', 'Attribute');
tz_def('ADM_CURRENT', 'Current');
tz_def('ADM_ADD', 'Add');
tz_def('ADM_NEW', 'New');
tz_def('ADM_PRODUCED_RESOURCE', 'Produced resource');
tz_def('ADM_LEVEL_NOU', 'Level nou:');
tz_def('ADM_BACK', '← Back');
tz_def('ADM_SAVE_HERO', '💾 Save Hero');
tz_def('ADM_CLASSIC_HERO_EDITOR', '&laquo; classic hero editor');
tz_def('ADM_ACTION_COMPLETED', 'Action completed.');
tz_def('ADM_ACTION_FAILED_CHECK_THE_VALUES_AND_TRY_AGAIN', 'Action failed (check the values and try again).');
tz_def('ADM_SILVER', 'Silver');
tz_def('ADM_SET_BALANCE', 'Set balance');
tz_def('ADM_GRANT_ITEM', 'Grant item');
tz_def('ADM_QTY', 'Qty:');
tz_def('ADM_GRANT', 'Grant');
tz_def('ADM_ROW', 'Row');
tz_def('ADM_ITEM', 'Item');
tz_def('ADM_SLOT', 'Slot');
tz_def('ADM_QTY_2', 'Qty');
tz_def('ADM_EQUIPPED', 'Equipped');
tz_def('ADM_DELETE', 'Delete');
tz_def('ADM_AUCTION', 'Auction');
tz_def('ADM_ROLE', 'Role');
tz_def('ADM_PRICE', 'Price');
tz_def('ADM_ENDS', 'Ends');
tz_def('ADM_CANCEL', 'Cancel');
tz_def('ADM_ADVENTURES', 'Adventures');
tz_def('ADM_RUNNING', 'Running:');
tz_def('ADM_OFFER', 'Offer');
tz_def('ADM_DIFFICULTY', 'Difficulty');
tz_def('ADM_EXPIRES', 'Expires');
tz_def('ADM_REMOVE', 'Remove');
tz_def('ADM_PLAYER_HEROES', 'Player Heroes');
tz_def('ADM_NONE_3', 'None &nbsp;&nbsp;');
tz_def('ADM_ADD_HERO', 'Add Hero');
tz_def('ADM_HERO_LEVEL', 'Hero Level');
tz_def('ADM_STATUS', 'Status');
tz_def('ADM_ALIVE', 'Alive');
tz_def('ADM_DEAD', 'Dead');
tz_def('ADM_DETAILS', 'Details');
tz_def('ADM_POINT', 'Point');
tz_def('ADM_LEVEL_2', 'Level');
tz_def('ADM_OFFENCE_2', 'Offence');
tz_def('ADM_DEFENCE_2', 'Defence');
tz_def('ADM_OFF_BONUS_2', 'Off-Bonus');
tz_def('ADM_DEF_BONUS_2', 'Def-Bonus');
tz_def('ADM_REGENERATION', 'Regeneration');
tz_def('ADM_RESOURCES_2', 'Resources');
tz_def('ADM_HEALTH_2', 'Health');
tz_def('ADM_EDIT', 'Edit');
tz_def('ADM_T4_ITEMS_SILVER_AUCTIONS', 'T4 items / silver / auctions');
tz_def('ADM_KILL', 'Kill');
tz_def('ADM_REVIVE', 'Revive');
tz_def('ADM_VILLAGE_INFORMATION', 'Village Information');
tz_def('ADM_OWNER', 'Owner');
tz_def('ADM_NAME', 'Name');
tz_def('ADM_POPULATION', 'Population');
tz_def('ADM_COORDS', 'Coords');
tz_def('ADM_FIELD', 'Field');
tz_def('ADM_RES', 'Res');
tz_def('ADM_AMT', 'Amt');
tz_def('ADM_CAP', 'Cap');
tz_def('ADM_PROD', 'Prod');
tz_def('ADM_WOOD', 'Wood');
tz_def('ADM_CLAY', 'Clay');
tz_def('ADM_IRON', 'Iron');
tz_def('ADM_CROP', 'Crop');
tz_def('ADM_EXPANSION', 'Expansion');
tz_def('ADM_VILLAGE', 'Village');
tz_def('ADM_POP', 'Pop');
tz_def('ADM_CP', 'CP');
tz_def('ADM_OASIS', 'Oasis');
tz_def('ADM_LOY', 'Loy');
tz_def('ADM_BONUS', 'Bonus');
tz_def('ADM_TROOPS', 'Troops');
tz_def('ADM_UPGRADES', 'Upgrades');
tz_def('ADM_ARTIFACT', 'Artifact');
tz_def('ADM_RESOURCE_FIELDS', 'Resource Fields');
tz_def('ADM_BUILDINGS', 'Buildings');
tz_def('ADM_GID', 'GID');
tz_def('ADM_LVL', 'Lvl');
tz_def('ADM_VILLAGE_BUILD_LOG', 'Village Build Log →');
tz_def('ADM_CHANGE', 'Change');
tz_def('ADM_RENAME', 'Rename');
tz_def('ADM_SHOW_INSTRUCTIONS', 'Show Instructions');
tz_def('ADM_RESOURCE_FIELDS_1_18', 'Resource Fields (1-18)');
tz_def('ADM_VILLAGE_CENTER_19_38', 'Village Center (19-38)');
tz_def('ADM_MODIFY_BUILDINGS', 'Modify Buildings');
tz_def('ADM_SAVE_CHANGES', 'Save Changes');
tz_def('ADM_CURRENT_LAYOUT_PREVIEW', 'Current Layout Preview');
tz_def('ADM_VILLAGE_CENTER', 'Village Center');
tz_def('ADM_EDIT_PLAYER', '✏️ Edit Player:');
tz_def('ADM_ACCOUNT_DETAILS', '👤 Account Details');
tz_def('ADM_USERNAME_2', '👤 Username');
tz_def('ADM_SAVE_2', '💾 Save');
tz_def('ADM_TRIBE_2', '⚔️ Tribe');
tz_def('ADM_1_ROMAN', '1. Roman');
tz_def('ADM_2_TEUTON', '2. Teuton');
tz_def('ADM_3_GAUL', '3. Gaul');
tz_def('ADM_4_NATURE', '4. Nature');
tz_def('ADM_5_NATARS', '5. Natars');
tz_def('ADM_6_HUN', '6. Hun');
tz_def('ADM_7_EGYPTIAN', '7. Egyptian');
tz_def('ADM_8_SPARTAN', '8. Spartan');
tz_def('ADM_9_VIKING', '9. Viking');
tz_def('ADM_LOCATION', '📍 Location');
tz_def('ADM_E_MAIL', '✉️ E-mail');
tz_def('ADM_QUEST', '🎯 Quest');
tz_def('ADM_PROFILE_DESCRIPTION_LEFT', '📝 Profile Description (left)');
tz_def('ADM_PROFILE_DESCRIPTION_RIGHT', '📄 Profile Description (right)');
tz_def('ADM_SUPORT_BBCODE_FOLOSE_TE_ENTER_PENTRU_LINII_N', 'Suport BBCode. Folosește Enter pentru linii noi.');
tz_def('ADM_MEDALS', '🏅 Medals');
tz_def('ADM_CATEGORY', 'Category');
tz_def('ADM_RANK', 'Rank');
tz_def('ADM_WEEK', 'Week');
tz_def('ADM_BB_CODE', 'BB-Code');
tz_def('ADM_BEGINNERS_PROTECTION', 'Beginners Protection');
tz_def('ADM_SAVE_CHANGES_2', '💾 Save Changes');
tz_def('ADM_GO_BACK_TO_PLAYER', '« Go back to player');
tz_def('ADM_CHANGE_USERNAME', 'Change Username');
tz_def('ADM_DELETE_PLAYER_PERMANENTLY', 'DELETE PLAYER PERMANENTLY');
tz_def('ADM_THIS_ACTION_CANNOT_BE_UNDONE', 'This action cannot be undone!');
tz_def('ADM_PLAYER_TO_DELETE', '🗑️ Player to delete');
tz_def('ADM_PLUS_ENDS', 'Plus ends');
tz_def('ADM_WARNING', 'WARNING:');
tz_def('ADM_PERMANENTLY', 'permanently');
tz_def('ADM_DELETED_THERE_IS_NO_RECOVERY', 'deleted. There is no recovery!');
tz_def('ADM_CONFIRM_WITH_YOUR_ADMIN_PASSWORD', 'Confirm with your admin password:');
tz_def('ADM_CANCEL_2', '← Cancel');
tz_def('ADM_DELETE_PLAYER', '🗑️ DELETE PLAYER');
tz_def('ADM_EDIT_SITTERS', 'Edit Sitters:');
tz_def('ADM_SITTER_SETTINGS', '⚙️ Sitter Settings');
tz_def('ADM_USE_THE_PLAYER_S_UID_ENTER', '💡 Use the player\'s UID. Enter');
tz_def('ADM_TO_DELETE_THE_SITTER_YOU_CAN_FIND_THE_UID_IN', 'to delete the sitter. You can find the UID in Search.');
tz_def('ADM_SITTER_1', '👤 Sitter 1');
tz_def('ADM_SITTER_2', '👤 Sitter 2');
tz_def('ADM_SAVE_SITTERS', '💾 Save Sitters');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 4: gold, usergold, givePlus, givePlusRes,
// punish, maintenance, resetServer, cleanban, massmessage, sysmessage)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_GOLD_MANAGEMENT', 'Gold Management');
tz_def('ADM_GIVE_EVERYONE_FREE_GOLD', 'Give Everyone Free Gold');
tz_def('ADM_THIS_GOLD_WILL_BE_ADDED_TO_ALL_ACTIVE_PLAYER', 'This gold will be added to ALL active players on the server.');
tz_def('ADM_GIVE_GOLD', 'Give Gold');
tz_def('ADM_GOLD_HAS_BEEN_SUCCESSFULLY_ADDED_TO_ALL_PLAY', '✓ Gold has been successfully added to all players!');
tz_def('ADM_USER_GOLD', 'User Gold');
tz_def('ADM_GIVE_GOLD_TO_SPECIFIC_PLAYER', 'Give Gold to Specific Player');
tz_def('ADM_ADD_GOLD_ONLY_FOR_SINGLE_ACCOUNT_AFTER_ID', 'Add gold only for single account (after ID).');
tz_def('ADM_AMOUNT_GOLD', 'Amount Gold');
tz_def('ADM_GOLD_SUCCESSFULLY_ADDED_FOR_USER', '✓ Gold successfully added for user!');
tz_def('ADM_PLUS_MANAGEMENT', 'Plus Management');
tz_def('ADM_GIVE_EVERYONE_FREE_PLUS', 'Give Everyone Free Plus');
tz_def('ADM_ACTIVATE_TRAVIAN_PLUS_FOR_ALL_PLAYERS_ON_THE', 'Activate Travian Plus for ALL players on the server.');
tz_def('ADM_DAYS', 'Days');
tz_def('ADM_GIVE_PLUS', 'Give Plus');
tz_def('ADM_PLUS_HAS_BEEN_SUCCESSFULLY_ACTIVATED_FOR_ALL', '✓ Plus has been successfully activated for all players!');
tz_def('ADM_RESOURCE_BONUS', 'Resource Bonus');
tz_def('ADM_GIVE_EVERYONE_RESOURCE_BONUS', 'Give Everyone Resource Bonus');
tz_def('ADM_ACTIVATE_A_25_BONUS_FOR_ALL_RESOURCES_FOR_AL', 'Activate a 25% bonus for all resources for ALL players.');
tz_def('ADM_DAYS_2', 'days');
tz_def('ADM_GIVE_RESOURCE_BONUS', 'Give Resource Bonus');
tz_def('ADM_RESOURCE_BONUSES_HAVE_BEEN_ACTIVATED_FOR_ALL', '✓ Resource bonuses have been activated for all players!');
tz_def('ADM_PUNISH_PLAYER', 'Punish Player');
tz_def('ADM_OK', 'OK');
tz_def('ADM_DELETE_TROOPS', 'Delete Troops');
tz_def('ADM_EMPTY_WAREHOUSES', 'Empty Warehouses');
tz_def('ADM_STARTED_BY', 'Started by:');
tz_def('ADM_UID', '(UID:');
tz_def('ADM_ENABLE_MAINTENANCE', 'Enable maintenance');
tz_def('ADM_DISABLE_MAINTENANCE', 'Disable maintenance');
tz_def('ADM_STOP', 'Stop');
tz_def('ADM_SERVER_RESETTING', '⚠️ Server Resetting');
tz_def('ADM_WARNING_IRREVERSIBLE_ACTION', 'WARNING! Irreversible action');
tz_def('ADM_THIS_OPERATION_WILL_DELETE_ALL_DATA_PLAYERS', 'This operation will delete ALL data: players, watches, allies, reports. The server will be reset for a new game.');
tz_def('ADM_THIS_SERVER_WILL_BE_RESET_TO_CREATE_NEW_GAME', 'This server will be reset to create new game server.');
tz_def('ADM_CLICK_BUTTON', 'Click button');
tz_def('ADM_RESET', 'Reset');
tz_def('ADM_TO_PROCEED', 'to proceed.');
tz_def('ADM_PLEASE_WAIT_WHILE_THE_SERVER_IS_BEING_RESET', 'Please wait... while the server is being reset');
tz_def('ADM_BACK_2', '« Back');
tz_def('ADM_RESET_SERVER', 'Reset Server');
tz_def('ADM_CLEAR_BANLIST_DATA', 'Clear Banlist - Data');
tz_def('ADM_TRUNCATE', '(TRUNCATE)');
tz_def('ADM_CLEAN', 'Clean');
tz_def('ADM_SEND_MESSAGE_TO_ALL_PLAYERS', 'Send Message to All Players');
tz_def('ADM_CONFIRM', 'Confirm:');
tz_def('ADM_ARE_YOU_SURE_YOU_WANT_TO_SEND', 'Are you sure you want to send?');
tz_def('ADM_SUBJECT', 'Subject:');
tz_def('ADM_YES_SEND', '✓ Yes, Send');
tz_def('ADM_SENDING_MESSAGES', 'Sending messages...');
tz_def('ADM_SUBJECT_2', 'Subject');
tz_def('ADM_MESSAGE_COLOR', 'Message Color');
tz_def('ADM_MESSAGE_CONTENT', 'Message Content');
tz_def('ADM_CONTINUA', 'Continua');
tz_def('ADM_MASS_MESSAGE_SUCCESSFULLY_SENT_TO_ALL_PLAYER', '✓ Mass message successfully sent to all players!');
tz_def('ADM_EX_MAINTENANCE', 'ex: Maintenance');
tz_def('ADM_BLACK_SAU_E67E22', 'black sau #e67e22');
tz_def('ADM_WRITE_THE_MESSAGE_YOU_CAN_USE_URL_IMG', 'Write the message... you can use [url][img]');
tz_def('ADM_CONFIRMARE_SYSTEM_MESSAGE', 'Confirmare system message');
tz_def('ADM_COLOR', 'Color:');
tz_def('ADM_SEND_SYSTEM_MESSAGE', '✓ Send System Message');
tz_def('ADM_SENDING_SYSTEM_MESSAGE', 'Sending system message...');
tz_def('ADM_COLOR_2', 'Color');
tz_def('ADM_CONTINUE', 'Continue');
tz_def('ADM_SYSTEM_MESSAGE_SENT_SUCCESSFULLY', '✓ System message sent successfully');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 5: alliance, editAli, delAli, allymedals,
// delallymedal, playermedals, delmedal, admin_log, debug_log, techlog)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_FOUNDER', '👑 Founder:');
tz_def('ADM_MEMBERS', '👥 Members:');
tz_def('ADM_POINTS', '🏆 Points:');
tz_def('ADM_ALLIANCE_DETAILS', '📋 Alliance Details');
tz_def('ADM_TAG', 'Tag');
tz_def('ADM_POINTS_2', 'Points');
tz_def('ADM_CAPACITY', 'Capacity');
tz_def('ADM_ALLIANCE_POSITIONS', '🛡 Alliance Positions');
tz_def('ADM_EDIT_ALLIANCE', '✏ Edit Alliance');
tz_def('ADM_DELETE_2', '🗑 Delete');
tz_def('ADM_ALLIANCE_DESCRIPTION', '📖 Alliance Description');
tz_def('ADM_ALLIANCE_NOTICE', '📢 Alliance Notice');
tz_def('ADM_PLAYER_2', 'Player');
tz_def('ADM_ALLIANCE_NEWS', '📰 Alliance News');
tz_def('ADM_EVENT', 'Event');
tz_def('ADM_DIPLOMACY', '🤝 Diplomacy');
tz_def('ADM_TYPE', 'Type');
tz_def('ADM_EDIT_ALLIANCE_2', '✏️ Edit Alliance:');
tz_def('ADM_BASIC_SETTINGS', '⚙️ Basic Settings');
tz_def('ADM_ALLIANCE_TAG_MAX_8', 'Alliance Tag (max 8)');
tz_def('ADM_ALLIANCE_NAME', 'Alliance Name');
tz_def('ADM_LEADER_FOUNDER', '👑 Leader (Founder)');
tz_def('ADM_SCHIMB_FONDATORUL_ALIAN_EI', 'Schimbă fondatorul alianței');
tz_def('ADM_MAX_MEMBERS', '👥 Max Members');
tz_def('ADM_ALLIANCE_NOTICE_APARE_SUS', '📢 Alliance Notice (apare sus)');
tz_def('ADM_ALLIANCE_DESCRIPTION_PAGINA_PUBLIC', '📖 Alliance Description (pagina publică)');
tz_def('ADM_SAVE_ALLIANCE', '💾 Save Alliance');
tz_def('ADM_MESAJ_SCURT_PENTRU_MEMBRI', 'Mesaj scurt pentru membri...');
tz_def('ADM_DESCRIERE_LUNG_BBCODE_PERMIS', 'Descriere lungă, BBCode permis...');
tz_def('ADM_DELETE_ALLIANCE', '🗑 Delete Alliance');
tz_def('ADM_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE', 'Are you sure you want to permanently delete?:');
tz_def('ADM_MEMBERS_2', 'Members:');
tz_def('ADM_POINTS_3', '| Points:');
tz_def('ADM_ALL_MEMBERS_WILL_BE_REMOVED_FROM_THE_ALLIANC', '⚠ All members will be removed from the alliance, permissions, diplomacy, logs and the alliance forum will be deleted. The action is irreversible!');
tz_def('ADM_YES_DELETE', 'YES, DELETE');
tz_def('ADM_MEDAL', 'Medal');
tz_def('ADM_THIS_ALLIANCE_HAS_NO_MEDALS_YET', 'This alliance has no medals yet');
tz_def('ADM_AVERAGE_RANK', 'Average Rank');
tz_def('ADM_DELETE_ALL', 'Delete All');
tz_def('ADM_MEDAL_INFORMATION', 'Medal Information');
tz_def('ADM_MEDALS_2', 'Medals');
tz_def('ADM_MEDAL_WEEK_BY_WEEK', 'Medal Week by Week');
tz_def('ADM_CATEGORY_2', 'CATEGORY');
tz_def('ADM_RANK_2', 'RANK');
tz_def('ADM_WEEK_2', 'WEEK');
tz_def('ADM_POINTS_4', 'POINTS');
tz_def('ADM_MEDAL_2', 'MEDAL');
tz_def('ADM_THIS_PLAYER_HAS_NO_MEDALS_YET', 'This player has no medals yet');
tz_def('ADM_UNIFIED_ADMIN_LOG_LAST_300_ACTIONS', '📋 Unified Admin Log last 300 actions');
tz_def('ADM_CATEGORIE', 'Categorie');
tz_def('ADM_DETALII', 'Detalii');
tz_def('ADM_DATA', 'Data');
tz_def('ADM_DEBUG_ERROR_LOG', '🐞 Debug Error Log');
tz_def('ADM_CAPTURE_IS', 'Capture is');
tz_def('ADM_AUTO_OFF', 'Auto-off:');
tz_def('ADM_LOG_SIZE', 'Log size:');
tz_def('ADM_TRANSPARENT_TO_PLAYERS_ERRORS_ARE_ONLY_WRITT', 'Transparent to players: errors are only written to the log file, never shown in-game and gameplay is unaffected.');
tz_def('ADM_CAPTURE_SETTINGS', 'Capture settings');
tz_def('ADM_WARNINGS', 'Warnings');
tz_def('ADM_NOTICES', 'Notices');
tz_def('ADM_DEPRECATED', 'Deprecated');
tz_def('ADM_FATAL_ERRORS', 'Fatal errors');
tz_def('ADM_MAX_FILE_SIZE_MB', 'Max file size (MB):');
tz_def('ADM_AUTO_OFF_AFTER_HOURS_0_NEVER', 'Auto-off after (hours, 0 = never):');
tz_def('ADM_SAVE_SETTINGS', 'Save settings');
tz_def('ADM_BEYOND_THE_SIZE_CAP_THE_FILE_IS_ROTATED_TO_A', 'Beyond the size cap the file is rotated to a single');
tz_def('ADM_BACKUP_SO_THE_TOTAL_VOLUME_STAYS_BOUNDED', 'backup, so the total volume stays bounded.');
tz_def('ADM_DOWNLOAD_FULL_LOG', '⬇ Download full log');
tz_def('ADM_CLEAR_LOG', '🗑 Clear log');
tz_def('ADM_REFRESH', '↻ Refresh');
tz_def('ADM_BACK_TO_VILLAGE', '← Back to Village');
tz_def('ADM_RESEARCH_LOG', '— Research Log');
tz_def('ADM_LATEST_200_SEARCHES', 'Latest 200 searches');
tz_def('ADM_NO_REGISTERED_SEARCHES', 'No registered searches.');
tz_def('ADM_TECH', 'TECH');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 6: editAccess, editPassword, editProtection,
// editPlus, editWeek, editOverall, editAdditional, results_player/alliances/villages)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_CHANGE_ACCESS', 'Change Access');
tz_def('ADM_NORMAL_USER', 'Normal User');
tz_def('ADM_MULTIHUNTER', 'Multihunter');
tz_def('ADM_GIVE_PLAYERS_FREE_GOLD', 'Give Players Free Gold');
tz_def('ADM_CHANGE_PASSWORD', 'Change Password:');
tz_def('ADM_THE_PASSWORD_IS_CHANGED_INSTANTLY_THE_PLAYER', 'The password is changed instantly. The player will be logged out. No automatic email is sent.');
tz_def('ADM_NEW_PASSWORD', 'New Password');
tz_def('ADM_GENERATE_SECURE_PASSWORD', '🎲 Generate secure password');
tz_def('ADM_CHANGE_PASSWORD_2', '🔐 Change Password');
tz_def('ADM_INTRODU_PAROLA_NOU', 'Introdu parola nouă');
tz_def('ADM_SHOW_HIDE', 'Show/Hide');
tz_def('ADM_PROTECTION', 'Protection:');
tz_def('ADM_CURRENT_STATUS_2', 'Current Status');
tz_def('ADM_1_DAY_2', '+1 day');
tz_def('ADM_3_DAYS_2', '+3 days');
tz_def('ADM_7_DAYS_2', '+7 days');
tz_def('ADM_SET_TO_0_TO_REMOVE_PROTECTION_PROTECTION_IS', '💡 Set to 0 to remove protection. Protection is added from the time of saving.');
tz_def('ADM_SAVE_PROTECTION', '💾 Save Protection');
tz_def('ADM_PLUS_BONUSES', '⭐ Plus & Bonuses:');
tz_def('ADM_THE_VALUES_ADD_UP_PUT_5_TO_ADD_5_DAYS_5_TO_R', '️ The values add up. Put 5 to add 5 days, -5 to remove 5 days.');
tz_def('ADM_CURRENT_ACTIVE_BONUSES', '📊 Current Active Bonuses');
tz_def('ADM_ADD_REMOVE_DAYS', ' Add / Remove Days');
tz_def('ADM_APPLY_BONUSES', '💾 Apply Bonuses');
tz_def('ADM_WEEKLY_STATS', 'Weekly Stats:');
tz_def('ADM_ACESTEA_SUNT_PUNCTELE', '📊 Acestea sunt punctele');
tz_def('ADM_DIN_S_PT_M_NA_CURENT', 'din săptămâna curentă');
tz_def('ADM_PENTRU_TOP_10_SE_RESETEAZ_AUTOMAT', 'pentru top 10. Se resetează automat.');
tz_def('ADM_ATTACK', 'Attack');
tz_def('ADM_RAID', 'Raid');
tz_def('ADM_SAVE_WEEK', '💾 Save Week');
tz_def('ADM_OVERALL_POINTS', 'Overall Points:');
tz_def('ADM_ACESTEA_SUNT_PUNCTELE_2', '🛡️ Acestea sunt punctele');
tz_def('ADM_TOTALE', 'totale');
tz_def('ADM_DIN_STATISTICI_NU_CELE_S_PT_M_NALE_SE_ADUN_D', 'din statistici (nu cele săptămânale). Se adună din toate atacurile.');
tz_def('ADM_ATTACK_POINTS', 'Attack Points');
tz_def('ADM_DEFENCE_POINTS', 'Defence Points');
tz_def('ADM_SAVE_POINTS', '💾 Save Points');
tz_def('ADM_EDIT_ADDITIONAL', '⚙️ Edit Additional:');
tz_def('ADM_ACCOUNT_CONTROL', '🔐 Account Control');
tz_def('ADM_ACCESS_LEVEL', 'Access Level');
tz_def('ADM_0_BANNED', '0 - Banned');
tz_def('ADM_2_NORMAL_USER', '2 - Normal User');
tz_def('ADM_8_MULTIHUNTER', '8 - Multihunter');
tz_def('ADM_9_ADMIN', '9 - Admin');
tz_def('ADM_VACATION_MODE_2', '🏖 Vacation Mode');
tz_def('ADM_0_DISABLED', '0 - Disabled');
tz_def('ADM_1_ENABLED', '1 - Enabled');
tz_def('ADM_PROTECTION_2', '🛡️ Protection');
tz_def('ADM_ZILE', 'zile');
tz_def('ADM_SITTERS', '👥 Sitters');
tz_def('ADM_SITTER_1_UID', 'Sitter 1 (UID)');
tz_def('ADM_SITTER_2_UID', 'Sitter 2 (UID)');
tz_def('ADM_STATISTICS_POINTS', '📊 Statistics & Points');
tz_def('ADM_CULTURE_POINTS', '🏛️ Culture Points');
tz_def('ADM_ATTACK_POINTS_2', '⚔️ Attack Points');
tz_def('ADM_DEFENCE_POINTS_2', '🛡️ Defence Points');
tz_def('ADM_RESOURCES_RAIDED', '💎 Resources Raided');
tz_def('ADM_TOTAL_ATTACK', '⚔️ Total Attack');
tz_def('ADM_TOTAL_DEFENCE', '🛡️ Total Defence');
tz_def('ADM_GOLD_2', 'gold');
tz_def('ADM_UID_2', 'UID');
tz_def('ADM_PLAYER_3', 'PLAYER');
tz_def('ADM_VILLAGES_2', 'VILLAGES');
tz_def('ADM_POP_2', 'POP');
tz_def('ADM_AID', 'AID');
tz_def('ADM_NAME_2', 'NAME');
tz_def('ADM_TAG_2', 'TAG');
tz_def('ADM_FOUNDER_2', 'FOUNDER');
tz_def('ADM_VILLAGE_NAME', 'VILLAGE NAME');
tz_def('ADM_OWNER_2', 'OWNER');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 7: natars, map, map_tile, artifact,
// goldShop, questEditor, multiacc, pushprot, blockReg, heatmap)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_WW_VILLAGES', '🏰 WW Villages');
tz_def('ADM_NUMBER', 'Number');
tz_def('ADM_PLAYER_ID', 'Player ID');
tz_def('ADM_ADD_ARTIFACTS', '✨ Add Artifacts');
tz_def('ADM_ICON', 'Icon');
tz_def('ADM_DELETED_ARTIFACTS', '🗑️ Deleted Artifacts');
tz_def('ADM_EFFECT', 'Effect');
tz_def('ADM_OLD_OWNER', 'Old Owner');
tz_def('ADM_OLD_VILLAGE', 'Old Village');
tz_def('ADM_ARTIFACTS_OVERVIEW', '📊 Artifacts Overview');
tz_def('ADM_RESTORE', 'Restore');
tz_def('ADM_INTERACTIVE_WORLD_MAP_SEARCH_PLAYERS_VILLAGE', 'Interactive world map search players, villages and artifacts');
tz_def('ADM_PLAYERS', 'Players');
tz_def('ADM_ARTIFACTS', 'Artifacts');
tz_def('ADM_APPLY_FILTERS', 'Apply Filters');
tz_def('ADM_TRIBES', 'Tribes');
tz_def('ADM_MULTIHUNTERS', 'Multihunters');
tz_def('ADM_CHECK_EDIT_MAP_TILE', 'Check & Edit Map Tile');
tz_def('ADM_CHECK_TILE', 'Check Tile');
tz_def('ADM_AREA_OF_EFFECT', 'Area of effect');
tz_def('ADM_TIME_OF_CONQUER', 'Time of conquer');
tz_def('ADM_TIME_OF_ACTIVATION', 'Time of activation');
tz_def('ADM_RETURN_TO_NATARS', 'Return to Natars');
tz_def('ADM_SHOP_PROMO_CODES', 'Shop &amp; Promo Codes');
tz_def('ADM_DIRECTLY', 'directly.');
tz_def('ADM_CREATE_A_CODE', 'Create a code');
tz_def('ADM_CODE', 'Code');
tz_def('ADM_MAX_USES_0', 'Max uses (0 = &infin;)');
tz_def('ADM_EXPIRES_IN_DAYS_0_NEVER', 'Expires in (days, 0 = never)');
tz_def('ADM_ONCE_PER_PLAYER', 'once per player');
tz_def('ADM_NOTE_OPTIONAL', 'Note (optional)');
tz_def('ADM_CREATE', 'Create');
tz_def('ADM_CODES_ARE_CASE_INSENSITIVE_ALLOWED_CHARACTER', 'Codes are case-insensitive; allowed characters: A-Z 0-9 . _ &ndash;');
tz_def('ADM_NO_PROMO_CODES_YET', 'No promo codes yet.');
tz_def('ADM_USES', 'Uses');
tz_def('ADM_SCOPE', 'Scope');
tz_def('ADM_NOTE', 'Note');
tz_def('ADM_RECENT_REDEMPTIONS', 'Recent redemptions');
tz_def('ADM_NO_REDEMPTIONS_YET', 'No redemptions yet.');
tz_def('ADM_WHEN', 'When');
tz_def('ADM_REASON_CAMPAIGN', 'reason / campaign');
tz_def('ADM_QUEST_2', 'Quest');
tz_def('ADM_EDITOR', 'Editor');
tz_def('ADM_QTYP_37', 'qtyp&nbsp;37');
tz_def('ADM_GET', 'get');
tz_def('ADM_EXTENDED', 'extended');
tz_def('ADM_EVERYONE_ELSE', ', everyone else');
tz_def('ADM_STANDARD', 'standard');
tz_def('ADM_REWARD_VALUES_ARE_LIVE_VIA', 'Reward values are live via');
tz_def('ADM_FIXED', 'fixed');
tz_def('ADM_STANDARD_QUEST_CORE25', 'Standard (quest_core25)');
tz_def('ADM_EXTENDED_QUEST_CORE', 'Extended (quest_core)');
tz_def('ADM_ON', 'On');
tz_def('ADM_PLUS_DAYS', 'Plus (days)');
tz_def('ADM_REQ_LEVEL', 'Req.&nbsp;level');
tz_def('ADM_QUEST_HOVER', 'Quest (hover)');
tz_def('ADM_SAVE_ALL_CHANGES', 'Save all changes');
tz_def('ADM_SAVES_EVERY_ROW_FOR_THE', 'Saves every row for the');
tz_def('ADM_VARIANT', 'variant.');
tz_def('ADM_RESET_THIS_VARIANT_TO_DEFAULTS', 'Reset this variant to defaults');
tz_def('ADM_MULTI_ACCOUNT', 'Multi-Account');
tz_def('ADM_DETECTION', 'Detection');
tz_def('ADM_RISK_SCORE_NOT_PROOF', 'risk score, not proof');
tz_def('ADM_WINDOW_DAYS', 'Window (days)');
tz_def('ADM_MIN_SCORE', 'Min score');
tz_def('ADM_FOCUS_ON_UID_OPTIONAL', 'Focus on UID (optional)');
tz_def('ADM_ANALYSE', 'Analyse');
tz_def('ADM_NO_ACCOUNT_PAIRS_AT_OR_ABOVE_THE_CURRENT_SCO', 'No account pairs at or above the current score threshold.');
tz_def('ADM_RISK', 'Risk');
tz_def('ADM_ACCOUNT_A', 'Account A');
tz_def('ADM_ACCOUNT_B', 'Account B');
tz_def('ADM_WHY', 'Why');
tz_def('ADM_LOGIN_LOG', 'login log');
tz_def('ADM_FOCUS', 'focus');
tz_def('ADM_RESET_2', 'reset');
tz_def('ADM_DASHBOARD', 'Dashboard');
tz_def('ADM_PER_PLAYER', 'Per-player');
tz_def('ADM_7_DAY_RESOURCE_BALANCE', '7-day resource balance');
tz_def('ADM_HOURS_OF_PROD_ALLOWED', 'Hours of prod. allowed');
tz_def('ADM_SHOW_2', 'Show');
tz_def('ADM_ALL_WITH_ACTIVITY', 'All with activity');
tz_def('ADM_OVER_LIMIT_ONLY', 'Over limit only');
tz_def('ADM_WW_ARTEFACT_OVERRIDDEN', 'WW / artefact / overridden');
tz_def('ADM_REFRESH_2', 'Refresh');
tz_def('ADM_NO_INTER_PLAYER_TRANSFERS_RECORDED_IN_THIS_W', 'No inter-player transfers recorded in this window yet.');
tz_def('ADM_VILLAGES_POP', 'Villages / Pop');
tz_def('ADM_PROD_H', 'Prod/h');
tz_def('ADM_RECEIVED_7D', 'Received (7d)');
tz_def('ADM_LIMIT', 'Limit');
tz_def('ADM_USAGE', 'Usage');
tz_def('ADM_OVERRIDE', 'Override');
tz_def('ADM_AUTO', 'Auto');
tz_def('ADM_CUSTOM_CAP', 'Custom cap');
tz_def('ADM_SAVE_3', 'Save');
tz_def('ADM_REGISTRATION', 'Registration');
tz_def('ADM_BLOCKLIST', 'Blocklist');
tz_def('ADM_BLOCK_NEW_REGISTRATIONS_BY_A_SPECIFIC', 'Block new registrations by a specific');
tz_def('ADM_USERNAME_3', 'username');
tz_def('ADM_A_SPECIFIC', ', a specific');
tz_def('ADM_OR_A_WHOLE', ', or a whole');
tz_def('ADM_E_MAIL_DOMAIN', 'e-mail domain');
tz_def('ADM_ADD_A_BLOCK', 'Add a block');
tz_def('ADM_E_MAIL_ADDRESS', 'E-mail address');
tz_def('ADM_E_MAIL_DOMAIN_2', 'E-mail domain');
tz_def('ADM_VALUE', 'Value');
tz_def('ADM_ADD_BLOCK', 'Add block');
tz_def('ADM_DOMAIN_ENTER_JUST_THE_DOMAIN', 'Domain: enter just the domain (');
tz_def('ADM_NO_REGISTRATION_BLOCKS_YET', 'No registration blocks yet.');
tz_def('ADM_ADDED', 'Added');
tz_def('ADM_REASON_2', 'reason');
tz_def('ADM_REMOVE_2', 'remove');
tz_def('ADM_WORLD_MAP', 'World Map');
tz_def('ADM_HEATMAP', 'Heatmap');
tz_def('ADM_GRID_RESOLUTION', 'Grid resolution');
tz_def('ADM_INACTIVE_AFTER_DAYS', 'Inactive after (days)');
tz_def('ADM_REBUILD', 'Rebuild');
tz_def('ADM_VILLAGE_DENSITY', 'Village density');
tz_def('ADM_TRIBE_DENSITY', 'Tribe density');
tz_def('ADM_INACTIVITY', 'Inactivity');
tz_def('ADM_ATTACKS', 'Attacks');
tz_def('ADM_SUMMARY', 'Summary');
tz_def('ADM_PLAYER_VILLAGES', 'Player villages');
tz_def('ADM_INACTIVE_VILLAGES', 'Inactive villages');
tz_def('ADM_ATTACKS_IN_FLIGHT', 'Attacks in flight');
tz_def('ADM_LEGEND', 'Legend');
tz_def('ADM_TRIBE_TOTALS', 'Tribe totals');
tz_def('ADM_NO_PLAYER_VILLAGES_FOUND', 'No player villages found.');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 8, final: restul de 26 de sabloane)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_404_FILE_NOT_FOUND', '404 - File not found');
tz_def('ADM_WE_LOOKED_404_TIMES_ALREADY_BUT_CAN_T_FIND_A', 'We looked 404 times already but can\'t find anything, Not even an X marking the spot.');
tz_def('ADM_THIS_SYSTEM_IS_NOT_COMPLETE_YET_SO_THE_PAGE', 'This system is not complete yet. So the page probably does not exist.');
tz_def('ADM_NOT_FOUND', 'Not Found');
tz_def('ADM_NEW_MESSAGE', 'New Message');
tz_def('ADM_TO', 'to');
tz_def('ADM_RECIPIENT', 'Recipient');
tz_def('ADM_SEND_MESSAGE', 'Send Message');
tz_def('ADM_PLAYER_NOT_FOUND', 'Player not found.');
tz_def('ADM_GO_BACK', 'Go Back');
tz_def('ADM_MESSAGE_FROM_ADMIN', 'Message From Admin');
tz_def('ADM_WRITE_YOUR_MESSAGE_HERE', 'Write your message here...');
tz_def('ADM_TROOP', 'Troop');
tz_def('ADM_ARMOURY', 'Armoury');
tz_def('ADM_BLACKSMITH', 'Blacksmith');
tz_def('ADM_BACK_3', 'Back');
tz_def('ADM_NOW', 'Now:');
tz_def('ADM_CREATE_USERS', '👤 Create Users');
tz_def('ADM_SUBMITTING_THIS_FORM_WILL_CREATE_NEW_USERS_A', 'Submitting this form will create new Users and/or Villages on your server!');
tz_def('ADM_MANY_ACCOUNTS_1_VILLAGE', 'Many accounts (1 village)');
tz_def('ADM_1_ACCOUNT_MANY_VILLAGES', '1 account (many villages)');
tz_def('ADM_BASE_NAME', 'Base Name');
tz_def('ADM_4_20_CHARACTERS_EX_FARM_5_FARM1_FARM5_SINGLE', '4-20 characters. Ex: Farm | 5 → Farm1..Farm5. Single ex: FarmLord | 5 villages.');
tz_def('ADM_WARNING_2', 'Warning:');
tz_def('ADM_LARGE_VALUES_MAY_FREEZE_THE_SERVER', 'large values may freeze the server!');
tz_def('ADM_HOW_MANY_ACCOUNTS', 'How many accounts');
tz_def('ADM_HOW_MANY_VILLAGES', 'How many villages');
tz_def('ADM_1_200_SINGLE_ONLY', '1 - 200 (single only)');
tz_def('ADM_ENABLE_BEGINNER_PROTECTION', 'Enable beginner protection');
tz_def('ADM_CREATE_2', '+ Create');
tz_def('ADM_ADD_VILLAGE', 'Add Village');
tz_def('ADM_COORDINATES_X_Y', 'Coordinates (X|Y)');
tz_def('ADM_ADD_VILLAGE_2', 'ADD VILLAGE');
tz_def('ADM_TO_ENSURE_THAT_YOU_WON_T_GET_BANNED_AGAIN_IN', 'To ensure that you won\'t get banned again in the future, you should read the rules carefully:');
tz_def('ADM_GAME_RULES', '» Game rules');
tz_def('ADM_TO_CONTINUE_PLAYING_CONTACT_THE_MULTIHUNTER', 'To continue playing contact the Multihunter and put things straight with him/her');
tz_def('ADM_WRITE_MESSAGE', '» Write Message');
tz_def('ADM_HEED_THE_FOLLOWING_ADVICE_WHEN_WRITING_YOUR', 'Heed the following advice when writing your message:');
tz_def('ADM_THERE_IS_ALWAYS_A_REASON_FOR_A_BAN', '● There is always a reason for a ban.');
tz_def('ADM_TRY_TO_THINK_ABOUT_POSSIBLE_REASONS_FOR_THIS', 'Try to think about possible reasons for this ban');
tz_def('ADM_AND_PUT_THINGS_STRAIGHT_WITH_THE_MULTIHUNTER', 'and put things straight with the Multihunter.');
tz_def('ADM_MULTIHUNTERS_CAN_REVIEW_ENORMOUS_AMOUNTS_OF', '● Multihunters can review enormous amounts of information about accounts.');
tz_def('ADM_STICK_TO_THE_TRUTH', 'Stick to the truth');
tz_def('ADM_AND_DO_NOT_MAKE_EXCUSES_TO_JUSTIFY_YOUR_VIOL', 'and do not make excuses to justify your violation of the rules.');
tz_def('ADM_BE_COOPERATIVE_AND_INSIGHTFUL_THIS_MIGHT_RED', '● Be cooperative and insightful, this might reduce the punishment.');
tz_def('ADM_CALM_AND_POLITE', 'calm and polite');
tz_def('ADM_WHILE_TALKING_TO_THE_MULTIHUNTER_AND_TELLING', 'while talking to the Multihunter and telling him/her about your point of view.');
tz_def('ADM_INCLUDES_RESOURCES_MAIN_BUILDING_RALLY_POINT', 'Includes resources, main building, rally point, warehouse, granary, wall, market, residence, troops (for hero level-up), and one cranny.');
tz_def('ADM_IF_THE_MULTIHUNTER_DOES_NOT_ANSWER_IMMEDIATE', '● If the Multihunter does not answer immediately, then he/she is probably not online. The issue will not be resolved any faster by sending multiple messages, especially if he/she did not even read the first one yet.');
tz_def('ADM_IF_YOU_HAVE_REALLY_BEEN_BANNED_UNJUSTLY_TRY', '● If you have really been banned unjustly, try to stay');
tz_def('ADM_RESOURCE', 'Resource');
tz_def('ADM_AMOUNT', 'Amount');
tz_def('ADM_MAXIMUM_CAPACITY', 'Maximum Capacity');
tz_def('ADM_BACK_TO_VILLAGE_2', '← Back to village');
tz_def('ADM_ADMIN_CONTROL', 'Admin Control');
tz_def('ADM_SERVER_ADMINISTRATION', 'Server Administration');
tz_def('ADM_SECURE_ACCESS_TO_TRAVIANZ_PANEL', 'Secure access to TravianZ panel');
tz_def('ADM_PASSWORD', 'Password');
tz_def('ADM_ACCESS_PANEL', 'Access Panel');
tz_def('ADM_ENTER_ADMIN_USERNAME', 'Enter admin username');
tz_def('ADM_ROMANS', 'Romans');
tz_def('ADM_TEUTONS', 'Teutons');
tz_def('ADM_GAULS', 'Gauls');
tz_def('ADM_RESET_GOLD_FOR_ALL_PLAYERS', 'Reset Gold for all players');
tz_def('ADM_RESET_ALL_PLAYERS_GOLD', 'Reset All Players Gold');
tz_def('ADM_THIS_ACTION_WILL_SET_THE_GOLD_TO', 'This action will set the gold to');
tz_def('ADM_FOR_ALL_PLAYERS_FROM_THE_SERVER', 'for ALL players from the server.');
tz_def('ADM_WARNING_THE_ACTION_IS_IRREVERSIBLE_MAKE_SURE', '⚠️ WARNING: The action is irreversible! Make sure you have backup first.');
tz_def('ADM_RESET_GOLD_NOW', 'RESET GOLD NOW');
tz_def('ADM_ALL_PLAYERS_GOLD_HAS_BEEN_RESET', '✓ All players gold has been reset!');
tz_def('ADM_RESET_ALL_PLAYERS_PLUS', 'Reset All Players Plus');
tz_def('ADM_THIS_ACTION_WILL_DISABLE_TRAVIAN_PLUS_FOR_AL', 'This action will disable Travian Plus for ALL players.');
tz_def('ADM_PLUS_IT_WILL_BE_SET_TO_0_DAYS_FOR_EVERYONE', '⚠️ Plus it will be set to 0 days for everyone.');
tz_def('ADM_RESET_PLUS_NOW', 'RESET PLUS NOW');
tz_def('ADM_PLUS_ALL_THE_PLAYERS_HAVE_BEEN_RESET', '✓ Plus all the players have been reset!');
tz_def('ADM_RESET_ALL_RESOURCE_BONUSES', 'Reset All Resource Bonuses');
tz_def('ADM_THIS_ACTION_WILL_DISABLE_THE_25_BONUS_FOR_AL', 'This action will disable the 25% bonus for ALL resources at all players.');
tz_def('ADM_ALL_RESOURCE_BONUSES_WILL_BE_SET_TO_0_DAYS', '⚠️ All resource bonuses will be set to 0 days.');
tz_def('ADM_RESET_RESOURCE_BONUS', 'RESET RESOURCE BONUS');
tz_def('ADM_RESOURCE_BONUSES_HAVE_BEEN_RESET_FOR_ALL_PLA', '✓ Resource bonuses have been reset for all players!');
tz_def('ADM_IGM_REPORTS_LOOKUP', 'IGM / Reports Lookup');
tz_def('ADM_IGM_BY_ID', 'IGM by ID');
tz_def('ADM_GO', 'Go');
tz_def('ADM_REPORT_BY_ID', 'Report by ID');
tz_def('ADM_ENTER_MESSAGE_ID', 'Enter message ID...');
tz_def('ADM_ENTER_REPORT_ID', 'Enter report ID...');
tz_def('ADM_SITTER_1_2', 'Sitter 1');
tz_def('ADM_SITTER_2_2', 'Sitter 2');
tz_def('ADM_CULTURE_POINTS_2', 'Culture Points');
tz_def('ADM_ATTACK_POINTS_THIS_WEEK', 'Attack Points (This Week)');
tz_def('ADM_DEFENCE_POINTS_THIS_WEEK', 'Defence Points (This Week)');
tz_def('ADM_RESOURCES_RAIDED_THIS_WEEK', 'Resources Raided (This Week)');
tz_def('ADM_TOTAL_ATTACK_POINTS', 'Total Attack Points');
tz_def('ADM_TOTAL_DEFENCE_POINTS', 'Total Defence Points');
tz_def('ADM_EDIT_PLAYER_ADDITIONAL_INFO', 'Edit Player Additional Info');
tz_def('ADM_THE_ACCOUNT_WILL_BE_DELETED_IN', 'The account will be deleted in');
tz_def('ADM_CANCEL_3', '✖ Cancel');
tz_def('ADM_CANCEL_DELETION', 'Cancel deletion');
tz_def('ADM_DESCRIPTION', 'Description');
tz_def('ADM_AGE', 'Age');
tz_def('ADM_GENDER', 'Gender');
tz_def('ADM_LOCATION_2', 'Location');
tz_def('ADM_LAST_IP', 'Last IP');
tz_def('ADM_LANGUAGE', 'Language');
tz_def('ADM_BAN_USER_2', '&raquo; Ban User');
tz_def('ADM_SEND_MESSAGE_2', '&raquo; Send Message');
tz_def('ADM_EDIT_PLUS_RES_BONUS', '&raquo; Edit Plus & Res Bonus');
tz_def('ADM_EDIT_SITTERS_2', '&raquo; Edit Sitters');
tz_def('ADM_EDIT_PROTECTION', '&raquo; Edit Protection');
tz_def('ADM_EDIT_PASSWORD', '&raquo; Edit Password');
tz_def('ADM_EDIT_OVERALL_OFF_DEF', '&raquo; Edit Overall Off & Def');
tz_def('ADM_EDIT_WEEKLY_OFF_DEF_RAID', '&raquo; Edit Weekly Off, Def, Raid');
tz_def('ADM_USER_LOGIN_LOG', '&raquo; User Login Log');
tz_def('ADM_USER_ILLEGAL_LOG', '&raquo; User Illegal Log');
tz_def('ADM_RECOUNT_POPULATION', 'Recount population');
tz_def('ADM_EMAIL_2', 'EMAIL');
tz_def('ADM_IP', 'IP');
tz_def('ADM_TRIBE_3', 'Tribe:');
tz_def('ADM_VILLAGES_3', 'Villages:');
tz_def('ADM_POP_3', 'Pop:');
tz_def('ADM_COORDS_2', 'Coords:');
tz_def('ADM_ILLEGALS_LOG', '🚨 Illegals Log:');
tz_def('ADM_DETECTED_OFFENCES', 'Detected Offences');
tz_def('ADM_BACK_TO_PLAYER', '← Back to player');
tz_def('ADM_LOGIN_LOG_2', '🔐 Login Log:');
tz_def('ADM_RECENT_LOGIN_ATTEMPTS', 'Recent Login Attempts');
tz_def('ADM_LOG_ID', 'Log ID');
tz_def('ADM_IP_ADDRESS', 'IP Address');
tz_def('ADM_INFO', 'Info');
tz_def('ADM_BUILD_LOG', '— Build Log');
tz_def('ADM_LATEST_200_ACTION', 'Latest 200 action');
tz_def('ADM_NO_ACTION_RECORDED_YET', 'No action recorded yet.');
tz_def('ADM_POPULATION_2', 'POPULATION');
tz_def('ADM_COORDINATES', 'COORDINATES');
tz_def('ADM_TROOPS_2', 'TROOPS');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - texte lungi si pe mai multe randuri (curatare finala)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_E_MAIL_ADDRESS_2', 'e-mail address');
tz_def('ADM_E_G_AN_OBSCENE_USERNAME_OR_THE_ENTIRE', '(e.g. an obscene username, or the entire');
tz_def('ADM_DOMAIN_MATCHING_IS_EXACT_AND_CASE_INSENSITIV', 'domain). Matching is exact and case-insensitive. Existing accounts are not affected &mdash; only new sign-ups.');
tz_def('ADM_WITH_OR_WITHOUT_THE_LEADING_E_MAIL_THE_FULL', '), with or without the leading &ldquo;@&rdquo;. E-mail: the full address. Username: the exact name.');
tz_def('ADM_SILVER_2', 'silver &nbsp;|&nbsp;');
tz_def('ADM_OF_EACH', 'of each &nbsp;|&nbsp;');
tz_def('ADM_HOURLY_RESOURCES_PRODUCED_BY_EACH_POINT_THE', 'Hourly resources produced by each point the hero invested in the Resources attribute, in the village where the hero is. Players choose freely between spreading it over all four resources or concentrating it on one.');
tz_def('ADM_HOURLY_RESOURCES_PER_POINT_INVESTED_IN_THE_H', 'Hourly resources per point invested in the hero\'s Resources attribute. The first value applies when the player spreads the bonus over all four resources, the second when it is concentrated on a single one. Both scale with server speed.');
tz_def('ADM_HIT_POINTS_THE_HERO_RECOVERS_PER_DAY_ON_TOP', 'Hit points the hero recovers per day on top of the points invested in the regeneration attribute and any equipped items. Without it, a hero with no regeneration points would never heal and would eventually die on adventures. Scales with server speed. 0 disables it.');
tz_def('ADM_HOW_LONG_ONE_CRON_PHP_INVOCATION_KEEPS_WORKI', 'How long one cron.php invocation keeps working. Most shared hosts only allow a cron every 5 minutes, while Automation expects to run about every minute &mdash; so one invocation runs several ticks in a row. Use 300 for a "*/5" cron. Set 0 only if your host allows a cron every minute.');
tz_def('ADM_ENABLE_DISABLE_IF_A_PLAYER_LEAVES_AT_LEAST_O', 'Enable (Disable) if a player leaves at least one message in the thread on the forum, he will receive in-game messages about the fact that new messages have appeared in the same thread (i.e. is technically "subscribed to")');
tz_def('ADM_ENABLE_DISABLE_THE_SERVER_MILESTONES_WIDGET', 'Enable (Disable) the "Server Milestones" widget (first player to settle a 2nd village, reach 1000 population, capture an artefact, conquer a WW, conquer a WW building plan, found an alliance, or conquer a village from another player) shown at the top of Statistics &raquo; General');
tz_def('ADM_CREATE_PROMO_VOUCHER_CODES_PLAYERS_REDEEM_FO', 'Create promo / voucher codes players redeem for gold on the Plus page. Set a fixed gold amount, an optional total use-limit, whether each player may redeem it once, and an optional expiry. For a one-off bug-hunter reward, create a code with max-uses&nbsp;1 &mdash; or use');
tz_def('ADM_DENSITY_OVERLAYS_ON_THE_WORLD_GRID_TO_HELP_W', 'Density overlays on the world grid to help with starting balance: where villages cluster, which tribes dominate a region, where inactive players sit (dead zones / good spawn spots), and where attacks are currently landing. North (+y) is up.');
tz_def('ADM_HEURISTIC_CORRELATION_OF_ACCOUNT_PAIRS_BY_SH', 'Heuristic correlation of account pairs by shared IP, subnet, device/browser fingerprint (User-Agent), overlapping login times, and resource-transfer flow. This is a');
tz_def('ADM_USE_IT_TO_PRIORITISE_WHICH_PAIRS_A_HUMAN_SHO', '&mdash; use it to prioritise which pairs a human should investigate. Nothing is banned automatically.');
tz_def('ADM_ROW_CAP_REACHED_WHILE_SCANNING_LOGIN_HISTORY', 'Row cap reached while scanning login history (window is large / very busy server). Results still valid but may be incomplete &mdash; narrow the window for full coverage.');
tz_def('ADM_RECEIVED_FROM_OTHER_PLAYERS_VERSUS_AN_AUTOMA', '(received from other players) versus an automatic limit derived from the player\'s hourly production (');
tz_def('ADM_OF_PRODUCTION_PER_WINDOW_WW_VILLAGES_AND_ART', 'of production per window). WW villages and artefact villages are flagged as supply exceptions. Set a manual override to exempt a player (WW / trusted) or give a custom cap. Nothing is blocked automatically &mdash; this is visibility &amp; control for a human moderator.');
tz_def('ADM_THE_7_DAY_BALANCE_FILLS_IN_AS_MERCHANT_DELIV', 'The 7-day balance fills in as merchant deliveries between different players are processed after this feature is deployed.');
tz_def('ADM_EDIT_THE_REWARD_EACH_QUEST_GRANTS_WOOD_CLAY', 'Edit the reward each quest grants (wood / clay / iron / crop / gold / Plus days) and the requirement level (e.g. main-building level for building quests). Values are seeded from the shipped defaults, so nothing changes until you edit. The two quest variants have different quests and rewards &mdash; pick the one your server uses (players on');
tz_def('ADM_IN_THE_QUEST_TEMPLATES_QUESTS_MARKED', 'in the quest templates. Quests marked');
tz_def('ADM_KEEP_THEIR_ORIGINAL_HARDCODED_LOGIC_CONDITIO', 'keep their original hardcoded logic (conditional rewards, atomic milestone claims, special mechanics) and are not affected by edits here. The reward numbers shown inside each quest\'s on-screen text are separate template strings &mdash; edits here change what is actually granted; update the quest language strings if you want the preview to match.');
+946
View File
@@ -3197,3 +3197,949 @@ tz_def('ANL_GREAT', 'Grande');
tz_def('ANL_CULTURE_POINTS_NEEDED', 'Points de culture nécessaires pour obtenir des villages supplémentaires'); tz_def('ANL_CULTURE_POINTS_NEEDED', 'Points de culture nécessaires pour obtenir des villages supplémentaires');
tz_def('PUBLIC_MAIN_GOALS', 'Objectifs principaux :'); tz_def('PUBLIC_MAIN_GOALS', 'Objectifs principaux :');
tz_def('PUBLIC_TERMS_SHORT', 'Conditions'); tz_def('PUBLIC_TERMS_SHORT', 'Conditions');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 1: home, server_info, online, users,
// search, ban, notregistered, inactive, report, msg)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_HELLO', 'Bonjour');
tz_def('ADM_TOTAL_PLAYERS', 'Total joueurs');
tz_def('ADM_ONLINE_NOW', 'En ligne');
tz_def('ADM_LAST_5_MIN', '5 dernières minutes');
tz_def('ADM_VILLAGES', 'Villages');
tz_def('ADM_GOLD_IN_GAME', 'Or en jeu');
tz_def('ADM_ACTIVE_BANS', 'Bannissements actifs');
tz_def('ADM_MANAGE', 'gérer');
tz_def('ADM_LAST_REGISTRATION', 'Dernière inscription');
tz_def('ADM_SERVER_CLOCK', 'Horloge du serveur');
tz_def('ADM_SERVER_TIMELINE', 'Chronologie du serveur');
tz_def('ADM_START_DATE', 'Date de début :');
tz_def('ADM_NATARS_C', 'Natars :');
tz_def('ADM_ARTEFACTS_C', 'Artefacts :');
tz_def('ADM_WW_PLANS_C', 'Plans MdM :');
tz_def('ADM_SERVER_AGE', 'Âge du serveur :');
tz_def('ADM_NEXT_EVENT', 'Prochain événement :');
tz_def('ADM_LAST_5_ACTIONS', '5 dernières actions');
tz_def('ADM_VIEW_FULL_LOG', 'voir le journal →');
tz_def('ADM_QUICK_ACTIONS', 'Actions rapides');
tz_def('ADM_QA_SEARCH', '🔍 Chercher un joueur');
tz_def('ADM_QA_BAN', '🔨 Bannissements');
tz_def('ADM_QA_MAP', '🗺 Carte');
tz_def('ADM_QA_NATARS', '🏰 Natars');
tz_def('ADM_QA_ADD_USER', '👤 Ajouter un joueur');
tz_def('ADM_QA_SERVER_INFO', '⚙ Infos serveur');
tz_def('ADM_WORLD_INFO', '🌍 Informations du monde');
tz_def('ADM_REGISTERED_PLAYERS', 'Joueurs inscrits');
tz_def('ADM_ACTIVE_PLAYERS', 'Joueurs actifs');
tz_def('ADM_PLAYERS_ONLINE', 'Joueurs connectés');
tz_def('ADM_PLAYERS_BANNED', 'Joueurs bannis');
tz_def('ADM_VILLAGES_SETTLED', 'Villages fondés');
tz_def('ADM_TOTAL_POPULATION', 'Population totale');
tz_def('ADM_PLAYER_DISTRIBUTION', '👥 Répartition des joueurs');
tz_def('ADM_SERVER_ECONOMY', '💰 Économie du serveur');
tz_def('ADM_TOTAL_GOLD', 'Or total');
tz_def('ADM_AVG_GOLD', 'Or moyen/joueur');
tz_def('ADM_SERVER_STARTED', 'Serveur démarré');
tz_def('ADM_UPTIME', 'Temps de fonctionnement');
tz_def('ADM_TROOPS_ON_SERVER', '⚔️ Troupes sur le serveur (villages + renforts)');
tz_def('ADM_ONLINE_USERS_H', '🟢 Joueurs connectés');
tz_def('ADM_NO_ONLINE_USERS', 'Aucun joueur connecté ces 5 dernières minutes');
tz_def('ADM_USERS_H', '👥 Joueurs');
tz_def('ADM_ALL', 'Tous');
tz_def('ADM_ADMINS', 'Administrateurs');
tz_def('ADM_NORMAL', 'Normaux');
tz_def('ADM_BANNED', 'Bannis');
tz_def('ADM_ONLINE', 'Connectés');
tz_def('ADM_ID', 'ID');
tz_def('ADM_USERNAME', 'Nom d\'utilisateur');
tz_def('ADM_EMAIL', 'E-mail');
tz_def('ADM_ACCESS', 'Accès');
tz_def('ADM_TRIBE', 'Tribu');
tz_def('ADM_GOLD', 'Or');
tz_def('ADM_LAST_ACTIVITY', 'Dernière activité');
tz_def('ADM_PREV', '« Préc.');
tz_def('ADM_NEXT', 'Suiv. »');
tz_def('ADM_SEARCH_PH', 'Rechercher...');
tz_def('ADM_ADMIN_SEARCH', 'Recherche');
tz_def('ADM_SEARCH_HINT', 'Nom, ID, e-mail ou IP...');
tz_def('ADM_SEARCH_BTN', 'Rechercher');
tz_def('ADM_BAN_MANAGEMENT', 'Gestion des bannissements');
tz_def('ADM_ACTIVE_USER_BANS', 'Joueurs bannis');
tz_def('ADM_ACTIVE_IP_BANS', 'IP bannies');
tz_def('ADM_HISTORY_50', 'Historique (50 derniers)');
tz_def('ADM_ADD_NEW_BAN', 'Nouveau bannissement');
tz_def('ADM_FOREVER', 'Définitif');
tz_def('ADM_BAN_USER', 'Bannir le joueur');
tz_def('ADM_BAN_IP_ADDRESS', 'Bannir une adresse IP');
tz_def('ADM_BAN_IP', 'Bannir l\'IP');
tz_def('ADM_BAN_HISTORY', 'Historique des bannissements');
tz_def('ADM_USER_ID', 'ID du joueur');
tz_def('ADM_IPV4_OR_IPV6', 'IPv4 ou IPv6');
tz_def('ADM_NOT_ACTIVATED_H', '✉️ Joueurs non activés');
tz_def('ADM_ACTIVATION_CODE', 'Code d\'activation');
tz_def('ADM_ACT2', 'Act2');
tz_def('ADM_TIME', 'Heure');
tz_def('ADM_SEARCH_USER_EMAIL', 'Nom d\'utilisateur ou e-mail...');
tz_def('ADM_INACTIVE_USERS', 'Joueurs inactifs');
tz_def('ADM_DELETE_L', 'supprimer');
tz_def('ADM_BACK_TO_REPORTS', '← Retour aux rapports');
tz_def('ADM_REPORT', 'Rapport');
tz_def('ADM_VIEW_ARROW', 'voir →');
tz_def('ADM_BACK_TO_MESSAGES', '← Retour aux messages');
tz_def('ADM_SENT_TO', 'Envoyé à');
tz_def('ADM_MESSAGE', 'Message');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 2: config, editServerSet, editNewFunctions,
// editCronSet, editPlusSet, editLogSet, editNewsboxSet, editExtraSet)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_CRON_AUTOMATION', 'Cron et automatisation');
tz_def('ADM_AUTOMATION_SOURCE', 'Source de l\'automatisation');
tz_def('ADM_WHERE_THE_GAME_TICK_BATTLES_MOVEMENTS_TRAINI', 'D\'où provient le traitement du jeu (batailles, mouvements, entraînement, construction). Quand la tâche cron tourne, les pages des joueurs ne portent plus ce traitement.');
tz_def('ADM_LAST_CRON_TICK', 'Dernier passage du cron');
tz_def('ADM_WRITTEN_BY_CRON_PHP_ON_EVERY_TICK_INTO_GAMEE', 'Écrit par cron.php à chaque passage dans GameEngine/Prevention/cron_active.txt. Moins de 90 secondes signifie que le cron est actif.');
tz_def('ADM_INVOCATION_LENGTH', 'Durée d\'une invocation');
tz_def('ADM_CRON_LOOP_SECONDS_HOW_LONG_ONE_CRON_PHP_INVO', 'CRON_LOOP_SECONDS - durée pendant laquelle une invocation de cron.php continue de travailler. Les hébergeurs limités à un cron toutes les 5 minutes obtiennent quand même un passage par minute. 0 = un seul passage par invocation.');
tz_def('ADM_TICK_INTERVAL', 'Intervalle entre passages');
tz_def('ADM_CRON_TICK_SECONDS_HOW_OFTEN_AUTOMATION_RUNS', 'CRON_TICK_SECONDS - fréquence d\'exécution d\'Automation à l\'intérieur d\'une invocation. Automation attend un passage toutes les 60 secondes environ.');
tz_def('ADM_HTTP_TRIGGER_KEY', 'Clé de déclenchement HTTP');
tz_def('ADM_CRON_KEY_ONLY_NEEDED_TO_CALL_CRON_PHP_OVER_H', 'CRON_KEY - nécessaire uniquement pour appeler cron.php via HTTP (service de cron externe). La tâche cron du serveur n\'utilise pas cette clé. Générée automatiquement à l\'installation.');
tz_def('ADM_NOT_SET', 'Non définie');
tz_def('ADM_SHOW', 'afficher');
tz_def('ADM_HTTP_TRIGGER_URL', 'URL de déclenchement HTTP');
tz_def('ADM_OPTIONAL_USE_THIS_WITH_AN_EXTERNAL_CRON_SERV', 'Facultatif. À utiliser avec un service de cron externe si l\'hébergeur ne peut pas exécuter de cron local. Un appel HTTP = un passage.');
tz_def('ADM_HIDDEN_USE_SHOW_ABOVE', 'masquée &ndash; utilisez « afficher » ci-dessus');
tz_def('ADM_DATABASE_CLEANUP', 'Nettoyage de la base de données');
tz_def('ADM_AUTOMATION_TRIMS_TABLES_THAT_WOULD_OTHERWISE', 'Automation réduit les tables qui grandiraient sans fin. Les rapports archivés ne sont jamais supprimés. 0 désactive une règle.');
tz_def('ADM_LAST_CLEANUP_RUN', 'Dernier nettoyage');
tz_def('ADM_CLEANUP_RUNS_ONCE_PER_HOUR_FROM_AUTOMATION_A', 'Le nettoyage s\'exécute une fois par heure depuis Automation et supprime par lots ; sur un serveur ancien, le premier passage rattrape le retard en plusieurs fois.');
tz_def('ADM_CRON_JOB_COMMAND', 'Commande de la tâche cron');
tz_def('ADM_ADD_THIS_IN_CPANEL_CRON_JOBS_THE_PATH_IS_DET', 'À ajouter dans cPanel &rarr; Cron Jobs. Le chemin est détecté depuis cette installation.');
tz_def('ADM_CURRENT_STATUS', 'État actuel');
tz_def('ADM_WHEN_THE_CRON_JOB_IS_NOT_RUNNING_THE_GAME_ST', 'Si la tâche cron ne tourne pas, le jeu fonctionne quand même : les pages des joueurs traitent le passage, comme avant l\'introduction du cron.');
tz_def('ADM_ADD_THIS_IN_CPANEL_CRON_JOBS_WRITING_TO_CRON', 'À ajouter dans cPanel &rarr; Cron Jobs. Écrire dans cron.log plutôt que /dev/null permet de voir les erreurs en cas d\'échec.');
tz_def('ADM_SETTINGS', 'Paramètres');
tz_def('ADM_INVOCATION_LENGTH_SECONDS', 'Durée d\'une invocation (secondes)');
tz_def('ADM_0_A_SINGLE_TICK_PER_INVOCATION_MAXIMUM_3300', '0 = un seul passage par invocation. Maximum 3300 (55 minutes).');
tz_def('ADM_TICK_INTERVAL_SECONDS', 'Intervalle entre passages (secondes)');
tz_def('ADM_HOW_OFTEN_AUTOMATION_RUNS_INSIDE_ONE_INVOCAT', 'Fréquence d\'exécution d\'Automation dans une invocation. Sa propre garde attend environ 60 secondes ; descendre plus bas ajoute surtout de la charge sans rien traiter de nouveau.');
tz_def('ADM_RECOMMENDED_60_ALLOWED_RANGE_15_900', 'Recommandé : 60. Plage autorisée 15&ndash;900.');
tz_def('ADM_ONLY_NEEDED_WHEN_CALLING_CRON_PHP_OVER_HTTP', 'Nécessaire uniquement pour appeler cron.php via HTTP (par exemple depuis un service de cron externe). La tâche cron du serveur ne l\'utilise pas. La régénérer invalide toute URL configurée ailleurs.');
tz_def('ADM_GENERATE_A_NEW_KEY_ON_SAVE', 'Générer une nouvelle clé à la sauvegarde');
tz_def('ADM_RUNS_FROM_AUTOMATION_ONCE_PER_HOUR_ROWS_ARE', 'S\'exécute depuis Automation une fois par heure. Les lignes sont supprimées par lots ; sur un serveur ancien, le premier passage rattrape en plusieurs fois.');
tz_def('ADM_BATTLE_REPORTS_DAYS', 'Rapports de combat (jours)');
tz_def('ADM_UNARCHIVED_REPORTS_OLDER_THAN_THIS_ARE_DELET', 'Les rapports non archivés plus anciens sont supprimés. Les rapports archivés par un joueur ne sont jamais touchés. 0 désactive la règle.');
tz_def('ADM_0_KEEP_FOREVER', '0 = conserver indéfiniment.');
tz_def('ADM_CHAT_MESSAGES_DAYS', 'Messages du chat (jours)');
tz_def('ADM_THE_CHAT_WINDOW_ONLY_EVER_SHOWS_THE_LAST_13', 'La fenêtre de chat n\'affiche que les 13 derniers messages par alliance ; l\'historique plus ancien n\'est utilisé nulle part dans le jeu.');
tz_def('ADM_DELETED_MESSAGES_DAYS', 'Messages supprimés (jours)');
tz_def('ADM_ONLY_MESSAGES_DELETED_BY_BOTH_THE_SENDER_AND', 'Seuls les messages supprimés par l\'expéditeur ET le destinataire sont retirés &mdash; ils ne sont plus visibles par personne. Désactivé par défaut.');
tz_def('ADM_0_DISABLED_DEFAULT', '0 = désactivé (par défaut).');
tz_def('ADM_NEW_MECHANICS_AND_FUNCTIONS', 'Nouvelles mécaniques et fonctions');
tz_def('ADM_HERO_BASE_REGENERATION', 'Régénération de base du héros');
tz_def('ADM_HIT_POINTS_THE_HERO_RECOVERS_PER_DAY_INDEPEN', 'Points de vie récupérés par le héros chaque jour, indépendamment de l\'attribut de régénération et des objets équipés. 0 désactive.');
tz_def('ADM_HP_DAY', 'PV / jour');
tz_def('ADM_HERO_EXCHANGE_RATES', 'Taux de change du héros');
tz_def('ADM_RATES_OF_THE_EXCHANGE_OFFICE_IN_THE_AUCTION', 'Taux du bureau de change de la maison de ventes. L\'écart entre les deux sens constitue la marge, donc faire l\'aller-retour fait perdre de la valeur au lieu d\'en créer.');
tz_def('ADM_EXCHANGE_OFFICE_IN_THE_AUCTION_HOUSE_KEEP_TH', 'Bureau de change de la maison de ventes. Gardez la seconde valeur supérieure à la première, sinon les joueurs pourraient créer de l\'or à partir de rien.');
tz_def('ADM_1_GOLD', '1 or &rarr;');
tz_def('ADM_SILVER_1_GOLD', 'argent &rarr; 1 or');
tz_def('ADM_HERO_RESOURCE_PRODUCTION', 'Production de ressources du héros');
tz_def('ADM_OF_ONE_TYPE', 'd\'un seul type');
tz_def('ADM_DISPLAY_OASIS_IN_PROFILE', 'Afficher les oasis dans le profil');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_OASES_OF_EACH', 'Activer (désactiver) l\'affichage des oasis de chaque village dans le profil du joueur');
tz_def('ADM_ALLIANCE_INVITATION_MESSAGE', 'Message d\'invitation d\'alliance');
tz_def('ADM_ENABLE_DISABLE_SENDING_AN_IN_GAME_MESSAGE_TO', 'Activer (désactiver) l\'envoi d\'un message en jeu au joueur invité dans l\'alliance');
tz_def('ADM_NEW_ALLIANCE_EMBASSY_MECHANICS', 'Nouvelles mécaniques d\'alliance et d\'ambassade');
tz_def('ADM_NEW_FORUM_POST_MESSAGE', 'Message de nouveau sujet du forum');
tz_def('ADM_ENABLE_DISABLE_FORUM_SUBSCRIPTION_MESSAGES', 'Activer (désactiver) les messages d\'abonnement au forum');
tz_def('ADM_TRIBES_IMAGES_IN_PROFILE', 'Images des tribus dans le profil');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_TRIBES', 'Activer (désactiver) l\'affichage des images des tribus');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_TRIBES_W', 'Activer (désactiver) l\'affichage des images des tribus avec une description dans le profil des joueurs');
tz_def('ADM_NEW_TRIBE_HUNS', 'Nouvelle tribu : Huns');
tz_def('ADM_ENABLE_DISABLE_THE_HUNS_TRIBE', 'Activer (désactiver) la tribu des Huns');
tz_def('ADM_ENABLE_DISABLE_TRIBE_HUNS', 'Activer (désactiver) la tribu des Huns');
tz_def('ADM_NEW_TRIBE_EGYPTIANS', 'Nouvelle tribu : Égyptiens');
tz_def('ADM_ENABLE_DISABLE_THE_EGYPTIANS_TRIBE', 'Activer (désactiver) la tribu des Égyptiens');
tz_def('ADM_ENABLE_DISABLE_TRIBE_EGYPTIANS', 'Activer (désactiver) la tribu des Égyptiens');
tz_def('ADM_NEW_TRIBE_SPARTANS', 'Nouvelle tribu : Spartiates');
tz_def('ADM_ENABLE_DISABLE_THE_SPARTANS_TRIBE', 'Activer (désactiver) la tribu des Spartiates');
tz_def('ADM_ENABLE_DISABLE_TRIBE_SPARTANS', 'Activer (désactiver) la tribu des Spartiates');
tz_def('ADM_NEW_TRIBE_VIKINGS', 'Nouvelle tribu : Vikings');
tz_def('ADM_ENABLE_DISABLE_THE_VIKINGS_TRIBE', 'Activer (désactiver) la tribu des Vikings');
tz_def('ADM_ENABLE_DISABLE_TRIBE_VIKINGS', 'Activer (désactiver) la tribu des Vikings');
tz_def('ADM_MHS_IMAGES_IN_PROFILE', 'Images des MH dans le profil');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_MULTIHUN', 'Activer (désactiver) l\'affichage des images des Multihunters');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_MULTIHUN_2', 'Activer (désactiver) l\'affichage des images des Multihunters avec une description dans leur profil');
tz_def('ADM_DISPLAY_ARTIFACT_IN_PROFILE', 'Afficher l\'artefact dans le profil');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_ARTIFACT', 'Activer (désactiver) l\'affichage de l\'artefact');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_ARTIFACT_I', 'Activer (désactiver) l\'affichage de l\'artefact dans le profil du joueur, en face du village où il se trouve');
tz_def('ADM_DISPLAY_WOW_IN_PROFILE', 'Afficher la MdM dans le profil');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_WONDER', 'Activer (désactiver) l\'affichage de la merveille');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_WONDER_IN', 'Activer (désactiver) l\'affichage de la merveille dans le profil du joueur, en face du village où elle se trouve');
tz_def('ADM_VACATION_MODE', 'Mode vacances');
tz_def('ADM_ENABLE_DISABLE_VACATION_MODE', 'Activer (désactiver) le mode vacances');
tz_def('ADM_ENABLE_DISABLE_VACATION_MODE_WILL_BE_DISPLAY', 'Activer (désactiver) le mode vacances ; il sera affiché ou masqué dans le menu du profil du joueur');
tz_def('ADM_CATAPULT_TARGETS', 'Cibles des catapultes');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_CATAPULT_TARGE', 'Activer (désactiver) l\'affichage des cibles des catapultes');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_TARGETS_OF', 'Activer (désactiver) l\'affichage, au point de ralliement, des cibles des catapultes que vous avez envoyées');
tz_def('ADM_MANUAL_ON_NATURE_AND_NATARS', 'Manuel sur la Nature et les Natars');
tz_def('ADM_ENABLE_DISABLE_MANUAL_INFO', 'Activer (désactiver) les infos du manuel');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_INFORMATION_IN_THE', 'Activer (désactiver) l\'affichage dans le manuel des informations sur les troupes de la Nature et des Natars');
tz_def('ADM_DIRECT_LINKS_PLACEMENT', 'Emplacement des liens directs');
tz_def('ADM_LEFT_MENU_VS_RIGHT_MENU', 'Menu de gauche ou de droite');
tz_def('ADM_IF_ENABLED_THEN_THE_DIRECT_LINKS_WILL_BE_PLA', 'Si activé, les liens directs sont placés dans le menu de gauche ; si désactivé, dans le menu de droite comme dans le Travian original');
tz_def('ADM_MEDAL_VETERAN_PLAYER', 'Médaille joueur vétéran');
tz_def('ADM_3_YEARS', '3 ans');
tz_def('ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_3', 'Activer (désactiver) la médaille des 3 ans de jeu');
tz_def('ADM_MEDAL_VETERAN_PLAYER_5A', 'Médaille joueur vétéran 5a');
tz_def('ADM_5_YEARS', '5 ans');
tz_def('ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_5', 'Activer (désactiver) la médaille des 5 ans de jeu');
tz_def('ADM_MEDAL_VETERAN_PLAYER_10A', 'Médaille joueur vétéran 10a');
tz_def('ADM_10_YEARS', '10 ans');
tz_def('ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_10', 'Activer (désactiver) la médaille des 10 ans de jeu');
tz_def('ADM_SPECIAL_MEDALS', 'Médailles spéciales');
tz_def('ADM_ENABLE_DISABLE_SPECIAL_MEDALS_ARTIFACT_HERO', 'Activer (désactiver) les médailles spéciales (artefact, héros, merveille, muraille, grand entrepôt, etc.)');
tz_def('ADM_SERVER_MILESTONES', 'Étapes du serveur');
tz_def('ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO', 'Pas encore présent dans config.php &mdash; enregistrer ce formulaire une fois l\'ajoutera (False par défaut jusque-là).');
tz_def('ADM_SERVER_MEDAL_RESET_TIMER', 'Minuteur de réinitialisation des médailles');
tz_def('ADM_ENABLE_DISABLE_THE_SERVER_MEDAL_RESET_TIMER', 'Activer (désactiver) le widget « Minuteur de réinitialisation des médailles » dans les Top 10 joueurs et alliances');
tz_def('ADM_T4_HERO_ITEMS_ADVENTURES_AUCTION', 'Héros T4 (objets, aventures, enchères)');
tz_def('ADM_ENABLE_DISABLE_THE_T4_HERO_ITEMS_ADVENTURES', 'Activer (désactiver) le système « Héros T4 (objets, aventures, enchères) »');
tz_def('ADM_REGISTRATION_BONUS_GOLD', 'Or de bienvenue à l\'inscription');
tz_def('ADM_GIVE_EVERY_NEWLY_REGISTERED_PLAYER_A_ONE_TIM', 'Offrir à chaque nouveau joueur un bonus d\'or unique à la création du compte');
tz_def('ADM_REGISTRATION_BONUS_GOLD_AMOUNT', 'Or de bienvenue &ndash; montant');
tz_def('ADM_HOW_MUCH_GOLD_EACH_NEW_PLAYER_RECEIVES_WHEN', 'Quantité d\'or reçue par chaque nouveau joueur quand le bonus est activé');
tz_def('ADM_ENABLE_DISABLE_A_ONE_TIME_GOLD_BONUS_GRANTED', 'Activer (désactiver) un bonus d\'or unique accordé à chaque nouveau joueur à la création du compte (les comptes système id&le;3 sont ignorés). Le montant est défini ci-dessous.');
tz_def('ADM_HOW_MUCH_GOLD_EACH_NEW_PLAYER_RECEIVES_WHEN_2', 'Quantité d\'or reçue par chaque nouveau joueur quand l\'option ci-dessus est True. Par défaut : 200.');
tz_def('ADM_FOR_THIS_SETTING_YOU_CAN_FIND_MORE_INFORMATI', 'Pour ce paramètre, vous trouverez plus d\'informations sur ce lien :');
tz_def('ADM_EDIT_CRON_AUTOMATION', 'Modifier Cron et automatisation');
tz_def('ADM_EDIT_NEW_MECHANICS_AND_FUNCTIONS', 'Modifier les nouvelles mécaniques et fonctions');
tz_def('ADM_ENGLISH', 'Anglais');
tz_def('ADM_FRENCH', 'Français');
tz_def('ADM_ITALIAN', 'Italien');
tz_def('ADM_ROMANIAN', 'Roumain');
tz_def('ADM_CHINESE', 'Chinois');
tz_def('ADM_SLOW', 'Lent');
tz_def('ADM_FAST', 'Rapide');
tz_def('ADM_2_HOURS', '2 heures');
tz_def('ADM_3_HOURS', '3 heures');
tz_def('ADM_5_HOURS', '5 heures');
tz_def('ADM_8_HOURS', '8 heures');
tz_def('ADM_10_HOURS', '10 heures');
tz_def('ADM_12_HOURS', '12 heures');
tz_def('ADM_16_HOURS', '16 heures');
tz_def('ADM_20_HOURS', '20 heures');
tz_def('ADM_24_HOURS_1_DAY', '24 heures (1 jour)');
tz_def('ADM_48_HOURS_2_DAYS', '48 heures (2 jours)');
tz_def('ADM_72_HOURS_3_DAYS', '72 heures (3 jours)');
tz_def('ADM_120_HOURS_5_DAYS', '120 heures (5 jours)');
tz_def('ADM_TRUE', 'True');
tz_def('ADM_FALSE', 'False');
tz_def('ADM_YES', 'Oui');
tz_def('ADM_NO', 'Non');
tz_def('ADM_TRAVIAN_OFFICIAL', 'Travian officiel');
tz_def('ADM_TRAVIANZ_EXTENDED', 'TravianZ étendu');
tz_def('ADM_10_DEFAULT', '10 - par défaut');
tz_def('ADM_NONE', 'aucun');
tz_def('ADM_1_DAY', '1 jour');
tz_def('ADM_2_DAYS', '2 jours');
tz_def('ADM_3_DAYS', '3 jours');
tz_def('ADM_4_DAYS', '4 jours');
tz_def('ADM_5_DAYS', '5 jours');
tz_def('ADM_6_DAYS', '6 jours');
tz_def('ADM_7_DAYS', '7 jours');
tz_def('ADM_NONE_2', 'Aucun');
tz_def('ADM_CHRISTMAS', 'Noël');
tz_def('ADM_NEW_YEAR', 'Nouvel An');
tz_def('ADM_EASTER', 'Pâques');
tz_def('ADM_ENABLE', 'Activer');
tz_def('ADM_DISABLE', 'Désactiver');
tz_def('ADM_SAVE', 'ENREGISTRER');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 3: player, editHero, editHeroT4,
// playerheroinfo, village, troops, editVillage, editUser, deletion, editSitter)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_START', 'Début');
tz_def('ADM_END', 'Fin');
tz_def('ADM_DURATION', 'Durée');
tz_def('ADM_REASON', 'Motif');
tz_def('ADM_PLAYER', 'Joueur :');
tz_def('ADM_BASIC_INFO', '📝 Informations de base');
tz_def('ADM_HERO_NAME', 'Nom du héros');
tz_def('ADM_HERO_UNIT', 'Unité du héros');
tz_def('ADM_HEALTH', '❤ Santé');
tz_def('ADM_EXPERIENCE', '✨ Expérience');
tz_def('ADM_CURRENT_STATS', '📈 Statistiques actuelles');
tz_def('ADM_LEVEL', 'Niveau :');
tz_def('ADM_OF', 'sur');
tz_def('ADM_FREE', '(libres :');
tz_def('ADM_OFFENCE', 'Attaque :');
tz_def('ADM_DEFENCE', 'Défense :');
tz_def('ADM_OFF_BONUS', 'Bonus attaque :');
tz_def('ADM_DEF_BONUS', '| Bonus défense :');
tz_def('ADM_REGEN', 'Régén. :');
tz_def('ADM_RESOURCES', 'Ressources :');
tz_def('ADM_ADD_POINTS', '⚔ Ajouter des points');
tz_def('ADM_ATTRIBUTE', 'Attribut');
tz_def('ADM_CURRENT', 'Actuel');
tz_def('ADM_ADD', 'Ajouter');
tz_def('ADM_NEW', 'Nouveau');
tz_def('ADM_PRODUCED_RESOURCE', 'Ressource produite');
tz_def('ADM_LEVEL_NOU', 'Nouveau niveau :');
tz_def('ADM_BACK', '← Retour');
tz_def('ADM_SAVE_HERO', '💾 Enregistrer le héros');
tz_def('ADM_CLASSIC_HERO_EDITOR', '&laquo; éditeur de héros classique');
tz_def('ADM_ACTION_COMPLETED', 'Action effectuée.');
tz_def('ADM_ACTION_FAILED_CHECK_THE_VALUES_AND_TRY_AGAIN', 'Échec de l\\\'action (vérifiez les valeurs et réessayez).');
tz_def('ADM_SILVER', 'Argent');
tz_def('ADM_SET_BALANCE', 'Définir le solde');
tz_def('ADM_GRANT_ITEM', 'Attribuer un objet');
tz_def('ADM_QTY', 'Qté :');
tz_def('ADM_GRANT', 'Attribuer');
tz_def('ADM_ROW', 'Ligne');
tz_def('ADM_ITEM', 'Objet');
tz_def('ADM_SLOT', 'Emplacement');
tz_def('ADM_QTY_2', 'Qté');
tz_def('ADM_EQUIPPED', 'Équipé');
tz_def('ADM_DELETE', 'Supprimer');
tz_def('ADM_AUCTION', 'Enchère');
tz_def('ADM_ROLE', 'Rôle');
tz_def('ADM_PRICE', 'Prix');
tz_def('ADM_ENDS', 'Se termine');
tz_def('ADM_CANCEL', 'Annuler');
tz_def('ADM_ADVENTURES', 'Aventures');
tz_def('ADM_RUNNING', 'En cours :');
tz_def('ADM_OFFER', 'Offre');
tz_def('ADM_DIFFICULTY', 'Difficulté');
tz_def('ADM_EXPIRES', 'Expire');
tz_def('ADM_REMOVE', 'Retirer');
tz_def('ADM_PLAYER_HEROES', 'Héros du joueur');
tz_def('ADM_NONE_3', 'Aucun &nbsp;&nbsp;');
tz_def('ADM_ADD_HERO', 'Ajouter un héros');
tz_def('ADM_HERO_LEVEL', 'Niveau du héros');
tz_def('ADM_STATUS', 'Statut');
tz_def('ADM_ALIVE', 'Vivant');
tz_def('ADM_DEAD', 'Mort');
tz_def('ADM_DETAILS', 'Détails');
tz_def('ADM_POINT', 'Points');
tz_def('ADM_LEVEL_2', 'Niveau');
tz_def('ADM_OFFENCE_2', 'Attaque');
tz_def('ADM_DEFENCE_2', 'Défense');
tz_def('ADM_OFF_BONUS_2', 'Bonus attaque');
tz_def('ADM_DEF_BONUS_2', 'Bonus défense');
tz_def('ADM_REGENERATION', 'Régénération');
tz_def('ADM_RESOURCES_2', 'Ressources');
tz_def('ADM_HEALTH_2', 'Santé');
tz_def('ADM_EDIT', 'Modifier');
tz_def('ADM_T4_ITEMS_SILVER_AUCTIONS', 'Objets T4 / argent / enchères');
tz_def('ADM_KILL', 'Tuer');
tz_def('ADM_REVIVE', 'Ressusciter');
tz_def('ADM_VILLAGE_INFORMATION', 'Informations du village');
tz_def('ADM_OWNER', 'Propriétaire');
tz_def('ADM_NAME', 'Nom');
tz_def('ADM_POPULATION', 'Population');
tz_def('ADM_COORDS', 'Coordonnées');
tz_def('ADM_FIELD', 'Case');
tz_def('ADM_RES', 'Res');
tz_def('ADM_AMT', 'Qté');
tz_def('ADM_CAP', 'Cap.');
tz_def('ADM_PROD', 'Prod.');
tz_def('ADM_WOOD', 'Bois');
tz_def('ADM_CLAY', 'Argile');
tz_def('ADM_IRON', 'Fer');
tz_def('ADM_CROP', 'Céréales');
tz_def('ADM_EXPANSION', 'Expansion');
tz_def('ADM_VILLAGE', 'Village');
tz_def('ADM_POP', 'Pop.');
tz_def('ADM_CP', 'PC');
tz_def('ADM_OASIS', 'Oasis');
tz_def('ADM_LOY', 'Loy.');
tz_def('ADM_BONUS', 'Bonus');
tz_def('ADM_TROOPS', 'Troupes');
tz_def('ADM_UPGRADES', 'Améliorations');
tz_def('ADM_ARTIFACT', 'Artefact');
tz_def('ADM_RESOURCE_FIELDS', 'Cases de ressources');
tz_def('ADM_BUILDINGS', 'Bâtiments');
tz_def('ADM_GID', 'GID');
tz_def('ADM_LVL', 'Niv.');
tz_def('ADM_VILLAGE_BUILD_LOG', 'Journal de construction du village →');
tz_def('ADM_CHANGE', 'Modifier');
tz_def('ADM_RENAME', 'Renommer');
tz_def('ADM_SHOW_INSTRUCTIONS', 'Afficher les instructions');
tz_def('ADM_RESOURCE_FIELDS_1_18', 'Cases de ressources (1-18)');
tz_def('ADM_VILLAGE_CENTER_19_38', 'Centre du village (19-38)');
tz_def('ADM_MODIFY_BUILDINGS', 'Modifier les bâtiments');
tz_def('ADM_SAVE_CHANGES', 'Enregistrer');
tz_def('ADM_CURRENT_LAYOUT_PREVIEW', 'Aperçu de la disposition actuelle');
tz_def('ADM_VILLAGE_CENTER', 'Centre du village');
tz_def('ADM_EDIT_PLAYER', '✏️ Modifier le joueur :');
tz_def('ADM_ACCOUNT_DETAILS', '👤 Détails du compte');
tz_def('ADM_USERNAME_2', '👤 Nom d\\\'utilisateur');
tz_def('ADM_SAVE_2', '💾 Enregistrer');
tz_def('ADM_TRIBE_2', '⚔️ Tribu');
tz_def('ADM_1_ROMAN', '1. Romains');
tz_def('ADM_2_TEUTON', '2. Teutons');
tz_def('ADM_3_GAUL', '3. Gaulois');
tz_def('ADM_4_NATURE', '4. Nature');
tz_def('ADM_5_NATARS', '5. Natars');
tz_def('ADM_6_HUN', '6. Huns');
tz_def('ADM_7_EGYPTIAN', '7. Égyptiens');
tz_def('ADM_8_SPARTAN', '8. Spartiates');
tz_def('ADM_9_VIKING', '9. Vikings');
tz_def('ADM_LOCATION', '📍 Emplacement');
tz_def('ADM_E_MAIL', '✉️ E-mail');
tz_def('ADM_QUEST', '🎯 Quête');
tz_def('ADM_PROFILE_DESCRIPTION_LEFT', '📝 Description du profil (gauche)');
tz_def('ADM_PROFILE_DESCRIPTION_RIGHT', '📄 Description du profil (droite)');
tz_def('ADM_SUPORT_BBCODE_FOLOSE_TE_ENTER_PENTRU_LINII_N', 'BBCode pris en charge. Utilisez Entrée pour un saut de ligne.');
tz_def('ADM_MEDALS', '🏅 Médailles');
tz_def('ADM_CATEGORY', 'Catégorie');
tz_def('ADM_RANK', 'Rang');
tz_def('ADM_WEEK', 'Semaine');
tz_def('ADM_BB_CODE', 'BB-Code');
tz_def('ADM_BEGINNERS_PROTECTION', 'Protection des débutants');
tz_def('ADM_SAVE_CHANGES_2', '💾 Enregistrer');
tz_def('ADM_GO_BACK_TO_PLAYER', '« Retour au joueur');
tz_def('ADM_CHANGE_USERNAME', 'Changer le nom d\\\'utilisateur');
tz_def('ADM_DELETE_PLAYER_PERMANENTLY', 'SUPPRIMER LE JOUEUR DÉFINITIVEMENT');
tz_def('ADM_THIS_ACTION_CANNOT_BE_UNDONE', 'Cette action est irréversible !');
tz_def('ADM_PLAYER_TO_DELETE', '🗑️ Joueur à supprimer');
tz_def('ADM_PLUS_ENDS', 'Fin du Plus');
tz_def('ADM_WARNING', 'ATTENTION :');
tz_def('ADM_PERMANENTLY', 'définitivement');
tz_def('ADM_DELETED_THERE_IS_NO_RECOVERY', 'supprimé. Aucune récupération possible !');
tz_def('ADM_CONFIRM_WITH_YOUR_ADMIN_PASSWORD', 'Confirmez avec votre mot de passe administrateur :');
tz_def('ADM_CANCEL_2', '← Annuler');
tz_def('ADM_DELETE_PLAYER', '🗑️ SUPPRIMER LE JOUEUR');
tz_def('ADM_EDIT_SITTERS', 'Modifier les remplaçants :');
tz_def('ADM_SITTER_SETTINGS', '⚙️ Paramètres des remplaçants');
tz_def('ADM_USE_THE_PLAYER_S_UID_ENTER', '💡 Utilisez l\\\'UID du joueur. Saisissez');
tz_def('ADM_TO_DELETE_THE_SITTER_YOU_CAN_FIND_THE_UID_IN', 'pour supprimer le remplaçant. Vous trouverez l\\\'UID dans la recherche.');
tz_def('ADM_SITTER_1', '👤 Remplaçant 1');
tz_def('ADM_SITTER_2', '👤 Remplaçant 2');
tz_def('ADM_SAVE_SITTERS', '💾 Enregistrer les remplaçants');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 4: gold, usergold, givePlus, givePlusRes,
// punish, maintenance, resetServer, cleanban, massmessage, sysmessage)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_GOLD_MANAGEMENT', 'Gestion de l\'or');
tz_def('ADM_GIVE_EVERYONE_FREE_GOLD', 'Offrir de l\'or à tous');
tz_def('ADM_THIS_GOLD_WILL_BE_ADDED_TO_ALL_ACTIVE_PLAYER', 'Cet or sera ajouté à TOUS les joueurs actifs du serveur.');
tz_def('ADM_GIVE_GOLD', 'Offrir de l\'or');
tz_def('ADM_GOLD_HAS_BEEN_SUCCESSFULLY_ADDED_TO_ALL_PLAY', '✓ L\'or a bien été ajouté à tous les joueurs !');
tz_def('ADM_USER_GOLD', 'Or du joueur');
tz_def('ADM_GIVE_GOLD_TO_SPECIFIC_PLAYER', 'Offrir de l\'or à un joueur précis');
tz_def('ADM_ADD_GOLD_ONLY_FOR_SINGLE_ACCOUNT_AFTER_ID', 'Ajouter de l\'or à un seul compte (par ID).');
tz_def('ADM_AMOUNT_GOLD', 'Quantité d\'or');
tz_def('ADM_GOLD_SUCCESSFULLY_ADDED_FOR_USER', '✓ Or ajouté au joueur avec succès !');
tz_def('ADM_PLUS_MANAGEMENT', 'Gestion du Plus');
tz_def('ADM_GIVE_EVERYONE_FREE_PLUS', 'Offrir le Plus à tous');
tz_def('ADM_ACTIVATE_TRAVIAN_PLUS_FOR_ALL_PLAYERS_ON_THE', 'Activer Travian Plus pour TOUS les joueurs du serveur.');
tz_def('ADM_DAYS', 'Jours');
tz_def('ADM_GIVE_PLUS', 'Offrir le Plus');
tz_def('ADM_PLUS_HAS_BEEN_SUCCESSFULLY_ACTIVATED_FOR_ALL', '✓ Le Plus a bien été activé pour tous les joueurs !');
tz_def('ADM_RESOURCE_BONUS', 'Bonus de ressources');
tz_def('ADM_GIVE_EVERYONE_RESOURCE_BONUS', 'Offrir le bonus de ressources à tous');
tz_def('ADM_ACTIVATE_A_25_BONUS_FOR_ALL_RESOURCES_FOR_AL', 'Activer un bonus de 25 % sur toutes les ressources pour TOUS les joueurs.');
tz_def('ADM_DAYS_2', 'jours');
tz_def('ADM_GIVE_RESOURCE_BONUS', 'Offrir le bonus de ressources');
tz_def('ADM_RESOURCE_BONUSES_HAVE_BEEN_ACTIVATED_FOR_ALL', '✓ Les bonus de ressources ont été activés pour tous les joueurs !');
tz_def('ADM_PUNISH_PLAYER', 'Sanctionner le joueur');
tz_def('ADM_OK', 'OK');
tz_def('ADM_DELETE_TROOPS', 'Supprimer les troupes');
tz_def('ADM_EMPTY_WAREHOUSES', 'Vider les entrepôts');
tz_def('ADM_STARTED_BY', 'Lancée par :');
tz_def('ADM_UID', '(UID :');
tz_def('ADM_ENABLE_MAINTENANCE', 'Activer la maintenance');
tz_def('ADM_DISABLE_MAINTENANCE', 'Désactiver la maintenance');
tz_def('ADM_STOP', 'Arrêter');
tz_def('ADM_SERVER_RESETTING', '⚠️ Réinitialisation du serveur');
tz_def('ADM_WARNING_IRREVERSIBLE_ACTION', 'ATTENTION ! Action irréversible');
tz_def('ADM_THIS_OPERATION_WILL_DELETE_ALL_DATA_PLAYERS', 'Cette opération supprimera TOUTES les données : joueurs, villages, alliances, rapports. Le serveur reviendra à son état initial.');
tz_def('ADM_THIS_SERVER_WILL_BE_RESET_TO_CREATE_NEW_GAME', 'Ce serveur sera réinitialisé afin d\'en créer un nouveau.');
tz_def('ADM_CLICK_BUTTON', 'Cliquez sur le bouton');
tz_def('ADM_RESET', 'Réinitialiser');
tz_def('ADM_TO_PROCEED', 'pour continuer.');
tz_def('ADM_PLEASE_WAIT_WHILE_THE_SERVER_IS_BEING_RESET', 'Veuillez patienter... réinitialisation du serveur en cours');
tz_def('ADM_BACK_2', '« Retour');
tz_def('ADM_RESET_SERVER', 'Réinitialiser le serveur');
tz_def('ADM_CLEAR_BANLIST_DATA', 'Effacer liste de bannissements');
tz_def('ADM_TRUNCATE', '(TRUNCATE)');
tz_def('ADM_CLEAN', 'Nettoyer');
tz_def('ADM_SEND_MESSAGE_TO_ALL_PLAYERS', 'Envoyer un message à tous les joueurs');
tz_def('ADM_CONFIRM', 'Confirmer :');
tz_def('ADM_ARE_YOU_SURE_YOU_WANT_TO_SEND', 'Voulez-vous vraiment envoyer ?');
tz_def('ADM_SUBJECT', 'Objet :');
tz_def('ADM_YES_SEND', '✓ Oui, envoyer');
tz_def('ADM_SENDING_MESSAGES', 'Envoi des messages...');
tz_def('ADM_SUBJECT_2', 'Objet');
tz_def('ADM_MESSAGE_COLOR', 'Couleur du message');
tz_def('ADM_MESSAGE_CONTENT', 'Contenu du message');
tz_def('ADM_CONTINUA', 'Continuer');
tz_def('ADM_MASS_MESSAGE_SUCCESSFULLY_SENT_TO_ALL_PLAYER', '✓ Message groupé envoyé à tous les joueurs !');
tz_def('ADM_EX_MAINTENANCE', 'ex. : Maintenance');
tz_def('ADM_BLACK_SAU_E67E22', 'black ou #e67e22');
tz_def('ADM_WRITE_THE_MESSAGE_YOU_CAN_USE_URL_IMG', 'Rédigez le message... vous pouvez utiliser [url][img]');
tz_def('ADM_CONFIRMARE_SYSTEM_MESSAGE', 'Confirmation du message système');
tz_def('ADM_COLOR', 'Couleur :');
tz_def('ADM_SEND_SYSTEM_MESSAGE', '✓ Envoyer le message système');
tz_def('ADM_SENDING_SYSTEM_MESSAGE', 'Envoi du message système...');
tz_def('ADM_COLOR_2', 'Couleur');
tz_def('ADM_CONTINUE', 'Continuer');
tz_def('ADM_SYSTEM_MESSAGE_SENT_SUCCESSFULLY', '✓ Message système envoyé avec succès');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 5: alliance, editAli, delAli, allymedals,
// delallymedal, playermedals, delmedal, admin_log, debug_log, techlog)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_FOUNDER', '👑 Fondateur :');
tz_def('ADM_MEMBERS', '👥 Membres :');
tz_def('ADM_POINTS', '🏆 Points :');
tz_def('ADM_ALLIANCE_DETAILS', '📋 Détails de l\'alliance');
tz_def('ADM_TAG', 'Tag');
tz_def('ADM_POINTS_2', 'Points');
tz_def('ADM_CAPACITY', 'Capacité');
tz_def('ADM_ALLIANCE_POSITIONS', '🛡 Rangs de l\'alliance');
tz_def('ADM_EDIT_ALLIANCE', '✏ Modifier l\'alliance');
tz_def('ADM_DELETE_2', '🗑 Supprimer');
tz_def('ADM_ALLIANCE_DESCRIPTION', '📖 Description de l\'alliance');
tz_def('ADM_ALLIANCE_NOTICE', '📢 Annonce de l\'alliance');
tz_def('ADM_PLAYER_2', 'Joueur');
tz_def('ADM_ALLIANCE_NEWS', '📰 Actualités de l\'alliance');
tz_def('ADM_EVENT', 'Événement');
tz_def('ADM_DIPLOMACY', '🤝 Diplomatie');
tz_def('ADM_TYPE', 'Type');
tz_def('ADM_EDIT_ALLIANCE_2', '✏️ Modifier l\'alliance :');
tz_def('ADM_BASIC_SETTINGS', '⚙️ Paramètres de base');
tz_def('ADM_ALLIANCE_TAG_MAX_8', 'Tag de l\'alliance (max 8)');
tz_def('ADM_ALLIANCE_NAME', 'Nom de l\'alliance');
tz_def('ADM_LEADER_FOUNDER', '👑 Chef (fondateur)');
tz_def('ADM_SCHIMB_FONDATORUL_ALIAN_EI', 'Changer le fondateur de l\'alliance');
tz_def('ADM_MAX_MEMBERS', '👥 Membres maximum');
tz_def('ADM_ALLIANCE_NOTICE_APARE_SUS', '📢 Annonce de l\'alliance (affichée en haut)');
tz_def('ADM_ALLIANCE_DESCRIPTION_PAGINA_PUBLIC', '📖 Description de l\'alliance (page publique)');
tz_def('ADM_SAVE_ALLIANCE', '💾 Enregistrer l\'alliance');
tz_def('ADM_MESAJ_SCURT_PENTRU_MEMBRI', 'Message court pour les membres...');
tz_def('ADM_DESCRIERE_LUNG_BBCODE_PERMIS', 'Description longue, BBCode autorisé...');
tz_def('ADM_DELETE_ALLIANCE', '🗑 Supprimer l\'alliance');
tz_def('ADM_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE', 'Voulez-vous vraiment supprimer définitivement ? :');
tz_def('ADM_MEMBERS_2', 'Membres :');
tz_def('ADM_POINTS_3', '| Points :');
tz_def('ADM_ALL_MEMBERS_WILL_BE_REMOVED_FROM_THE_ALLIANC', '⚠ Tous les membres seront retirés de l\'alliance ; les permissions, la diplomatie, les journaux et le forum de l\'alliance seront supprimés. L\'action est irréversible !');
tz_def('ADM_YES_DELETE', 'OUI, SUPPRIMER');
tz_def('ADM_MEDAL', 'Médaille');
tz_def('ADM_THIS_ALLIANCE_HAS_NO_MEDALS_YET', 'Cette alliance n\'a pas encore de médailles');
tz_def('ADM_AVERAGE_RANK', 'Rang moyen');
tz_def('ADM_DELETE_ALL', 'Tout supprimer');
tz_def('ADM_MEDAL_INFORMATION', 'Informations sur la médaille');
tz_def('ADM_MEDALS_2', 'Médailles');
tz_def('ADM_MEDAL_WEEK_BY_WEEK', 'Médailles semaine par semaine');
tz_def('ADM_CATEGORY_2', 'CATÉGORIE');
tz_def('ADM_RANK_2', 'RANG');
tz_def('ADM_WEEK_2', 'SEMAINE');
tz_def('ADM_POINTS_4', 'POINTS');
tz_def('ADM_MEDAL_2', 'MÉDAILLE');
tz_def('ADM_THIS_PLAYER_HAS_NO_MEDALS_YET', 'Ce joueur n\'a pas encore de médailles');
tz_def('ADM_UNIFIED_ADMIN_LOG_LAST_300_ACTIONS', '📋 Journal d\'administration 300 dernières actions');
tz_def('ADM_CATEGORIE', 'Catégorie');
tz_def('ADM_DETALII', 'Détails');
tz_def('ADM_DATA', 'Date');
tz_def('ADM_DEBUG_ERROR_LOG', '🐞 Journal des erreurs');
tz_def('ADM_CAPTURE_IS', 'La capture est');
tz_def('ADM_AUTO_OFF', 'Arrêt automatique :');
tz_def('ADM_LOG_SIZE', 'Taille du journal :');
tz_def('ADM_TRANSPARENT_TO_PLAYERS_ERRORS_ARE_ONLY_WRITT', 'Transparent pour les joueurs : les erreurs sont uniquement écrites dans le fichier journal, jamais affichées en jeu, et le jeu n\'est pas affecté.');
tz_def('ADM_CAPTURE_SETTINGS', 'Paramètres de capture');
tz_def('ADM_WARNINGS', 'Avertissements');
tz_def('ADM_NOTICES', 'Remarques');
tz_def('ADM_DEPRECATED', 'Obsolète');
tz_def('ADM_FATAL_ERRORS', 'Erreurs fatales');
tz_def('ADM_MAX_FILE_SIZE_MB', 'Taille max du fichier (Mo) :');
tz_def('ADM_AUTO_OFF_AFTER_HOURS_0_NEVER', 'Arrêt automatique après (heures, 0 = jamais) :');
tz_def('ADM_SAVE_SETTINGS', 'Enregistrer les paramètres');
tz_def('ADM_BEYOND_THE_SIZE_CAP_THE_FILE_IS_ROTATED_TO_A', 'Au-delà de la limite, le fichier est basculé vers une seule');
tz_def('ADM_BACKUP_SO_THE_TOTAL_VOLUME_STAYS_BOUNDED', 'sauvegarde, le volume total reste donc borné.');
tz_def('ADM_DOWNLOAD_FULL_LOG', '⬇ Télécharger le journal complet');
tz_def('ADM_CLEAR_LOG', '🗑 Vider le journal');
tz_def('ADM_REFRESH', '↻ Actualiser');
tz_def('ADM_BACK_TO_VILLAGE', '← Retour au village');
tz_def('ADM_RESEARCH_LOG', '— Journal de recherche');
tz_def('ADM_LATEST_200_SEARCHES', '200 dernières recherches');
tz_def('ADM_NO_REGISTERED_SEARCHES', 'Aucune recherche enregistrée.');
tz_def('ADM_TECH', 'TECH');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 6: editAccess, editPassword, editProtection,
// editPlus, editWeek, editOverall, editAdditional, results_player/alliances/villages)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_CHANGE_ACCESS', 'Modifier l\'accès');
tz_def('ADM_NORMAL_USER', 'Joueur normal');
tz_def('ADM_MULTIHUNTER', 'Multihunter');
tz_def('ADM_GIVE_PLAYERS_FREE_GOLD', 'Offrir de l\'or aux joueurs');
tz_def('ADM_CHANGE_PASSWORD', 'Changer le mot de passe :');
tz_def('ADM_THE_PASSWORD_IS_CHANGED_INSTANTLY_THE_PLAYER', 'Le mot de passe est changé immédiatement. Le joueur sera déconnecté. Aucun e-mail automatique n\'est envoyé.');
tz_def('ADM_NEW_PASSWORD', 'Nouveau mot de passe');
tz_def('ADM_GENERATE_SECURE_PASSWORD', '🎲 Générer un mot de passe sûr');
tz_def('ADM_CHANGE_PASSWORD_2', '🔐 Changer le mot de passe');
tz_def('ADM_INTRODU_PAROLA_NOU', 'Saisissez le nouveau mot de passe');
tz_def('ADM_SHOW_HIDE', 'Afficher/Masquer');
tz_def('ADM_PROTECTION', 'Protection :');
tz_def('ADM_CURRENT_STATUS_2', 'État actuel');
tz_def('ADM_1_DAY_2', '+1 jour');
tz_def('ADM_3_DAYS_2', '+3 jours');
tz_def('ADM_7_DAYS_2', '+7 jours');
tz_def('ADM_SET_TO_0_TO_REMOVE_PROTECTION_PROTECTION_IS', '💡 Mettez 0 pour retirer la protection. La protection court à partir de l\'enregistrement.');
tz_def('ADM_SAVE_PROTECTION', '💾 Enregistrer la protection');
tz_def('ADM_PLUS_BONUSES', '⭐ Plus et bonus :');
tz_def('ADM_THE_VALUES_ADD_UP_PUT_5_TO_ADD_5_DAYS_5_TO_R', '️ Les valeurs s\'additionnent. Mettez 5 pour ajouter 5 jours, -5 pour en retirer 5.');
tz_def('ADM_CURRENT_ACTIVE_BONUSES', '📊 Bonus actuellement actifs');
tz_def('ADM_ADD_REMOVE_DAYS', ' Ajouter / retirer des jours');
tz_def('ADM_APPLY_BONUSES', '💾 Appliquer les bonus');
tz_def('ADM_WEEKLY_STATS', 'Statistiques hebdomadaires :');
tz_def('ADM_ACESTEA_SUNT_PUNCTELE', '📊 Voici les points');
tz_def('ADM_DIN_S_PT_M_NA_CURENT', 'de la semaine en cours');
tz_def('ADM_PENTRU_TOP_10_SE_RESETEAZ_AUTOMAT', 'pour le top 10. Réinitialisation automatique.');
tz_def('ADM_ATTACK', 'Attaque');
tz_def('ADM_RAID', 'Pillage');
tz_def('ADM_SAVE_WEEK', '💾 Enregistrer la semaine');
tz_def('ADM_OVERALL_POINTS', 'Points totaux :');
tz_def('ADM_ACESTEA_SUNT_PUNCTELE_2', '🛡️ Voici les points');
tz_def('ADM_TOTALE', 'totaux');
tz_def('ADM_DIN_STATISTICI_NU_CELE_S_PT_M_NALE_SE_ADUN_D', 'des statistiques (pas les hebdomadaires). Ils cumulent toutes les attaques.');
tz_def('ADM_ATTACK_POINTS', 'Points d\'attaque');
tz_def('ADM_DEFENCE_POINTS', 'Points de défense');
tz_def('ADM_SAVE_POINTS', '💾 Enregistrer les points');
tz_def('ADM_EDIT_ADDITIONAL', '⚙️ Informations supplémentaires :');
tz_def('ADM_ACCOUNT_CONTROL', '🔐 Contrôle du compte');
tz_def('ADM_ACCESS_LEVEL', 'Niveau d\'accès');
tz_def('ADM_0_BANNED', '0 - Banni');
tz_def('ADM_2_NORMAL_USER', '2 - Joueur normal');
tz_def('ADM_8_MULTIHUNTER', '8 - Multihunter');
tz_def('ADM_9_ADMIN', '9 - Administrateur');
tz_def('ADM_VACATION_MODE_2', '🏖 Mode vacances');
tz_def('ADM_0_DISABLED', '0 - Désactivé');
tz_def('ADM_1_ENABLED', '1 - Activé');
tz_def('ADM_PROTECTION_2', '🛡️ Protection');
tz_def('ADM_ZILE', 'jours');
tz_def('ADM_SITTERS', '👥 Remplaçants');
tz_def('ADM_SITTER_1_UID', 'Remplaçant 1 (UID)');
tz_def('ADM_SITTER_2_UID', 'Remplaçant 2 (UID)');
tz_def('ADM_STATISTICS_POINTS', '📊 Statistiques et points');
tz_def('ADM_CULTURE_POINTS', '🏛️ Points de culture');
tz_def('ADM_ATTACK_POINTS_2', '⚔️ Points d\'attaque');
tz_def('ADM_DEFENCE_POINTS_2', '🛡️ Points de défense');
tz_def('ADM_RESOURCES_RAIDED', '💎 Ressources pillées');
tz_def('ADM_TOTAL_ATTACK', '⚔️ Attaque totale');
tz_def('ADM_TOTAL_DEFENCE', '🛡️ Défense totale');
tz_def('ADM_GOLD_2', 'or');
tz_def('ADM_UID_2', 'UID');
tz_def('ADM_PLAYER_3', 'JOUEUR');
tz_def('ADM_VILLAGES_2', 'VILLAGES');
tz_def('ADM_POP_2', 'POP.');
tz_def('ADM_AID', 'AID');
tz_def('ADM_NAME_2', 'NOM');
tz_def('ADM_TAG_2', 'TAG');
tz_def('ADM_FOUNDER_2', 'FONDATEUR');
tz_def('ADM_VILLAGE_NAME', 'NOM DU VILLAGE');
tz_def('ADM_OWNER_2', 'PROPRIÉTAIRE');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 7: natars, map, map_tile, artifact,
// goldShop, questEditor, multiacc, pushprot, blockReg, heatmap)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_WW_VILLAGES', '🏰 Villages MdM');
tz_def('ADM_NUMBER', 'Numéro');
tz_def('ADM_PLAYER_ID', 'ID du joueur');
tz_def('ADM_ADD_ARTIFACTS', '✨ Ajouter des artefacts');
tz_def('ADM_ICON', 'Icône');
tz_def('ADM_DELETED_ARTIFACTS', '🗑️ Artefacts supprimés');
tz_def('ADM_EFFECT', 'Effet');
tz_def('ADM_OLD_OWNER', 'Ancien propriétaire');
tz_def('ADM_OLD_VILLAGE', 'Ancien village');
tz_def('ADM_ARTIFACTS_OVERVIEW', '📊 Vue des artefacts');
tz_def('ADM_RESTORE', 'Restaurer');
tz_def('ADM_INTERACTIVE_WORLD_MAP_SEARCH_PLAYERS_VILLAGE', 'Carte du monde interactive recherchez joueurs, villages et artefacts');
tz_def('ADM_PLAYERS', 'Joueurs');
tz_def('ADM_ARTIFACTS', 'Artefacts');
tz_def('ADM_APPLY_FILTERS', 'Appliquer les filtres');
tz_def('ADM_TRIBES', 'Tribus');
tz_def('ADM_MULTIHUNTERS', 'Multihunters');
tz_def('ADM_CHECK_EDIT_MAP_TILE', 'Vérifier et modifier une case');
tz_def('ADM_CHECK_TILE', 'Vérifier la case');
tz_def('ADM_AREA_OF_EFFECT', 'Zone d\'effet');
tz_def('ADM_TIME_OF_CONQUER', 'Heure de conquête');
tz_def('ADM_TIME_OF_ACTIVATION', 'Heure d\'activation');
tz_def('ADM_RETURN_TO_NATARS', 'Rendre aux Natars');
tz_def('ADM_SHOP_PROMO_CODES', 'Boutique et codes promo');
tz_def('ADM_DIRECTLY', 'directement.');
tz_def('ADM_CREATE_A_CODE', 'Créer un code');
tz_def('ADM_CODE', 'Code');
tz_def('ADM_MAX_USES_0', 'Utilisations max (0 = &infin;)');
tz_def('ADM_EXPIRES_IN_DAYS_0_NEVER', 'Expire dans (jours, 0 = jamais)');
tz_def('ADM_ONCE_PER_PLAYER', 'une fois par joueur');
tz_def('ADM_NOTE_OPTIONAL', 'Note (facultatif)');
tz_def('ADM_CREATE', 'Créer');
tz_def('ADM_CODES_ARE_CASE_INSENSITIVE_ALLOWED_CHARACTER', 'Les codes ne tiennent pas compte de la casse ; caractères autorisés : A-Z 0-9 . _ &ndash;');
tz_def('ADM_NO_PROMO_CODES_YET', 'Aucun code promo pour le moment.');
tz_def('ADM_USES', 'Utilisations');
tz_def('ADM_SCOPE', 'Portée');
tz_def('ADM_NOTE', 'Note');
tz_def('ADM_RECENT_REDEMPTIONS', 'Utilisations récentes');
tz_def('ADM_NO_REDEMPTIONS_YET', 'Aucune utilisation pour le moment.');
tz_def('ADM_WHEN', 'Quand');
tz_def('ADM_REASON_CAMPAIGN', 'motif / campagne');
tz_def('ADM_QUEST_2', 'Quête');
tz_def('ADM_EDITOR', 'Éditeur');
tz_def('ADM_QTYP_37', 'qtyp&nbsp;37');
tz_def('ADM_GET', 'reçoivent');
tz_def('ADM_EXTENDED', 'étendue');
tz_def('ADM_EVERYONE_ELSE', ', tous les autres');
tz_def('ADM_STANDARD', 'standard');
tz_def('ADM_REWARD_VALUES_ARE_LIVE_VIA', 'Les valeurs de récompense sont appliquées via');
tz_def('ADM_FIXED', 'fixe');
tz_def('ADM_STANDARD_QUEST_CORE25', 'Standard (quest_core25)');
tz_def('ADM_EXTENDED_QUEST_CORE', 'Étendue (quest_core)');
tz_def('ADM_ON', 'Actif');
tz_def('ADM_PLUS_DAYS', 'Plus (jours)');
tz_def('ADM_REQ_LEVEL', 'Niveau&nbsp;requis');
tz_def('ADM_QUEST_HOVER', 'Quête (survol)');
tz_def('ADM_SAVE_ALL_CHANGES', 'Enregistrer toutes les modifications');
tz_def('ADM_SAVES_EVERY_ROW_FOR_THE', 'Enregistre chaque ligne pour la variante');
tz_def('ADM_VARIANT', 'variante.');
tz_def('ADM_RESET_THIS_VARIANT_TO_DEFAULTS', 'Réinitialiser cette variante aux valeurs par défaut');
tz_def('ADM_MULTI_ACCOUNT', 'Multi-comptes');
tz_def('ADM_DETECTION', 'Détection');
tz_def('ADM_RISK_SCORE_NOT_PROOF', 'score de risque, pas une preuve');
tz_def('ADM_WINDOW_DAYS', 'Fenêtre (jours)');
tz_def('ADM_MIN_SCORE', 'Score min.');
tz_def('ADM_FOCUS_ON_UID_OPTIONAL', 'Cibler un UID (facultatif)');
tz_def('ADM_ANALYSE', 'Analyser');
tz_def('ADM_NO_ACCOUNT_PAIRS_AT_OR_ABOVE_THE_CURRENT_SCO', 'Aucune paire de comptes au niveau ou au-dessus du seuil actuel.');
tz_def('ADM_RISK', 'Risque');
tz_def('ADM_ACCOUNT_A', 'Compte A');
tz_def('ADM_ACCOUNT_B', 'Compte B');
tz_def('ADM_WHY', 'Pourquoi');
tz_def('ADM_LOGIN_LOG', 'journal de connexion');
tz_def('ADM_FOCUS', 'cibler');
tz_def('ADM_RESET_2', 'réinitialiser');
tz_def('ADM_DASHBOARD', 'Tableau de bord');
tz_def('ADM_PER_PLAYER', 'Par joueur');
tz_def('ADM_7_DAY_RESOURCE_BALANCE', 'Bilan des ressources sur 7 jours');
tz_def('ADM_HOURS_OF_PROD_ALLOWED', 'Heures de prod. autorisées');
tz_def('ADM_SHOW_2', 'Afficher');
tz_def('ADM_ALL_WITH_ACTIVITY', 'Tous avec activité');
tz_def('ADM_OVER_LIMIT_ONLY', 'Au-dessus de la limite uniquement');
tz_def('ADM_WW_ARTEFACT_OVERRIDDEN', 'MdM / artefact / dérogation');
tz_def('ADM_REFRESH_2', 'Actualiser');
tz_def('ADM_NO_INTER_PLAYER_TRANSFERS_RECORDED_IN_THIS_W', 'Aucun transfert entre joueurs enregistré dans cette fenêtre.');
tz_def('ADM_VILLAGES_POP', 'Villages / Pop.');
tz_def('ADM_PROD_H', 'Prod./h');
tz_def('ADM_RECEIVED_7D', 'Reçu (7 j)');
tz_def('ADM_LIMIT', 'Limite');
tz_def('ADM_USAGE', 'Utilisation');
tz_def('ADM_OVERRIDE', 'Dérogation');
tz_def('ADM_AUTO', 'Auto');
tz_def('ADM_CUSTOM_CAP', 'Plafond personnalisé');
tz_def('ADM_SAVE_3', 'Enregistrer');
tz_def('ADM_REGISTRATION', 'Inscription');
tz_def('ADM_BLOCKLIST', 'Liste de blocage');
tz_def('ADM_BLOCK_NEW_REGISTRATIONS_BY_A_SPECIFIC', 'Bloquer les nouvelles inscriptions par');
tz_def('ADM_USERNAME_3', 'nom d\'utilisateur');
tz_def('ADM_A_SPECIFIC', ', une');
tz_def('ADM_OR_A_WHOLE', ', ou tout un');
tz_def('ADM_E_MAIL_DOMAIN', 'domaine e-mail');
tz_def('ADM_ADD_A_BLOCK', 'Ajouter un blocage');
tz_def('ADM_E_MAIL_ADDRESS', 'Adresse e-mail');
tz_def('ADM_E_MAIL_DOMAIN_2', 'Domaine e-mail');
tz_def('ADM_VALUE', 'Valeur');
tz_def('ADM_ADD_BLOCK', 'Ajouter le blocage');
tz_def('ADM_DOMAIN_ENTER_JUST_THE_DOMAIN', 'Domaine : saisissez uniquement le domaine (');
tz_def('ADM_NO_REGISTRATION_BLOCKS_YET', 'Aucun blocage d\'inscription pour le moment.');
tz_def('ADM_ADDED', 'Ajouté');
tz_def('ADM_REASON_2', 'motif');
tz_def('ADM_REMOVE_2', 'retirer');
tz_def('ADM_WORLD_MAP', 'Carte du monde');
tz_def('ADM_HEATMAP', 'Carte de chaleur');
tz_def('ADM_GRID_RESOLUTION', 'Résolution de la grille');
tz_def('ADM_INACTIVE_AFTER_DAYS', 'Inactif après (jours)');
tz_def('ADM_REBUILD', 'Reconstruire');
tz_def('ADM_VILLAGE_DENSITY', 'Densité des villages');
tz_def('ADM_TRIBE_DENSITY', 'Densité des tribus');
tz_def('ADM_INACTIVITY', 'Inactivité');
tz_def('ADM_ATTACKS', 'Attaques');
tz_def('ADM_SUMMARY', 'Résumé');
tz_def('ADM_PLAYER_VILLAGES', 'Villages des joueurs');
tz_def('ADM_INACTIVE_VILLAGES', 'Villages inactifs');
tz_def('ADM_ATTACKS_IN_FLIGHT', 'Attaques en cours');
tz_def('ADM_LEGEND', 'Légende');
tz_def('ADM_TRIBE_TOTALS', 'Totaux par tribu');
tz_def('ADM_NO_PLAYER_VILLAGES_FOUND', 'Aucun village de joueur trouvé.');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 8, final: restul de 26 de sabloane)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_404_FILE_NOT_FOUND', '404 - Fichier introuvable');
tz_def('ADM_WE_LOOKED_404_TIMES_ALREADY_BUT_CAN_T_FIND_A', 'Nous avons cherché 404 fois sans rien trouver, pas même une croix marquant l\'endroit.');
tz_def('ADM_THIS_SYSTEM_IS_NOT_COMPLETE_YET_SO_THE_PAGE', 'Ce système n\'est pas encore terminé. La page n\'existe donc probablement pas.');
tz_def('ADM_NOT_FOUND', 'Introuvable');
tz_def('ADM_NEW_MESSAGE', 'Nouveau message');
tz_def('ADM_TO', 'à');
tz_def('ADM_RECIPIENT', 'Destinataire');
tz_def('ADM_SEND_MESSAGE', 'Envoyer le message');
tz_def('ADM_PLAYER_NOT_FOUND', 'Joueur introuvable.');
tz_def('ADM_GO_BACK', 'Retour');
tz_def('ADM_MESSAGE_FROM_ADMIN', 'Message de l\'administrateur');
tz_def('ADM_WRITE_YOUR_MESSAGE_HERE', 'Rédigez votre message ici...');
tz_def('ADM_TROOP', 'Troupe');
tz_def('ADM_ARMOURY', 'Armurerie');
tz_def('ADM_BLACKSMITH', 'Forge');
tz_def('ADM_BACK_3', 'Retour');
tz_def('ADM_NOW', 'Actuel :');
tz_def('ADM_CREATE_USERS', '👤 Créer des joueurs');
tz_def('ADM_SUBMITTING_THIS_FORM_WILL_CREATE_NEW_USERS_A', 'L\'envoi de ce formulaire créera de nouveaux joueurs et/ou villages sur votre serveur !');
tz_def('ADM_MANY_ACCOUNTS_1_VILLAGE', 'Plusieurs comptes (1 village)');
tz_def('ADM_1_ACCOUNT_MANY_VILLAGES', '1 compte (plusieurs villages)');
tz_def('ADM_BASE_NAME', 'Nom de base');
tz_def('ADM_4_20_CHARACTERS_EX_FARM_5_FARM1_FARM5_SINGLE', '4 à 20 caractères. Ex. : Farm | 5 → Farm1..Farm5. Compte unique : FarmLord | 5 villages.');
tz_def('ADM_WARNING_2', 'Attention :');
tz_def('ADM_LARGE_VALUES_MAY_FREEZE_THE_SERVER', 'des valeurs élevées peuvent bloquer le serveur !');
tz_def('ADM_HOW_MANY_ACCOUNTS', 'Combien de comptes');
tz_def('ADM_HOW_MANY_VILLAGES', 'Combien de villages');
tz_def('ADM_1_200_SINGLE_ONLY', '1 - 200 (compte unique)');
tz_def('ADM_ENABLE_BEGINNER_PROTECTION', 'Activer la protection des débutants');
tz_def('ADM_CREATE_2', '+ Créer');
tz_def('ADM_ADD_VILLAGE', 'Ajouter un village');
tz_def('ADM_COORDINATES_X_Y', 'Coordonnées (X|Y)');
tz_def('ADM_ADD_VILLAGE_2', 'AJOUTER LE VILLAGE');
tz_def('ADM_TO_ENSURE_THAT_YOU_WON_T_GET_BANNED_AGAIN_IN', 'Pour éviter d\'être banni à nouveau, lisez attentivement le règlement');
tz_def('ADM_GAME_RULES', '» Règles du jeu');
tz_def('ADM_TO_CONTINUE_PLAYING_CONTACT_THE_MULTIHUNTER', 'Pour continuer à jouer, contactez le Multihunter et clarifiez la situation avec lui');
tz_def('ADM_WRITE_MESSAGE', '» Écrire un message');
tz_def('ADM_HEED_THE_FOLLOWING_ADVICE_WHEN_WRITING_YOUR', 'Tenez compte des conseils suivants en rédigeant votre message :');
tz_def('ADM_THERE_IS_ALWAYS_A_REASON_FOR_A_BAN', '● Il y a toujours une raison à un bannissement.');
tz_def('ADM_TRY_TO_THINK_ABOUT_POSSIBLE_REASONS_FOR_THIS', 'Réfléchissez aux raisons possibles de ce bannissement');
tz_def('ADM_AND_PUT_THINGS_STRAIGHT_WITH_THE_MULTIHUNTER', 'et clarifiez la situation avec le Multihunter.');
tz_def('ADM_MULTIHUNTERS_CAN_REVIEW_ENORMOUS_AMOUNTS_OF', '● Les Multihunters peuvent consulter énormément d\'informations sur les comptes.');
tz_def('ADM_STICK_TO_THE_TRUTH', 'Restez fidèle à la vérité');
tz_def('ADM_AND_DO_NOT_MAKE_EXCUSES_TO_JUSTIFY_YOUR_VIOL', 'et ne cherchez pas d\'excuses pour justifier votre infraction.');
tz_def('ADM_BE_COOPERATIVE_AND_INSIGHTFUL_THIS_MIGHT_RED', '● Soyez coopératif et lucide, cela peut réduire la sanction.');
tz_def('ADM_CALM_AND_POLITE', 'calme et poli');
tz_def('ADM_WHILE_TALKING_TO_THE_MULTIHUNTER_AND_TELLING', 'en parlant au Multihunter et en lui exposant votre point de vue.');
tz_def('ADM_INCLUDES_RESOURCES_MAIN_BUILDING_RALLY_POINT', 'Comprend les ressources, le bâtiment principal, le point de ralliement, l\'entrepôt, le silo, la muraille, la place du marché, la résidence, des troupes (pour monter le héros) et une cachette.');
tz_def('ADM_IF_THE_MULTIHUNTER_DOES_NOT_ANSWER_IMMEDIATE', '● Si le Multihunter ne répond pas immédiatement, c\'est qu\'il n\'est probablement pas connecté. Envoyer plusieurs messages n\'accélérera pas la résolution, surtout s\'il n\'a pas encore lu le premier.');
tz_def('ADM_IF_YOU_HAVE_REALLY_BEEN_BANNED_UNJUSTLY_TRY', '● Si vous avez vraiment été banni injustement, essayez de rester');
tz_def('ADM_RESOURCE', 'Ressource');
tz_def('ADM_AMOUNT', 'Quantité');
tz_def('ADM_MAXIMUM_CAPACITY', 'Capacité maximale');
tz_def('ADM_BACK_TO_VILLAGE_2', '← Retour au village');
tz_def('ADM_ADMIN_CONTROL', 'Administration');
tz_def('ADM_SERVER_ADMINISTRATION', 'Administration du serveur');
tz_def('ADM_SECURE_ACCESS_TO_TRAVIANZ_PANEL', 'Accès sécurisé au panneau TravianZ');
tz_def('ADM_PASSWORD', 'Mot de passe');
tz_def('ADM_ACCESS_PANEL', 'Accéder au panneau');
tz_def('ADM_ENTER_ADMIN_USERNAME', 'Saisissez le nom d\'administrateur');
tz_def('ADM_ROMANS', 'Romains');
tz_def('ADM_TEUTONS', 'Teutons');
tz_def('ADM_GAULS', 'Gaulois');
tz_def('ADM_RESET_GOLD_FOR_ALL_PLAYERS', 'Réinitialiser l\'or de tous les joueurs');
tz_def('ADM_RESET_ALL_PLAYERS_GOLD', 'Réinitialiser l\'or de tous les joueurs');
tz_def('ADM_THIS_ACTION_WILL_SET_THE_GOLD_TO', 'Cette action mettra l\'or à');
tz_def('ADM_FOR_ALL_PLAYERS_FROM_THE_SERVER', 'pour TOUS les joueurs du serveur.');
tz_def('ADM_WARNING_THE_ACTION_IS_IRREVERSIBLE_MAKE_SURE', '⚠️ ATTENTION : l\'action est irréversible ! Assurez-vous d\'avoir une sauvegarde.');
tz_def('ADM_RESET_GOLD_NOW', 'RÉINITIALISER L\'OR MAINTENANT');
tz_def('ADM_ALL_PLAYERS_GOLD_HAS_BEEN_RESET', '✓ L\'or de tous les joueurs a été réinitialisé !');
tz_def('ADM_RESET_ALL_PLAYERS_PLUS', 'Réinitialiser le Plus de tous les joueurs');
tz_def('ADM_THIS_ACTION_WILL_DISABLE_TRAVIAN_PLUS_FOR_AL', 'Cette action désactivera Travian Plus pour TOUS les joueurs.');
tz_def('ADM_PLUS_IT_WILL_BE_SET_TO_0_DAYS_FOR_EVERYONE', '⚠️ Le Plus sera mis à 0 jour pour tout le monde.');
tz_def('ADM_RESET_PLUS_NOW', 'RÉINITIALISER LE PLUS MAINTENANT');
tz_def('ADM_PLUS_ALL_THE_PLAYERS_HAVE_BEEN_RESET', '✓ Le Plus de tous les joueurs a été réinitialisé !');
tz_def('ADM_RESET_ALL_RESOURCE_BONUSES', 'Réinitialiser tous les bonus de ressources');
tz_def('ADM_THIS_ACTION_WILL_DISABLE_THE_25_BONUS_FOR_AL', 'Cette action désactivera le bonus de 25 % sur TOUTES les ressources chez tous les joueurs.');
tz_def('ADM_ALL_RESOURCE_BONUSES_WILL_BE_SET_TO_0_DAYS', '⚠️ Tous les bonus de ressources seront mis à 0 jour.');
tz_def('ADM_RESET_RESOURCE_BONUS', 'RÉINITIALISER LE BONUS DE RESSOURCES');
tz_def('ADM_RESOURCE_BONUSES_HAVE_BEEN_RESET_FOR_ALL_PLA', '✓ Les bonus de ressources ont été réinitialisés pour tous les joueurs !');
tz_def('ADM_IGM_REPORTS_LOOKUP', 'Recherche de messages / rapports');
tz_def('ADM_IGM_BY_ID', 'Message par ID');
tz_def('ADM_GO', 'Aller');
tz_def('ADM_REPORT_BY_ID', 'Rapport par ID');
tz_def('ADM_ENTER_MESSAGE_ID', 'Saisissez l\'ID du message...');
tz_def('ADM_ENTER_REPORT_ID', 'Saisissez l\'ID du rapport...');
tz_def('ADM_SITTER_1_2', 'Remplaçant 1');
tz_def('ADM_SITTER_2_2', 'Remplaçant 2');
tz_def('ADM_CULTURE_POINTS_2', 'Points de culture');
tz_def('ADM_ATTACK_POINTS_THIS_WEEK', 'Points d\'attaque (cette semaine)');
tz_def('ADM_DEFENCE_POINTS_THIS_WEEK', 'Points de défense (cette semaine)');
tz_def('ADM_RESOURCES_RAIDED_THIS_WEEK', 'Ressources pillées (cette semaine)');
tz_def('ADM_TOTAL_ATTACK_POINTS', 'Points d\'attaque totaux');
tz_def('ADM_TOTAL_DEFENCE_POINTS', 'Points de défense totaux');
tz_def('ADM_EDIT_PLAYER_ADDITIONAL_INFO', 'Modifier les infos supplémentaires du joueur');
tz_def('ADM_THE_ACCOUNT_WILL_BE_DELETED_IN', 'Le compte sera supprimé dans');
tz_def('ADM_CANCEL_3', '✖ Annuler');
tz_def('ADM_CANCEL_DELETION', 'Annuler la suppression');
tz_def('ADM_DESCRIPTION', 'Description');
tz_def('ADM_AGE', 'Âge');
tz_def('ADM_GENDER', 'Sexe');
tz_def('ADM_LOCATION_2', 'Lieu');
tz_def('ADM_LAST_IP', 'Dernière IP');
tz_def('ADM_LANGUAGE', 'Langue');
tz_def('ADM_BAN_USER_2', '&raquo; Bannir le joueur');
tz_def('ADM_SEND_MESSAGE_2', '&raquo; Envoyer un message');
tz_def('ADM_EDIT_PLUS_RES_BONUS', '&raquo; Modifier Plus et bonus de res.');
tz_def('ADM_EDIT_SITTERS_2', '&raquo; Modifier les remplaçants');
tz_def('ADM_EDIT_PROTECTION', '&raquo; Modifier la protection');
tz_def('ADM_EDIT_PASSWORD', '&raquo; Modifier le mot de passe');
tz_def('ADM_EDIT_OVERALL_OFF_DEF', '&raquo; Modifier attaque et défense totales');
tz_def('ADM_EDIT_WEEKLY_OFF_DEF_RAID', '&raquo; Modifier attaque, défense, pillage hebdo');
tz_def('ADM_USER_LOGIN_LOG', '&raquo; Journal de connexion');
tz_def('ADM_USER_ILLEGAL_LOG', '&raquo; Journal des infractions');
tz_def('ADM_RECOUNT_POPULATION', 'Recompter la population');
tz_def('ADM_EMAIL_2', 'E-MAIL');
tz_def('ADM_IP', 'IP');
tz_def('ADM_TRIBE_3', 'Tribu :');
tz_def('ADM_VILLAGES_3', 'Villages :');
tz_def('ADM_POP_3', 'Pop. :');
tz_def('ADM_COORDS_2', 'Coordonnées :');
tz_def('ADM_ILLEGALS_LOG', '🚨 Journal des infractions :');
tz_def('ADM_DETECTED_OFFENCES', 'Infractions détectées');
tz_def('ADM_BACK_TO_PLAYER', '← Retour au joueur');
tz_def('ADM_LOGIN_LOG_2', '🔐 Journal de connexion :');
tz_def('ADM_RECENT_LOGIN_ATTEMPTS', 'Tentatives de connexion récentes');
tz_def('ADM_LOG_ID', 'ID du journal');
tz_def('ADM_IP_ADDRESS', 'Adresse IP');
tz_def('ADM_INFO', 'Info');
tz_def('ADM_BUILD_LOG', '— Journal de construction');
tz_def('ADM_LATEST_200_ACTION', '200 dernières actions');
tz_def('ADM_NO_ACTION_RECORDED_YET', 'Aucune action enregistrée.');
tz_def('ADM_POPULATION_2', 'POPULATION');
tz_def('ADM_COORDINATES', 'COORDONNÉES');
tz_def('ADM_TROOPS_2', 'TROUPES');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - texte lungi si pe mai multe randuri (curatare finala)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_E_MAIL_ADDRESS_2', 'adresse e-mail');
tz_def('ADM_E_G_AN_OBSCENE_USERNAME_OR_THE_ENTIRE', '(p. ex. un nom obscène, ou tout le');
tz_def('ADM_DOMAIN_MATCHING_IS_EXACT_AND_CASE_INSENSITIV', 'domaine). La correspondance est exacte et insensible à la casse. Les comptes existants ne sont pas touchés &mdash; seules les nouvelles inscriptions le sont.');
tz_def('ADM_WITH_OR_WITHOUT_THE_LEADING_E_MAIL_THE_FULL', '), avec ou sans le &ldquo;@&rdquo; initial. E-mail : l\'adresse complète. Nom d\'utilisateur : le nom exact.');
tz_def('ADM_SILVER_2', 'argent &nbsp;|&nbsp;');
tz_def('ADM_OF_EACH', 'de chaque &nbsp;|&nbsp;');
tz_def('ADM_HOURLY_RESOURCES_PRODUCED_BY_EACH_POINT_THE', 'Ressources horaires produites par chaque point investi dans l\'attribut Ressources du héros, dans le village où il se trouve. Les joueurs choisissent librement entre répartir sur les quatre ressources ou concentrer sur une seule.');
tz_def('ADM_HOURLY_RESOURCES_PER_POINT_INVESTED_IN_THE_H', 'Ressources horaires par point investi dans l\'attribut Ressources du héros. La première valeur s\'applique quand le bonus est réparti sur les quatre ressources, la seconde quand il est concentré sur une seule. Les deux évoluent avec la vitesse du serveur.');
tz_def('ADM_HIT_POINTS_THE_HERO_RECOVERS_PER_DAY_ON_TOP', 'Points de vie récupérés par le héros chaque jour, en plus des points investis dans l\'attribut de régénération et des objets équipés. Sans cela, un héros sans point de régénération ne guérirait jamais et finirait par mourir en aventure. Évolue avec la vitesse du serveur. 0 désactive.');
tz_def('ADM_HOW_LONG_ONE_CRON_PHP_INVOCATION_KEEPS_WORKI', 'Durée pendant laquelle une invocation de cron.php continue de travailler. La plupart des hébergements mutualisés n\'autorisent un cron que toutes les 5 minutes, alors qu\'Automation attend un passage par minute &mdash; une invocation enchaîne donc plusieurs passages. Utilisez 300 pour un cron "*/5". Mettez 0 uniquement si votre hébergeur autorise un cron par minute.');
tz_def('ADM_ENABLE_DISABLE_IF_A_PLAYER_LEAVES_AT_LEAST_O', 'Activer (désactiver) : si un joueur laisse au moins un message dans un sujet du forum, il recevra des messages en jeu l\'informant de nouvelles réponses dans ce même sujet (il y est donc techniquement « abonné »)');
tz_def('ADM_ENABLE_DISABLE_THE_SERVER_MILESTONES_WIDGET', 'Activer (désactiver) le widget « Étapes du serveur » (premier joueur à fonder un 2e village, atteindre 1000 de population, capturer un artefact, conquérir une MdM, conquérir un plan de MdM, fonder une alliance ou conquérir le village d\'un autre joueur), affiché en haut de Statistiques &raquo; Général');
tz_def('ADM_CREATE_PROMO_VOUCHER_CODES_PLAYERS_REDEEM_FO', 'Créez des codes promo que les joueurs échangent contre de l\'or sur la page Plus. Définissez un montant d\'or fixe, une limite d\'utilisations facultative, si chaque joueur peut l\'utiliser une seule fois, et une expiration facultative. Pour une récompense unique de chasseur de bugs, créez un code avec 1 utilisation max &mdash; ou utilisez');
tz_def('ADM_DENSITY_OVERLAYS_ON_THE_WORLD_GRID_TO_HELP_W', 'Superpositions de densité sur la grille du monde pour aider à l\'équilibre de départ : où les villages se regroupent, quelles tribus dominent une région, où se trouvent les joueurs inactifs (zones mortes / bons emplacements de départ) et où les attaques arrivent actuellement. Le nord (+y) est en haut.');
tz_def('ADM_HEURISTIC_CORRELATION_OF_ACCOUNT_PAIRS_BY_SH', 'Corrélation heuristique de paires de comptes par IP partagée, sous-réseau, empreinte d\'appareil/navigateur (User-Agent), horaires de connexion qui se chevauchent et flux de transferts de ressources. Il s\'agit d\'un');
tz_def('ADM_USE_IT_TO_PRIORITISE_WHICH_PAIRS_A_HUMAN_SHO', '&mdash; utilisez-le pour prioriser les paires qu\'un humain doit examiner. Rien n\'est banni automatiquement.');
tz_def('ADM_ROW_CAP_REACHED_WHILE_SCANNING_LOGIN_HISTORY', 'Limite de lignes atteinte lors de l\'analyse de l\'historique de connexion (fenêtre large / serveur très actif). Les résultats restent valides mais peuvent être incomplets &mdash; réduisez la fenêtre pour une couverture complète.');
tz_def('ADM_RECEIVED_FROM_OTHER_PLAYERS_VERSUS_AN_AUTOMA', '(reçues d\'autres joueurs) par rapport à une limite automatique dérivée de la production horaire du joueur (');
tz_def('ADM_OF_PRODUCTION_PER_WINDOW_WW_VILLAGES_AND_ART', 'de production par fenêtre). Les villages MdM et les villages à artefact sont marqués comme exceptions d\'approvisionnement. Définissez une dérogation manuelle pour exempter un joueur (MdM / de confiance) ou fixer un plafond personnalisé. Rien n\'est bloqué automatiquement &mdash; ceci offre visibilité et contrôle à un modérateur humain.');
tz_def('ADM_THE_7_DAY_BALANCE_FILLS_IN_AS_MERCHANT_DELIV', 'Le bilan sur 7 jours se remplit à mesure que les livraisons de marchands entre joueurs différents sont traitées après l\'activation de cette fonction.');
tz_def('ADM_EDIT_THE_REWARD_EACH_QUEST_GRANTS_WOOD_CLAY', 'Modifiez la récompense de chaque quête (bois / argile / fer / céréales / or / jours de Plus) et le niveau requis (p. ex. niveau du bâtiment principal pour les quêtes de construction). Les valeurs proviennent des réglages livrés par défaut, rien ne change tant que vous ne modifiez pas. Les deux variantes de quêtes ont des quêtes et des récompenses différentes &mdash; choisissez celle qu\'utilise votre serveur (les joueurs en');
tz_def('ADM_IN_THE_QUEST_TEMPLATES_QUESTS_MARKED', 'dans les modèles de quêtes. Les quêtes marquées');
tz_def('ADM_KEEP_THEIR_ORIGINAL_HARDCODED_LOGIC_CONDITIO', 'conservent leur logique d\'origine codée en dur (récompenses conditionnelles, réclamations d\'étapes atomiques, mécaniques spéciales) et ne sont pas affectées par ces modifications. Les montants affichés dans le texte de chaque quête sont des chaînes de modèle distinctes &mdash; les modifications ici changent ce qui est réellement accordé ; mettez à jour les chaînes de langue si vous voulez que l\'aperçu corresponde.');
+946
View File
@@ -2994,3 +2994,949 @@ tz_def('ADMIN_BUILD_LOG', 'Jurnal de constructii');
tz_def('ADMIN_RESEARCH_LOG', 'Jurnal de cercetare'); tz_def('ADMIN_RESEARCH_LOG', 'Jurnal de cercetare');
tz_def('ADMIN_NO_PLAYER', 'niciun jucator'); tz_def('ADMIN_NO_PLAYER', 'niciun jucator');
tz_def('ADMIN_NO_VILLAGE', 'niciun sat'); tz_def('ADMIN_NO_VILLAGE', 'niciun sat');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 1: home, server_info, online, users,
// search, ban, notregistered, inactive, report, msg)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_HELLO', 'Salut');
tz_def('ADM_TOTAL_PLAYERS', 'Total jucatori');
tz_def('ADM_ONLINE_NOW', 'Online acum');
tz_def('ADM_LAST_5_MIN', 'ultimele 5 minute');
tz_def('ADM_VILLAGES', 'Sate');
tz_def('ADM_GOLD_IN_GAME', 'Aur in joc');
tz_def('ADM_ACTIVE_BANS', 'Blocari active');
tz_def('ADM_MANAGE', 'administreaza');
tz_def('ADM_LAST_REGISTRATION', 'Ultima inregistrare');
tz_def('ADM_SERVER_CLOCK', 'Ceasul serverului');
tz_def('ADM_SERVER_TIMELINE', 'Cronologia serverului');
tz_def('ADM_START_DATE', 'Data de start:');
tz_def('ADM_NATARS_C', 'Natari:');
tz_def('ADM_ARTEFACTS_C', 'Artefacte:');
tz_def('ADM_WW_PLANS_C', 'Planuri MdL:');
tz_def('ADM_SERVER_AGE', 'Vechimea serverului:');
tz_def('ADM_NEXT_EVENT', 'Urmatorul eveniment:');
tz_def('ADM_LAST_5_ACTIONS', 'Ultimele 5 actiuni');
tz_def('ADM_VIEW_FULL_LOG', 'vezi jurnalul →');
tz_def('ADM_QUICK_ACTIONS', 'Actiuni rapide');
tz_def('ADM_QA_SEARCH', '🔍 Cauta jucator');
tz_def('ADM_QA_BAN', '🔨 Blocari');
tz_def('ADM_QA_MAP', '🗺 Harta');
tz_def('ADM_QA_NATARS', '🏰 Natari');
tz_def('ADM_QA_ADD_USER', '👤 Adauga jucator');
tz_def('ADM_QA_SERVER_INFO', '⚙ Informatii server');
tz_def('ADM_WORLD_INFO', '🌍 Informatii despre lume');
tz_def('ADM_REGISTERED_PLAYERS', 'Jucatori inregistrati');
tz_def('ADM_ACTIVE_PLAYERS', 'Jucatori activi');
tz_def('ADM_PLAYERS_ONLINE', 'Jucatori conectati');
tz_def('ADM_PLAYERS_BANNED', 'Jucatori blocati');
tz_def('ADM_VILLAGES_SETTLED', 'Sate intemeiate');
tz_def('ADM_TOTAL_POPULATION', 'Populatie totala');
tz_def('ADM_PLAYER_DISTRIBUTION', '👥 Distributia jucatorilor');
tz_def('ADM_SERVER_ECONOMY', '💰 Economia serverului');
tz_def('ADM_TOTAL_GOLD', 'Aur total');
tz_def('ADM_AVG_GOLD', 'Aur mediu/jucator');
tz_def('ADM_SERVER_STARTED', 'Server pornit');
tz_def('ADM_UPTIME', 'Timp de functionare');
tz_def('ADM_TROOPS_ON_SERVER', '⚔️ Trupe pe server (sate + intariri)');
tz_def('ADM_ONLINE_USERS_H', '🟢 Jucatori conectati');
tz_def('ADM_NO_ONLINE_USERS', 'Niciun jucator conectat in ultimele 5 minute');
tz_def('ADM_USERS_H', '👥 Jucatori');
tz_def('ADM_ALL', 'Toti');
tz_def('ADM_ADMINS', 'Administratori');
tz_def('ADM_NORMAL', 'Normali');
tz_def('ADM_BANNED', 'Blocati');
tz_def('ADM_ONLINE', 'Conectati');
tz_def('ADM_ID', 'ID');
tz_def('ADM_USERNAME', 'Nume utilizator');
tz_def('ADM_EMAIL', 'E-mail');
tz_def('ADM_ACCESS', 'Acces');
tz_def('ADM_TRIBE', 'Trib');
tz_def('ADM_GOLD', 'Aur');
tz_def('ADM_LAST_ACTIVITY', 'Ultima activitate');
tz_def('ADM_PREV', '« Inapoi');
tz_def('ADM_NEXT', 'Inainte »');
tz_def('ADM_SEARCH_PH', 'Cauta...');
tz_def('ADM_ADMIN_SEARCH', 'Cautare');
tz_def('ADM_SEARCH_HINT', 'Nume, ID, e-mail sau IP...');
tz_def('ADM_SEARCH_BTN', 'Cauta');
tz_def('ADM_BAN_MANAGEMENT', 'Administrare blocari');
tz_def('ADM_ACTIVE_USER_BANS', 'Jucatori blocati');
tz_def('ADM_ACTIVE_IP_BANS', 'IP-uri blocate');
tz_def('ADM_HISTORY_50', 'Istoric (ultimele 50)');
tz_def('ADM_ADD_NEW_BAN', 'Blocare noua');
tz_def('ADM_FOREVER', 'Permanent');
tz_def('ADM_BAN_USER', 'Blocheaza jucatorul');
tz_def('ADM_BAN_IP_ADDRESS', 'Blocheaza o adresa IP');
tz_def('ADM_BAN_IP', 'Blocheaza IP-ul');
tz_def('ADM_BAN_HISTORY', 'Istoricul blocarilor');
tz_def('ADM_USER_ID', 'ID jucator');
tz_def('ADM_IPV4_OR_IPV6', 'IPv4 sau IPv6');
tz_def('ADM_NOT_ACTIVATED_H', '✉️ Jucatori neactivati');
tz_def('ADM_ACTIVATION_CODE', 'Cod de activare');
tz_def('ADM_ACT2', 'Act2');
tz_def('ADM_TIME', 'Ora');
tz_def('ADM_SEARCH_USER_EMAIL', 'Cauta username sau email...');
tz_def('ADM_INACTIVE_USERS', 'Jucatori inactivi');
tz_def('ADM_DELETE_L', 'sterge');
tz_def('ADM_BACK_TO_REPORTS', '← Inapoi la rapoarte');
tz_def('ADM_REPORT', 'Raport');
tz_def('ADM_VIEW_ARROW', 'vezi →');
tz_def('ADM_BACK_TO_MESSAGES', '← Inapoi la mesaje');
tz_def('ADM_SENT_TO', 'Trimis catre');
tz_def('ADM_MESSAGE', 'Mesaj');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 2: config, editServerSet, editNewFunctions,
// editCronSet, editPlusSet, editLogSet, editNewsboxSet, editExtraSet)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_CRON_AUTOMATION', 'Cron si automatizare');
tz_def('ADM_AUTOMATION_SOURCE', 'Sursa automatizarii');
tz_def('ADM_WHERE_THE_GAME_TICK_BATTLES_MOVEMENTS_TRAINI', 'De unde se proceseaza tick-ul jocului (batalii, miscari, instruire, constructii). Cand cron-ul ruleaza, paginile jucatorilor nu mai cara procesarea.');
tz_def('ADM_LAST_CRON_TICK', 'Ultima rulare a cron-ului');
tz_def('ADM_WRITTEN_BY_CRON_PHP_ON_EVERY_TICK_INTO_GAMEE', 'Scris de cron.php la fiecare tick in GameEngine/Prevention/cron_active.txt. Sub 90 de secunde inseamna ca cron-ul e activ.');
tz_def('ADM_INVOCATION_LENGTH', 'Durata unei invocari');
tz_def('ADM_CRON_LOOP_SECONDS_HOW_LONG_ONE_CRON_PHP_INVO', 'CRON_LOOP_SECONDS - cat timp continua sa lucreze o invocare de cron.php. Hosturile care permit cron doar la 5 minute obtin astfel un tick pe minut. 0 = un singur tick per invocare.');
tz_def('ADM_TICK_INTERVAL', 'Intervalul dintre tick-uri');
tz_def('ADM_CRON_TICK_SECONDS_HOW_OFTEN_AUTOMATION_RUNS', 'CRON_TICK_SECONDS - cat de des ruleaza Automation in interiorul unei invocari. Automation se asteapta la un tick la circa 60 de secunde.');
tz_def('ADM_HTTP_TRIGGER_KEY', 'Cheie de declansare HTTP');
tz_def('ADM_CRON_KEY_ONLY_NEEDED_TO_CALL_CRON_PHP_OVER_H', 'CRON_KEY - necesara doar pentru apelarea lui cron.php prin HTTP (serviciu extern de cron). Cron-ul propriu al serverului nu o foloseste. Generata automat la instalare.');
tz_def('ADM_NOT_SET', 'Nesetata');
tz_def('ADM_SHOW', 'arata');
tz_def('ADM_HTTP_TRIGGER_URL', 'URL de declansare HTTP');
tz_def('ADM_OPTIONAL_USE_THIS_WITH_AN_EXTERNAL_CRON_SERV', 'Optional. De folosit cu un serviciu extern de cron daca hostul nu poate rula cron local. Un apel HTTP = un tick.');
tz_def('ADM_HIDDEN_USE_SHOW_ABOVE', 'ascunsa &ndash; foloseste "arata" mai sus');
tz_def('ADM_DATABASE_CLEANUP', 'Curatarea bazei de date');
tz_def('ADM_AUTOMATION_TRIMS_TABLES_THAT_WOULD_OTHERWISE', 'Automation reduce tabelele care ar creste la nesfarsit. Rapoartele arhivate nu se sterg niciodata. 0 dezactiveaza o regula.');
tz_def('ADM_LAST_CLEANUP_RUN', 'Ultima curatare');
tz_def('ADM_CLEANUP_RUNS_ONCE_PER_HOUR_FROM_AUTOMATION_A', 'Curatarea ruleaza o data pe ora din Automation si sterge in loturi, deci pe un server vechi prima rulare recupereaza treptat.');
tz_def('ADM_CRON_JOB_COMMAND', 'Comanda pentru cron');
tz_def('ADM_ADD_THIS_IN_CPANEL_CRON_JOBS_THE_PATH_IS_DET', 'De adaugat in cPanel &rarr; Cron Jobs. Calea e detectata din aceasta instalare.');
tz_def('ADM_CURRENT_STATUS', 'Stare curenta');
tz_def('ADM_WHEN_THE_CRON_JOB_IS_NOT_RUNNING_THE_GAME_ST', 'Daca cron-ul nu ruleaza, jocul functioneaza oricum: paginile jucatorilor proceseaza tick-ul, exact ca inainte de introducerea cron-ului.');
tz_def('ADM_ADD_THIS_IN_CPANEL_CRON_JOBS_WRITING_TO_CRON', 'De adaugat in cPanel &rarr; Cron Jobs. Scrierea in cron.log in loc de /dev/null iti arata erorile daca nu porneste.');
tz_def('ADM_SETTINGS', 'Setari');
tz_def('ADM_INVOCATION_LENGTH_SECONDS', 'Durata unei invocari (secunde)');
tz_def('ADM_0_A_SINGLE_TICK_PER_INVOCATION_MAXIMUM_3300', '0 = un singur tick per invocare. Maximum 3300 (55 de minute).');
tz_def('ADM_TICK_INTERVAL_SECONDS', 'Intervalul dintre tick-uri (secunde)');
tz_def('ADM_HOW_OFTEN_AUTOMATION_RUNS_INSIDE_ONE_INVOCAT', 'Cat de des ruleaza Automation intr-o invocare. Garda lui interna asteapta circa 60 de secunde; sub aceasta valoare adaugi mai ales incarcare, fara sa procesezi ceva nou.');
tz_def('ADM_RECOMMENDED_60_ALLOWED_RANGE_15_900', 'Recomandat: 60. Interval permis 15&ndash;900.');
tz_def('ADM_ONLY_NEEDED_WHEN_CALLING_CRON_PHP_OVER_HTTP', 'Necesara doar la apelarea lui cron.php prin HTTP (de exemplu dintr-un serviciu extern de cron). Cron-ul propriu al serverului nu o foloseste. Regenerarea invalideaza orice URL configurat in alta parte.');
tz_def('ADM_GENERATE_A_NEW_KEY_ON_SAVE', 'Genereaza o cheie noua la salvare');
tz_def('ADM_RUNS_FROM_AUTOMATION_ONCE_PER_HOUR_ROWS_ARE', 'Ruleaza din Automation o data pe ora. Randurile se sterg in loturi, deci pe un server vechi prima rulare recupereaza treptat.');
tz_def('ADM_BATTLE_REPORTS_DAYS', 'Rapoarte de lupta (zile)');
tz_def('ADM_UNARCHIVED_REPORTS_OLDER_THAN_THIS_ARE_DELET', 'Rapoartele nearhivate mai vechi de atat se sterg. Rapoartele arhivate de jucator nu se ating niciodata. 0 dezactiveaza regula.');
tz_def('ADM_0_KEEP_FOREVER', '0 = pastreaza permanent.');
tz_def('ADM_CHAT_MESSAGES_DAYS', 'Mesaje de chat (zile)');
tz_def('ADM_THE_CHAT_WINDOW_ONLY_EVER_SHOWS_THE_LAST_13', 'Fereastra de chat afiseaza doar ultimele 13 mesaje per alianta, deci istoricul mai vechi nu e folosit nicaieri in joc.');
tz_def('ADM_DELETED_MESSAGES_DAYS', 'Mesaje sterse (zile)');
tz_def('ADM_ONLY_MESSAGES_DELETED_BY_BOTH_THE_SENDER_AND', 'Se sterg doar mesajele sterse de AMBELE parti &mdash; nu mai sunt vizibile pentru nimeni in joc. Dezactivat implicit.');
tz_def('ADM_0_DISABLED_DEFAULT', '0 = dezactivat (implicit).');
tz_def('ADM_NEW_MECHANICS_AND_FUNCTIONS', 'Mecanici si functii noi');
tz_def('ADM_HERO_BASE_REGENERATION', 'Regenerarea de baza a eroului');
tz_def('ADM_HIT_POINTS_THE_HERO_RECOVERS_PER_DAY_INDEPEN', 'Puncte de viata recuperate zilnic de erou, independent de atributul de regenerare si de itemele echipate. 0 dezactiveaza.');
tz_def('ADM_HP_DAY', 'HP / zi');
tz_def('ADM_HERO_EXCHANGE_RATES', 'Ratele de schimb ale eroului');
tz_def('ADM_RATES_OF_THE_EXCHANGE_OFFICE_IN_THE_AUCTION', 'Ratele casei de schimb din casa de licitatii. Diferenta dintre cele doua sensuri e marja casei, deci schimbul dus-intors pierde valoare in loc sa creeze.');
tz_def('ADM_EXCHANGE_OFFICE_IN_THE_AUCTION_HOUSE_KEEP_TH', 'Casa de schimb din casa de licitatii. Tine a doua valoare mai mare decat prima, altfel jucatorii ar putea fabrica aur din nimic.');
tz_def('ADM_1_GOLD', '1 aur &rarr;');
tz_def('ADM_SILVER_1_GOLD', 'argint &rarr; 1 aur');
tz_def('ADM_HERO_RESOURCE_PRODUCTION', 'Productia de resurse a eroului');
tz_def('ADM_OF_ONE_TYPE', 'dintr-un singur tip');
tz_def('ADM_DISPLAY_OASIS_IN_PROFILE', 'Afiseaza oazele in profil');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_OASES_OF_EACH', 'Activeaza (dezactiveaza) afisarea oazelor fiecarui sat in profilul jucatorului');
tz_def('ADM_ALLIANCE_INVITATION_MESSAGE', 'Mesaj de invitatie in alianta');
tz_def('ADM_ENABLE_DISABLE_SENDING_AN_IN_GAME_MESSAGE_TO', 'Activeaza (dezactiveaza) trimiterea unui mesaj in joc jucatorului invitat in alianta');
tz_def('ADM_NEW_ALLIANCE_EMBASSY_MECHANICS', 'Mecanici noi de alianta si ambasada');
tz_def('ADM_NEW_FORUM_POST_MESSAGE', 'Mesaj la postare noua pe forum');
tz_def('ADM_ENABLE_DISABLE_FORUM_SUBSCRIPTION_MESSAGES', 'Activeaza (dezactiveaza) mesajele de abonare la forum');
tz_def('ADM_TRIBES_IMAGES_IN_PROFILE', 'Imagini cu triburile in profil');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_TRIBES', 'Activeaza (dezactiveaza) afisarea imaginilor cu triburile');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_TRIBES_W', 'Activeaza (dezactiveaza) afisarea imaginilor cu triburile, cu descriere, in profilul jucatorilor');
tz_def('ADM_NEW_TRIBE_HUNS', 'Trib nou: Huni');
tz_def('ADM_ENABLE_DISABLE_THE_HUNS_TRIBE', 'Activeaza (dezactiveaza) tribul Hunilor');
tz_def('ADM_ENABLE_DISABLE_TRIBE_HUNS', 'Activeaza (dezactiveaza) tribul Hunilor');
tz_def('ADM_NEW_TRIBE_EGYPTIANS', 'Trib nou: Egipteni');
tz_def('ADM_ENABLE_DISABLE_THE_EGYPTIANS_TRIBE', 'Activeaza (dezactiveaza) tribul Egiptenilor');
tz_def('ADM_ENABLE_DISABLE_TRIBE_EGYPTIANS', 'Activeaza (dezactiveaza) tribul Egiptenilor');
tz_def('ADM_NEW_TRIBE_SPARTANS', 'Trib nou: Spartani');
tz_def('ADM_ENABLE_DISABLE_THE_SPARTANS_TRIBE', 'Activeaza (dezactiveaza) tribul Spartanilor');
tz_def('ADM_ENABLE_DISABLE_TRIBE_SPARTANS', 'Activeaza (dezactiveaza) tribul Spartanilor');
tz_def('ADM_NEW_TRIBE_VIKINGS', 'Trib nou: Vikingi');
tz_def('ADM_ENABLE_DISABLE_THE_VIKINGS_TRIBE', 'Activeaza (dezactiveaza) tribul Vikingilor');
tz_def('ADM_ENABLE_DISABLE_TRIBE_VIKINGS', 'Activeaza (dezactiveaza) tribul Vikingilor');
tz_def('ADM_MHS_IMAGES_IN_PROFILE', 'Imagini cu MH-urile in profil');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_MULTIHUN', 'Activeaza (dezactiveaza) afisarea imaginilor cu Multihunterii');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_IMAGES_OF_MULTIHUN_2', 'Activeaza (dezactiveaza) afisarea imaginilor cu Multihunterii, cu descriere, in profilul lor');
tz_def('ADM_DISPLAY_ARTIFACT_IN_PROFILE', 'Afiseaza artefactul in profil');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_ARTIFACT', 'Activeaza (dezactiveaza) afisarea artefactului');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_ARTIFACT_I', 'Activeaza (dezactiveaza) afisarea artefactului in profilul jucatorului, in dreptul satului in care se afla');
tz_def('ADM_DISPLAY_WOW_IN_PROFILE', 'Afiseaza MdL in profil');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_WONDER', 'Activeaza (dezactiveaza) afisarea minunii');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_WONDER_IN', 'Activeaza (dezactiveaza) afisarea minunii in profilul jucatorului, in dreptul satului in care se afla');
tz_def('ADM_VACATION_MODE', 'Mod vacanta');
tz_def('ADM_ENABLE_DISABLE_VACATION_MODE', 'Activeaza (dezactiveaza) modul vacanta');
tz_def('ADM_ENABLE_DISABLE_VACATION_MODE_WILL_BE_DISPLAY', 'Activeaza (dezactiveaza) modul vacanta; va fi afisat sau ascuns in meniul profilului jucatorului');
tz_def('ADM_CATAPULT_TARGETS', 'Tinte de catapulta');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_CATAPULT_TARGE', 'Activeaza (dezactiveaza) afisarea tintelor de catapulta');
tz_def('ADM_ENABLE_DISABLE_THE_DISPLAY_OF_THE_TARGETS_OF', 'Activeaza (dezactiveaza) afisarea, in punctul de adunare, a tintelor catapultelor trimise de tine');
tz_def('ADM_MANUAL_ON_NATURE_AND_NATARS', 'Manual despre Natura si Natari');
tz_def('ADM_ENABLE_DISABLE_MANUAL_INFO', 'Activeaza (dezactiveaza) informatiile din manual');
tz_def('ADM_ENABLE_DISABLE_DISPLAYING_INFORMATION_IN_THE', 'Activeaza (dezactiveaza) afisarea in Manual a informatiilor despre trupele Naturii si ale Natarilor');
tz_def('ADM_DIRECT_LINKS_PLACEMENT', 'Pozitia linkurilor directe');
tz_def('ADM_LEFT_MENU_VS_RIGHT_MENU', 'Meniul din stanga sau din dreapta');
tz_def('ADM_IF_ENABLED_THEN_THE_DIRECT_LINKS_WILL_BE_PLA', 'Daca e activat, linkurile directe apar in meniul din stanga; daca e dezactivat, in meniul din dreapta, ca in Travian-ul original');
tz_def('ADM_MEDAL_VETERAN_PLAYER', 'Medalie de jucator veteran');
tz_def('ADM_3_YEARS', '3 ani');
tz_def('ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_3', 'Activeaza (dezactiveaza) medalia pentru 3 ani de joc');
tz_def('ADM_MEDAL_VETERAN_PLAYER_5A', 'Medalie de jucator veteran 5a');
tz_def('ADM_5_YEARS', '5 ani');
tz_def('ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_5', 'Activeaza (dezactiveaza) medalia pentru 5 ani de joc');
tz_def('ADM_MEDAL_VETERAN_PLAYER_10A', 'Medalie de jucator veteran 10a');
tz_def('ADM_10_YEARS', '10 ani');
tz_def('ADM_ENABLE_DISABLE_MEDAL_ACHIEVED_FOR_PLAYING_10', 'Activeaza (dezactiveaza) medalia pentru 10 ani de joc');
tz_def('ADM_SPECIAL_MEDALS', 'Medalii speciale');
tz_def('ADM_ENABLE_DISABLE_SPECIAL_MEDALS_ARTIFACT_HERO', 'Activeaza (dezactiveaza) medaliile speciale (artefact, erou, minune, zid, mare depozit etc.)');
tz_def('ADM_SERVER_MILESTONES', 'Etape ale serverului');
tz_def('ADM_NOT_PRESENT_IN_CONFIG_PHP_YET_SAVING_THIS_FO', 'Inca nu exista in config.php &mdash; salvarea o data a acestui formular il va adauga (pana atunci e False).');
tz_def('ADM_SERVER_MEDAL_RESET_TIMER', 'Cronometru de resetare a medaliilor');
tz_def('ADM_ENABLE_DISABLE_THE_SERVER_MEDAL_RESET_TIMER', 'Activeaza (dezactiveaza) widgetul "Cronometru de resetare a medaliilor" in Top 10 jucatori si Top 10 aliante');
tz_def('ADM_T4_HERO_ITEMS_ADVENTURES_AUCTION', 'Erou T4 (iteme, aventuri, licitatii)');
tz_def('ADM_ENABLE_DISABLE_THE_T4_HERO_ITEMS_ADVENTURES', 'Activeaza (dezactiveaza) sistemul "Erou T4 (iteme, aventuri, licitatii)"');
tz_def('ADM_REGISTRATION_BONUS_GOLD', 'Aur bonus la inregistrare');
tz_def('ADM_GIVE_EVERY_NEWLY_REGISTERED_PLAYER_A_ONE_TIM', 'Ofera fiecarui jucator nou un bonus unic de aur la crearea contului');
tz_def('ADM_REGISTRATION_BONUS_GOLD_AMOUNT', 'Aur bonus la inregistrare &ndash; cantitate');
tz_def('ADM_HOW_MUCH_GOLD_EACH_NEW_PLAYER_RECEIVES_WHEN', 'Cat aur primeste fiecare jucator nou cand bonusul e activ');
tz_def('ADM_ENABLE_DISABLE_A_ONE_TIME_GOLD_BONUS_GRANTED', 'Activeaza (dezactiveaza) un bonus unic de aur acordat fiecarui jucator nou la crearea contului (conturile de sistem cu id&le;3 sunt sarite). Cantitatea se seteaza in campul de mai jos.');
tz_def('ADM_HOW_MUCH_GOLD_EACH_NEW_PLAYER_RECEIVES_WHEN_2', 'Cat aur primeste fiecare jucator nou cand optiunea de mai sus e True. Implicit: 200.');
tz_def('ADM_FOR_THIS_SETTING_YOU_CAN_FIND_MORE_INFORMATI', 'Pentru aceasta setare, gasesti mai multe informatii la linkul:');
tz_def('ADM_EDIT_CRON_AUTOMATION', 'Editeaza Cron si automatizare');
tz_def('ADM_EDIT_NEW_MECHANICS_AND_FUNCTIONS', 'Editeaza mecanicile si functiile noi');
tz_def('ADM_ENGLISH', 'Engleza');
tz_def('ADM_FRENCH', 'Franceza');
tz_def('ADM_ITALIAN', 'Italiana');
tz_def('ADM_ROMANIAN', 'Romana');
tz_def('ADM_CHINESE', 'Chineza');
tz_def('ADM_SLOW', 'Lent');
tz_def('ADM_FAST', 'Rapid');
tz_def('ADM_2_HOURS', '2 ore');
tz_def('ADM_3_HOURS', '3 ore');
tz_def('ADM_5_HOURS', '5 ore');
tz_def('ADM_8_HOURS', '8 ore');
tz_def('ADM_10_HOURS', '10 ore');
tz_def('ADM_12_HOURS', '12 ore');
tz_def('ADM_16_HOURS', '16 ore');
tz_def('ADM_20_HOURS', '20 de ore');
tz_def('ADM_24_HOURS_1_DAY', '24 de ore (1 zi)');
tz_def('ADM_48_HOURS_2_DAYS', '48 de ore (2 zile)');
tz_def('ADM_72_HOURS_3_DAYS', '72 de ore (3 zile)');
tz_def('ADM_120_HOURS_5_DAYS', '120 de ore (5 zile)');
tz_def('ADM_TRUE', 'True');
tz_def('ADM_FALSE', 'False');
tz_def('ADM_YES', 'Da');
tz_def('ADM_NO', 'Nu');
tz_def('ADM_TRAVIAN_OFFICIAL', 'Travian oficial');
tz_def('ADM_TRAVIANZ_EXTENDED', 'TravianZ extins');
tz_def('ADM_10_DEFAULT', '10 - implicit');
tz_def('ADM_NONE', 'niciunul');
tz_def('ADM_1_DAY', '1 zi');
tz_def('ADM_2_DAYS', '2 zile');
tz_def('ADM_3_DAYS', '3 zile');
tz_def('ADM_4_DAYS', '4 zile');
tz_def('ADM_5_DAYS', '5 zile');
tz_def('ADM_6_DAYS', '6 zile');
tz_def('ADM_7_DAYS', '7 zile');
tz_def('ADM_NONE_2', 'Niciunul');
tz_def('ADM_CHRISTMAS', 'Craciun');
tz_def('ADM_NEW_YEAR', 'Anul Nou');
tz_def('ADM_EASTER', 'Paste');
tz_def('ADM_ENABLE', 'Activeaza');
tz_def('ADM_DISABLE', 'Dezactiveaza');
tz_def('ADM_SAVE', 'SALVEAZA');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 3: player, editHero, editHeroT4,
// playerheroinfo, village, troops, editVillage, editUser, deletion, editSitter)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_START', 'Inceput');
tz_def('ADM_END', 'Sfarsit');
tz_def('ADM_DURATION', 'Durata');
tz_def('ADM_REASON', 'Motiv');
tz_def('ADM_PLAYER', 'Jucator:');
tz_def('ADM_BASIC_INFO', '📝 Informatii de baza');
tz_def('ADM_HERO_NAME', 'Numele eroului');
tz_def('ADM_HERO_UNIT', 'Unitatea eroului');
tz_def('ADM_HEALTH', '❤ Viata');
tz_def('ADM_EXPERIENCE', '✨ Experienta');
tz_def('ADM_CURRENT_STATS', '📈 Statistici curente');
tz_def('ADM_LEVEL', 'Nivel:');
tz_def('ADM_OF', 'din');
tz_def('ADM_FREE', '(libere:');
tz_def('ADM_OFFENCE', 'Atac:');
tz_def('ADM_DEFENCE', 'Aparare:');
tz_def('ADM_OFF_BONUS', 'Bonus atac:');
tz_def('ADM_DEF_BONUS', '| Bonus aparare:');
tz_def('ADM_REGEN', 'Regen.:');
tz_def('ADM_RESOURCES', 'Resurse:');
tz_def('ADM_ADD_POINTS', '⚔ Adauga puncte');
tz_def('ADM_ATTRIBUTE', 'Atribut');
tz_def('ADM_CURRENT', 'Curent');
tz_def('ADM_ADD', 'Adauga');
tz_def('ADM_NEW', 'Nou');
tz_def('ADM_PRODUCED_RESOURCE', 'Resursa produsa');
tz_def('ADM_LEVEL_NOU', 'Nivel nou:');
tz_def('ADM_BACK', '← Inapoi');
tz_def('ADM_SAVE_HERO', '💾 Salveaza eroul');
tz_def('ADM_CLASSIC_HERO_EDITOR', '&laquo; editorul clasic de erou');
tz_def('ADM_ACTION_COMPLETED', 'Actiune efectuata.');
tz_def('ADM_ACTION_FAILED_CHECK_THE_VALUES_AND_TRY_AGAIN', 'Actiunea a esuat (verifica valorile si incearca din nou).');
tz_def('ADM_SILVER', 'Argint');
tz_def('ADM_SET_BALANCE', 'Seteaza soldul');
tz_def('ADM_GRANT_ITEM', 'Acorda un item');
tz_def('ADM_QTY', 'Cant.:');
tz_def('ADM_GRANT', 'Acorda');
tz_def('ADM_ROW', 'Rand');
tz_def('ADM_ITEM', 'Item');
tz_def('ADM_SLOT', 'Slot');
tz_def('ADM_QTY_2', 'Cant.');
tz_def('ADM_EQUIPPED', 'Echipat');
tz_def('ADM_DELETE', 'Sterge');
tz_def('ADM_AUCTION', 'Licitatie');
tz_def('ADM_ROLE', 'Rol');
tz_def('ADM_PRICE', 'Pret');
tz_def('ADM_ENDS', 'Se incheie');
tz_def('ADM_CANCEL', 'Anuleaza');
tz_def('ADM_ADVENTURES', 'Aventuri');
tz_def('ADM_RUNNING', 'In curs:');
tz_def('ADM_OFFER', 'Oferta');
tz_def('ADM_DIFFICULTY', 'Dificultate');
tz_def('ADM_EXPIRES', 'Expira');
tz_def('ADM_REMOVE', 'Elimina');
tz_def('ADM_PLAYER_HEROES', 'Eroii jucatorului');
tz_def('ADM_NONE_3', 'Niciunul &nbsp;&nbsp;');
tz_def('ADM_ADD_HERO', 'Adauga erou');
tz_def('ADM_HERO_LEVEL', 'Nivelul eroului');
tz_def('ADM_STATUS', 'Stare');
tz_def('ADM_ALIVE', 'Viu');
tz_def('ADM_DEAD', 'Mort');
tz_def('ADM_DETAILS', 'Detalii');
tz_def('ADM_POINT', 'Puncte');
tz_def('ADM_LEVEL_2', 'Nivel');
tz_def('ADM_OFFENCE_2', 'Atac');
tz_def('ADM_DEFENCE_2', 'Aparare');
tz_def('ADM_OFF_BONUS_2', 'Bonus atac');
tz_def('ADM_DEF_BONUS_2', 'Bonus aparare');
tz_def('ADM_REGENERATION', 'Regenerare');
tz_def('ADM_RESOURCES_2', 'Resurse');
tz_def('ADM_HEALTH_2', 'Viata');
tz_def('ADM_EDIT', 'Editeaza');
tz_def('ADM_T4_ITEMS_SILVER_AUCTIONS', 'Iteme T4 / argint / licitatii');
tz_def('ADM_KILL', 'Ucide');
tz_def('ADM_REVIVE', 'Inviaza');
tz_def('ADM_VILLAGE_INFORMATION', 'Informatii despre sat');
tz_def('ADM_OWNER', 'Proprietar');
tz_def('ADM_NAME', 'Nume');
tz_def('ADM_POPULATION', 'Populatie');
tz_def('ADM_COORDS', 'Coordonate');
tz_def('ADM_FIELD', 'Camp');
tz_def('ADM_RES', 'Res');
tz_def('ADM_AMT', 'Cant.');
tz_def('ADM_CAP', 'Cap.');
tz_def('ADM_PROD', 'Prod.');
tz_def('ADM_WOOD', 'Lemn');
tz_def('ADM_CLAY', 'Lut');
tz_def('ADM_IRON', 'Fier');
tz_def('ADM_CROP', 'Cereale');
tz_def('ADM_EXPANSION', 'Expansiune');
tz_def('ADM_VILLAGE', 'Sat');
tz_def('ADM_POP', 'Pop.');
tz_def('ADM_CP', 'PC');
tz_def('ADM_OASIS', 'Oaza');
tz_def('ADM_LOY', 'Loial.');
tz_def('ADM_BONUS', 'Bonus');
tz_def('ADM_TROOPS', 'Trupe');
tz_def('ADM_UPGRADES', 'Imbunatatiri');
tz_def('ADM_ARTIFACT', 'Artefact');
tz_def('ADM_RESOURCE_FIELDS', 'Campuri de resurse');
tz_def('ADM_BUILDINGS', 'Cladiri');
tz_def('ADM_GID', 'GID');
tz_def('ADM_LVL', 'Niv.');
tz_def('ADM_VILLAGE_BUILD_LOG', 'Jurnalul de constructii al satului →');
tz_def('ADM_CHANGE', 'Schimba');
tz_def('ADM_RENAME', 'Redenumeste');
tz_def('ADM_SHOW_INSTRUCTIONS', 'Arata instructiunile');
tz_def('ADM_RESOURCE_FIELDS_1_18', 'Campuri de resurse (1-18)');
tz_def('ADM_VILLAGE_CENTER_19_38', 'Centrul satului (19-38)');
tz_def('ADM_MODIFY_BUILDINGS', 'Modifica cladirile');
tz_def('ADM_SAVE_CHANGES', 'Salveaza modificarile');
tz_def('ADM_CURRENT_LAYOUT_PREVIEW', 'Previzualizarea dispunerii curente');
tz_def('ADM_VILLAGE_CENTER', 'Centrul satului');
tz_def('ADM_EDIT_PLAYER', '✏️ Editeaza jucatorul:');
tz_def('ADM_ACCOUNT_DETAILS', '👤 Detaliile contului');
tz_def('ADM_USERNAME_2', '👤 Nume utilizator');
tz_def('ADM_SAVE_2', '💾 Salveaza');
tz_def('ADM_TRIBE_2', '⚔️ Trib');
tz_def('ADM_1_ROMAN', '1. Romani');
tz_def('ADM_2_TEUTON', '2. Teutoni');
tz_def('ADM_3_GAUL', '3. Gali');
tz_def('ADM_4_NATURE', '4. Natura');
tz_def('ADM_5_NATARS', '5. Natari');
tz_def('ADM_6_HUN', '6. Huni');
tz_def('ADM_7_EGYPTIAN', '7. Egipteni');
tz_def('ADM_8_SPARTAN', '8. Spartani');
tz_def('ADM_9_VIKING', '9. Vikingi');
tz_def('ADM_LOCATION', '📍 Locatie');
tz_def('ADM_E_MAIL', '✉️ E-mail');
tz_def('ADM_QUEST', '🎯 Misiune');
tz_def('ADM_PROFILE_DESCRIPTION_LEFT', '📝 Descrierea profilului (stanga)');
tz_def('ADM_PROFILE_DESCRIPTION_RIGHT', '📄 Descrierea profilului (dreapta)');
tz_def('ADM_SUPORT_BBCODE_FOLOSE_TE_ENTER_PENTRU_LINII_N', 'Suporta BBCode. Foloseste Enter pentru linii noi.');
tz_def('ADM_MEDALS', '🏅 Medalii');
tz_def('ADM_CATEGORY', 'Categorie');
tz_def('ADM_RANK', 'Rang');
tz_def('ADM_WEEK', 'Saptamana');
tz_def('ADM_BB_CODE', 'BB-Code');
tz_def('ADM_BEGINNERS_PROTECTION', 'Protectia incepatorilor');
tz_def('ADM_SAVE_CHANGES_2', '💾 Salveaza modificarile');
tz_def('ADM_GO_BACK_TO_PLAYER', '« Inapoi la jucator');
tz_def('ADM_CHANGE_USERNAME', 'Schimba numele de utilizator');
tz_def('ADM_DELETE_PLAYER_PERMANENTLY', 'STERGE JUCATORUL DEFINITIV');
tz_def('ADM_THIS_ACTION_CANNOT_BE_UNDONE', 'Aceasta actiune nu poate fi anulata!');
tz_def('ADM_PLAYER_TO_DELETE', '🗑️ Jucatorul de sters');
tz_def('ADM_PLUS_ENDS', 'Plus se incheie');
tz_def('ADM_WARNING', 'ATENTIE:');
tz_def('ADM_PERMANENTLY', 'definitiv');
tz_def('ADM_DELETED_THERE_IS_NO_RECOVERY', 'sters. Nu exista recuperare!');
tz_def('ADM_CONFIRM_WITH_YOUR_ADMIN_PASSWORD', 'Confirma cu parola ta de administrator:');
tz_def('ADM_CANCEL_2', '← Anuleaza');
tz_def('ADM_DELETE_PLAYER', '🗑️ STERGE JUCATORUL');
tz_def('ADM_EDIT_SITTERS', 'Editeaza inlocuitorii:');
tz_def('ADM_SITTER_SETTINGS', '⚙️ Setarile inlocuitorilor');
tz_def('ADM_USE_THE_PLAYER_S_UID_ENTER', '💡 Foloseste UID-ul jucatorului. Introdu');
tz_def('ADM_TO_DELETE_THE_SITTER_YOU_CAN_FIND_THE_UID_IN', 'pentru a sterge inlocuitorul. Gasesti UID-ul in Cautare.');
tz_def('ADM_SITTER_1', '👤 Inlocuitor 1');
tz_def('ADM_SITTER_2', '👤 Inlocuitor 2');
tz_def('ADM_SAVE_SITTERS', '💾 Salveaza inlocuitorii');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 4: gold, usergold, givePlus, givePlusRes,
// punish, maintenance, resetServer, cleanban, massmessage, sysmessage)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_GOLD_MANAGEMENT', 'Administrarea aurului');
tz_def('ADM_GIVE_EVERYONE_FREE_GOLD', 'Ofera aur tuturor');
tz_def('ADM_THIS_GOLD_WILL_BE_ADDED_TO_ALL_ACTIVE_PLAYER', 'Acest aur va fi adaugat TUTUROR jucatorilor activi de pe server.');
tz_def('ADM_GIVE_GOLD', 'Ofera aur');
tz_def('ADM_GOLD_HAS_BEEN_SUCCESSFULLY_ADDED_TO_ALL_PLAY', '✓ Aurul a fost adaugat cu succes tuturor jucatorilor!');
tz_def('ADM_USER_GOLD', 'Aurul jucatorului');
tz_def('ADM_GIVE_GOLD_TO_SPECIFIC_PLAYER', 'Ofera aur unui anumit jucator');
tz_def('ADM_ADD_GOLD_ONLY_FOR_SINGLE_ACCOUNT_AFTER_ID', 'Adauga aur unui singur cont (dupa ID).');
tz_def('ADM_AMOUNT_GOLD', 'Cantitate de aur');
tz_def('ADM_GOLD_SUCCESSFULLY_ADDED_FOR_USER', '✓ Aur adaugat cu succes jucatorului!');
tz_def('ADM_PLUS_MANAGEMENT', 'Administrarea Plus');
tz_def('ADM_GIVE_EVERYONE_FREE_PLUS', 'Ofera Plus tuturor');
tz_def('ADM_ACTIVATE_TRAVIAN_PLUS_FOR_ALL_PLAYERS_ON_THE', 'Activeaza Travian Plus pentru TOTI jucatorii de pe server.');
tz_def('ADM_DAYS', 'Zile');
tz_def('ADM_GIVE_PLUS', 'Ofera Plus');
tz_def('ADM_PLUS_HAS_BEEN_SUCCESSFULLY_ACTIVATED_FOR_ALL', '✓ Plus a fost activat cu succes pentru toti jucatorii!');
tz_def('ADM_RESOURCE_BONUS', 'Bonus de resurse');
tz_def('ADM_GIVE_EVERYONE_RESOURCE_BONUS', 'Ofera bonusul de resurse tuturor');
tz_def('ADM_ACTIVATE_A_25_BONUS_FOR_ALL_RESOURCES_FOR_AL', 'Activeaza un bonus de 25% la toate resursele pentru TOTI jucatorii.');
tz_def('ADM_DAYS_2', 'zile');
tz_def('ADM_GIVE_RESOURCE_BONUS', 'Ofera bonusul de resurse');
tz_def('ADM_RESOURCE_BONUSES_HAVE_BEEN_ACTIVATED_FOR_ALL', '✓ Bonusurile de resurse au fost activate pentru toti jucatorii!');
tz_def('ADM_PUNISH_PLAYER', 'Pedepseste jucatorul');
tz_def('ADM_OK', 'OK');
tz_def('ADM_DELETE_TROOPS', 'Sterge trupele');
tz_def('ADM_EMPTY_WAREHOUSES', 'Goleste depozitele');
tz_def('ADM_STARTED_BY', 'Pornita de:');
tz_def('ADM_UID', '(UID:');
tz_def('ADM_ENABLE_MAINTENANCE', 'Activeaza mentenanta');
tz_def('ADM_DISABLE_MAINTENANCE', 'Dezactiveaza mentenanta');
tz_def('ADM_STOP', 'Opreste');
tz_def('ADM_SERVER_RESETTING', '⚠️ Resetarea serverului');
tz_def('ADM_WARNING_IRREVERSIBLE_ACTION', 'ATENTIE! Actiune ireversibila');
tz_def('ADM_THIS_OPERATION_WILL_DELETE_ALL_DATA_PLAYERS', 'Aceasta operatiune va sterge TOATE datele: jucatori, sate, aliante, rapoarte. Serverul va reveni la starea initiala.');
tz_def('ADM_THIS_SERVER_WILL_BE_RESET_TO_CREATE_NEW_GAME', 'Acest server va fi resetat pentru a crea un server de joc nou.');
tz_def('ADM_CLICK_BUTTON', 'Apasa butonul');
tz_def('ADM_RESET', 'Reseteaza');
tz_def('ADM_TO_PROCEED', 'pentru a continua.');
tz_def('ADM_PLEASE_WAIT_WHILE_THE_SERVER_IS_BEING_RESET', 'Te rugam sa astepti... serverul se reseteaza');
tz_def('ADM_BACK_2', '« Inapoi');
tz_def('ADM_RESET_SERVER', 'Reseteaza serverul');
tz_def('ADM_CLEAR_BANLIST_DATA', 'Curatare lista de blocari');
tz_def('ADM_TRUNCATE', '(TRUNCATE)');
tz_def('ADM_CLEAN', 'Curata');
tz_def('ADM_SEND_MESSAGE_TO_ALL_PLAYERS', 'Trimite mesaj tuturor jucatorilor');
tz_def('ADM_CONFIRM', 'Confirma:');
tz_def('ADM_ARE_YOU_SURE_YOU_WANT_TO_SEND', 'Sigur vrei sa trimiti?');
tz_def('ADM_SUBJECT', 'Subiect:');
tz_def('ADM_YES_SEND', '✓ Da, trimite');
tz_def('ADM_SENDING_MESSAGES', 'Se trimit mesajele...');
tz_def('ADM_SUBJECT_2', 'Subiect');
tz_def('ADM_MESSAGE_COLOR', 'Culoarea mesajului');
tz_def('ADM_MESSAGE_CONTENT', 'Continutul mesajului');
tz_def('ADM_CONTINUA', 'Continua');
tz_def('ADM_MASS_MESSAGE_SUCCESSFULLY_SENT_TO_ALL_PLAYER', '✓ Mesajul in masa a fost trimis tuturor jucatorilor!');
tz_def('ADM_EX_MAINTENANCE', 'ex.: Mentenanta');
tz_def('ADM_BLACK_SAU_E67E22', 'black sau #e67e22');
tz_def('ADM_WRITE_THE_MESSAGE_YOU_CAN_USE_URL_IMG', 'Scrie mesajul... poti folosi [url][img]');
tz_def('ADM_CONFIRMARE_SYSTEM_MESSAGE', 'Confirmare mesaj de sistem');
tz_def('ADM_COLOR', 'Culoare:');
tz_def('ADM_SEND_SYSTEM_MESSAGE', '✓ Trimite mesajul de sistem');
tz_def('ADM_SENDING_SYSTEM_MESSAGE', 'Se trimite mesajul de sistem...');
tz_def('ADM_COLOR_2', 'Culoare');
tz_def('ADM_CONTINUE', 'Continua');
tz_def('ADM_SYSTEM_MESSAGE_SENT_SUCCESSFULLY', '✓ Mesajul de sistem a fost trimis cu succes');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 5: alliance, editAli, delAli, allymedals,
// delallymedal, playermedals, delmedal, admin_log, debug_log, techlog)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_FOUNDER', '👑 Fondator:');
tz_def('ADM_MEMBERS', '👥 Membri:');
tz_def('ADM_POINTS', '🏆 Puncte:');
tz_def('ADM_ALLIANCE_DETAILS', '📋 Detaliile aliantei');
tz_def('ADM_TAG', 'Tag');
tz_def('ADM_POINTS_2', 'Puncte');
tz_def('ADM_CAPACITY', 'Capacitate');
tz_def('ADM_ALLIANCE_POSITIONS', '🛡 Rangurile aliantei');
tz_def('ADM_EDIT_ALLIANCE', '✏ Editeaza alianta');
tz_def('ADM_DELETE_2', '🗑 Sterge');
tz_def('ADM_ALLIANCE_DESCRIPTION', '📖 Descrierea aliantei');
tz_def('ADM_ALLIANCE_NOTICE', '📢 Anuntul aliantei');
tz_def('ADM_PLAYER_2', 'Jucator');
tz_def('ADM_ALLIANCE_NEWS', '📰 Noutatile aliantei');
tz_def('ADM_EVENT', 'Eveniment');
tz_def('ADM_DIPLOMACY', '🤝 Diplomatie');
tz_def('ADM_TYPE', 'Tip');
tz_def('ADM_EDIT_ALLIANCE_2', '✏️ Editeaza alianta:');
tz_def('ADM_BASIC_SETTINGS', '⚙️ Setari de baza');
tz_def('ADM_ALLIANCE_TAG_MAX_8', 'Tag-ul aliantei (max 8)');
tz_def('ADM_ALLIANCE_NAME', 'Numele aliantei');
tz_def('ADM_LEADER_FOUNDER', '👑 Lider (fondator)');
tz_def('ADM_SCHIMB_FONDATORUL_ALIAN_EI', 'Schimba fondatorul aliantei');
tz_def('ADM_MAX_MEMBERS', '👥 Numar maxim de membri');
tz_def('ADM_ALLIANCE_NOTICE_APARE_SUS', '📢 Anuntul aliantei (apare sus)');
tz_def('ADM_ALLIANCE_DESCRIPTION_PAGINA_PUBLIC', '📖 Descrierea aliantei (pagina publica)');
tz_def('ADM_SAVE_ALLIANCE', '💾 Salveaza alianta');
tz_def('ADM_MESAJ_SCURT_PENTRU_MEMBRI', 'Mesaj scurt pentru membri...');
tz_def('ADM_DESCRIERE_LUNG_BBCODE_PERMIS', 'Descriere lunga, BBCode permis...');
tz_def('ADM_DELETE_ALLIANCE', '🗑 Sterge alianta');
tz_def('ADM_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE', 'Sigur vrei sa stergi definitiv?:');
tz_def('ADM_MEMBERS_2', 'Membri:');
tz_def('ADM_POINTS_3', '| Puncte:');
tz_def('ADM_ALL_MEMBERS_WILL_BE_REMOVED_FROM_THE_ALLIANC', '⚠ Toti membrii vor fi scosi din alianta; permisiunile, diplomatia, jurnalele si forumul aliantei vor fi sterse. Actiunea e ireversibila!');
tz_def('ADM_YES_DELETE', 'DA, STERGE');
tz_def('ADM_MEDAL', 'Medalie');
tz_def('ADM_THIS_ALLIANCE_HAS_NO_MEDALS_YET', 'Aceasta alianta nu are inca medalii');
tz_def('ADM_AVERAGE_RANK', 'Rang mediu');
tz_def('ADM_DELETE_ALL', 'Sterge tot');
tz_def('ADM_MEDAL_INFORMATION', 'Informatii despre medalie');
tz_def('ADM_MEDALS_2', 'Medalii');
tz_def('ADM_MEDAL_WEEK_BY_WEEK', 'Medalii saptamana cu saptamana');
tz_def('ADM_CATEGORY_2', 'CATEGORIE');
tz_def('ADM_RANK_2', 'RANG');
tz_def('ADM_WEEK_2', 'SAPTAMANA');
tz_def('ADM_POINTS_4', 'PUNCTE');
tz_def('ADM_MEDAL_2', 'MEDALIE');
tz_def('ADM_THIS_PLAYER_HAS_NO_MEDALS_YET', 'Acest jucator nu are inca medalii');
tz_def('ADM_UNIFIED_ADMIN_LOG_LAST_300_ACTIONS', '📋 Jurnal de administrare ultimele 300 de actiuni');
tz_def('ADM_CATEGORIE', 'Categorie');
tz_def('ADM_DETALII', 'Detalii');
tz_def('ADM_DATA', 'Data');
tz_def('ADM_DEBUG_ERROR_LOG', '🐞 Jurnal de erori');
tz_def('ADM_CAPTURE_IS', 'Capturarea este');
tz_def('ADM_AUTO_OFF', 'Oprire automata:');
tz_def('ADM_LOG_SIZE', 'Dimensiunea jurnalului:');
tz_def('ADM_TRANSPARENT_TO_PLAYERS_ERRORS_ARE_ONLY_WRITT', 'Transparent pentru jucatori: erorile se scriu doar in fisierul de jurnal, nu se afiseaza in joc, iar jocul nu e afectat.');
tz_def('ADM_CAPTURE_SETTINGS', 'Setari de capturare');
tz_def('ADM_WARNINGS', 'Avertismente');
tz_def('ADM_NOTICES', 'Notificari');
tz_def('ADM_DEPRECATED', 'Depreciat');
tz_def('ADM_FATAL_ERRORS', 'Erori fatale');
tz_def('ADM_MAX_FILE_SIZE_MB', 'Dimensiune maxima a fisierului (MB):');
tz_def('ADM_AUTO_OFF_AFTER_HOURS_0_NEVER', 'Oprire automata dupa (ore, 0 = niciodata):');
tz_def('ADM_SAVE_SETTINGS', 'Salveaza setarile');
tz_def('ADM_BEYOND_THE_SIZE_CAP_THE_FILE_IS_ROTATED_TO_A', 'Peste limita de dimensiune, fisierul e rotit intr-o singura');
tz_def('ADM_BACKUP_SO_THE_TOTAL_VOLUME_STAYS_BOUNDED', 'copie de rezerva, deci volumul total ramane limitat.');
tz_def('ADM_DOWNLOAD_FULL_LOG', '⬇ Descarca jurnalul complet');
tz_def('ADM_CLEAR_LOG', '🗑 Goleste jurnalul');
tz_def('ADM_REFRESH', '↻ Reimprospateaza');
tz_def('ADM_BACK_TO_VILLAGE', '← Inapoi la sat');
tz_def('ADM_RESEARCH_LOG', '— Jurnal de cercetare');
tz_def('ADM_LATEST_200_SEARCHES', 'Ultimele 200 de cercetari');
tz_def('ADM_NO_REGISTERED_SEARCHES', 'Nicio cercetare inregistrata.');
tz_def('ADM_TECH', 'TEHN');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 6: editAccess, editPassword, editProtection,
// editPlus, editWeek, editOverall, editAdditional, results_player/alliances/villages)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_CHANGE_ACCESS', 'Schimba accesul');
tz_def('ADM_NORMAL_USER', 'Utilizator normal');
tz_def('ADM_MULTIHUNTER', 'Multihunter');
tz_def('ADM_GIVE_PLAYERS_FREE_GOLD', 'Ofera aur jucatorilor');
tz_def('ADM_CHANGE_PASSWORD', 'Schimba parola:');
tz_def('ADM_THE_PASSWORD_IS_CHANGED_INSTANTLY_THE_PLAYER', 'Parola se schimba imediat. Jucatorul va fi deconectat. Nu se trimite niciun e-mail automat.');
tz_def('ADM_NEW_PASSWORD', 'Parola noua');
tz_def('ADM_GENERATE_SECURE_PASSWORD', '🎲 Genereaza o parola sigura');
tz_def('ADM_CHANGE_PASSWORD_2', '🔐 Schimba parola');
tz_def('ADM_INTRODU_PAROLA_NOU', 'Introdu parola noua');
tz_def('ADM_SHOW_HIDE', 'Arata/Ascunde');
tz_def('ADM_PROTECTION', 'Protectie:');
tz_def('ADM_CURRENT_STATUS_2', 'Stare curenta');
tz_def('ADM_1_DAY_2', '+1 zi');
tz_def('ADM_3_DAYS_2', '+3 zile');
tz_def('ADM_7_DAYS_2', '+7 zile');
tz_def('ADM_SET_TO_0_TO_REMOVE_PROTECTION_PROTECTION_IS', '💡 Pune 0 pentru a elimina protectia. Protectia se calculeaza din momentul salvarii.');
tz_def('ADM_SAVE_PROTECTION', '💾 Salveaza protectia');
tz_def('ADM_PLUS_BONUSES', '⭐ Plus si bonusuri:');
tz_def('ADM_THE_VALUES_ADD_UP_PUT_5_TO_ADD_5_DAYS_5_TO_R', '️ Valorile se aduna. Pune 5 pentru a adauga 5 zile, -5 pentru a scadea 5 zile.');
tz_def('ADM_CURRENT_ACTIVE_BONUSES', '📊 Bonusuri active in prezent');
tz_def('ADM_ADD_REMOVE_DAYS', ' Adauga / scade zile');
tz_def('ADM_APPLY_BONUSES', '💾 Aplica bonusurile');
tz_def('ADM_WEEKLY_STATS', 'Statistici saptamanale:');
tz_def('ADM_ACESTEA_SUNT_PUNCTELE', '📊 Acestea sunt punctele');
tz_def('ADM_DIN_S_PT_M_NA_CURENT', 'din saptamana curenta');
tz_def('ADM_PENTRU_TOP_10_SE_RESETEAZ_AUTOMAT', 'pentru top 10. Se reseteaza automat.');
tz_def('ADM_ATTACK', 'Atac');
tz_def('ADM_RAID', 'Jaf');
tz_def('ADM_SAVE_WEEK', '💾 Salveaza saptamana');
tz_def('ADM_OVERALL_POINTS', 'Puncte totale:');
tz_def('ADM_ACESTEA_SUNT_PUNCTELE_2', '🛡️ Acestea sunt punctele');
tz_def('ADM_TOTALE', 'totale');
tz_def('ADM_DIN_STATISTICI_NU_CELE_S_PT_M_NALE_SE_ADUN_D', 'din statistici (nu cele saptamanale). Se aduna din toate atacurile.');
tz_def('ADM_ATTACK_POINTS', 'Puncte de atac');
tz_def('ADM_DEFENCE_POINTS', 'Puncte de aparare');
tz_def('ADM_SAVE_POINTS', '💾 Salveaza punctele');
tz_def('ADM_EDIT_ADDITIONAL', '⚙️ Informatii suplimentare:');
tz_def('ADM_ACCOUNT_CONTROL', '🔐 Controlul contului');
tz_def('ADM_ACCESS_LEVEL', 'Nivel de acces');
tz_def('ADM_0_BANNED', '0 - Blocat');
tz_def('ADM_2_NORMAL_USER', '2 - Utilizator normal');
tz_def('ADM_8_MULTIHUNTER', '8 - Multihunter');
tz_def('ADM_9_ADMIN', '9 - Administrator');
tz_def('ADM_VACATION_MODE_2', '🏖 Mod vacanta');
tz_def('ADM_0_DISABLED', '0 - Dezactivat');
tz_def('ADM_1_ENABLED', '1 - Activat');
tz_def('ADM_PROTECTION_2', '🛡️ Protectie');
tz_def('ADM_ZILE', 'zile');
tz_def('ADM_SITTERS', '👥 Inlocuitori');
tz_def('ADM_SITTER_1_UID', 'Inlocuitor 1 (UID)');
tz_def('ADM_SITTER_2_UID', 'Inlocuitor 2 (UID)');
tz_def('ADM_STATISTICS_POINTS', '📊 Statistici si puncte');
tz_def('ADM_CULTURE_POINTS', '🏛️ Puncte de cultura');
tz_def('ADM_ATTACK_POINTS_2', '⚔️ Puncte de atac');
tz_def('ADM_DEFENCE_POINTS_2', '🛡️ Puncte de aparare');
tz_def('ADM_RESOURCES_RAIDED', '💎 Resurse jefuite');
tz_def('ADM_TOTAL_ATTACK', '⚔️ Atac total');
tz_def('ADM_TOTAL_DEFENCE', '🛡️ Aparare totala');
tz_def('ADM_GOLD_2', 'aur');
tz_def('ADM_UID_2', 'UID');
tz_def('ADM_PLAYER_3', 'JUCATOR');
tz_def('ADM_VILLAGES_2', 'SATE');
tz_def('ADM_POP_2', 'POP.');
tz_def('ADM_AID', 'AID');
tz_def('ADM_NAME_2', 'NUME');
tz_def('ADM_TAG_2', 'TAG');
tz_def('ADM_FOUNDER_2', 'FONDATOR');
tz_def('ADM_VILLAGE_NAME', 'NUMELE SATULUI');
tz_def('ADM_OWNER_2', 'PROPRIETAR');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 7: natars, map, map_tile, artifact,
// goldShop, questEditor, multiacc, pushprot, blockReg, heatmap)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_WW_VILLAGES', '🏰 Sate MdL');
tz_def('ADM_NUMBER', 'Numar');
tz_def('ADM_PLAYER_ID', 'ID jucator');
tz_def('ADM_ADD_ARTIFACTS', '✨ Adauga artefacte');
tz_def('ADM_ICON', 'Iconita');
tz_def('ADM_DELETED_ARTIFACTS', '🗑️ Artefacte sterse');
tz_def('ADM_EFFECT', 'Efect');
tz_def('ADM_OLD_OWNER', 'Fostul proprietar');
tz_def('ADM_OLD_VILLAGE', 'Fostul sat');
tz_def('ADM_ARTIFACTS_OVERVIEW', '📊 Privire de ansamblu asupra artefactelor');
tz_def('ADM_RESTORE', 'Restaureaza');
tz_def('ADM_INTERACTIVE_WORLD_MAP_SEARCH_PLAYERS_VILLAGE', 'Harta interactiva a lumii cauta jucatori, sate si artefacte');
tz_def('ADM_PLAYERS', 'Jucatori');
tz_def('ADM_ARTIFACTS', 'Artefacte');
tz_def('ADM_APPLY_FILTERS', 'Aplica filtrele');
tz_def('ADM_TRIBES', 'Triburi');
tz_def('ADM_MULTIHUNTERS', 'Multihunteri');
tz_def('ADM_CHECK_EDIT_MAP_TILE', 'Verifica si editeaza o casuta');
tz_def('ADM_CHECK_TILE', 'Verifica casuta');
tz_def('ADM_AREA_OF_EFFECT', 'Zona de efect');
tz_def('ADM_TIME_OF_CONQUER', 'Momentul cuceririi');
tz_def('ADM_TIME_OF_ACTIVATION', 'Momentul activarii');
tz_def('ADM_RETURN_TO_NATARS', 'Returneaza Natarilor');
tz_def('ADM_SHOP_PROMO_CODES', 'Magazin si coduri promo');
tz_def('ADM_DIRECTLY', 'direct.');
tz_def('ADM_CREATE_A_CODE', 'Creeaza un cod');
tz_def('ADM_CODE', 'Cod');
tz_def('ADM_MAX_USES_0', 'Utilizari maxime (0 = &infin;)');
tz_def('ADM_EXPIRES_IN_DAYS_0_NEVER', 'Expira in (zile, 0 = niciodata)');
tz_def('ADM_ONCE_PER_PLAYER', 'o data per jucator');
tz_def('ADM_NOTE_OPTIONAL', 'Nota (optional)');
tz_def('ADM_CREATE', 'Creeaza');
tz_def('ADM_CODES_ARE_CASE_INSENSITIVE_ALLOWED_CHARACTER', 'Codurile nu tin cont de majuscule; caractere permise: A-Z 0-9 . _ &ndash;');
tz_def('ADM_NO_PROMO_CODES_YET', 'Niciun cod promo inca.');
tz_def('ADM_USES', 'Utilizari');
tz_def('ADM_SCOPE', 'Domeniu');
tz_def('ADM_NOTE', 'Nota');
tz_def('ADM_RECENT_REDEMPTIONS', 'Utilizari recente');
tz_def('ADM_NO_REDEMPTIONS_YET', 'Nicio utilizare inca.');
tz_def('ADM_WHEN', 'Cand');
tz_def('ADM_REASON_CAMPAIGN', 'motiv / campanie');
tz_def('ADM_QUEST_2', 'Misiune');
tz_def('ADM_EDITOR', 'Editor');
tz_def('ADM_QTYP_37', 'qtyp&nbsp;37');
tz_def('ADM_GET', 'primesc');
tz_def('ADM_EXTENDED', 'extinsa');
tz_def('ADM_EVERYONE_ELSE', ', toti ceilalti');
tz_def('ADM_STANDARD', 'standard');
tz_def('ADM_REWARD_VALUES_ARE_LIVE_VIA', 'Valorile recompenselor sunt aplicate prin');
tz_def('ADM_FIXED', 'fix');
tz_def('ADM_STANDARD_QUEST_CORE25', 'Standard (quest_core25)');
tz_def('ADM_EXTENDED_QUEST_CORE', 'Extinsa (quest_core)');
tz_def('ADM_ON', 'Activ');
tz_def('ADM_PLUS_DAYS', 'Plus (zile)');
tz_def('ADM_REQ_LEVEL', 'Nivel&nbsp;necesar');
tz_def('ADM_QUEST_HOVER', 'Misiune (la trecerea cursorului)');
tz_def('ADM_SAVE_ALL_CHANGES', 'Salveaza toate modificarile');
tz_def('ADM_SAVES_EVERY_ROW_FOR_THE', 'Salveaza fiecare rand pentru varianta');
tz_def('ADM_VARIANT', 'varianta.');
tz_def('ADM_RESET_THIS_VARIANT_TO_DEFAULTS', 'Reseteaza aceasta varianta la valorile implicite');
tz_def('ADM_MULTI_ACCOUNT', 'Conturi multiple');
tz_def('ADM_DETECTION', 'Detectare');
tz_def('ADM_RISK_SCORE_NOT_PROOF', 'scor de risc, nu o dovada');
tz_def('ADM_WINDOW_DAYS', 'Fereastra (zile)');
tz_def('ADM_MIN_SCORE', 'Scor minim');
tz_def('ADM_FOCUS_ON_UID_OPTIONAL', 'Concentreaza-te pe un UID (optional)');
tz_def('ADM_ANALYSE', 'Analizeaza');
tz_def('ADM_NO_ACCOUNT_PAIRS_AT_OR_ABOVE_THE_CURRENT_SCO', 'Nicio pereche de conturi la sau peste pragul curent de scor.');
tz_def('ADM_RISK', 'Risc');
tz_def('ADM_ACCOUNT_A', 'Contul A');
tz_def('ADM_ACCOUNT_B', 'Contul B');
tz_def('ADM_WHY', 'De ce');
tz_def('ADM_LOGIN_LOG', 'jurnal de autentificare');
tz_def('ADM_FOCUS', 'concentreaza');
tz_def('ADM_RESET_2', 'reseteaza');
tz_def('ADM_DASHBOARD', 'Panou general');
tz_def('ADM_PER_PLAYER', 'Per jucator');
tz_def('ADM_7_DAY_RESOURCE_BALANCE', 'Bilantul resurselor pe 7 zile');
tz_def('ADM_HOURS_OF_PROD_ALLOWED', 'Ore de productie permise');
tz_def('ADM_SHOW_2', 'Arata');
tz_def('ADM_ALL_WITH_ACTIVITY', 'Toti cu activitate');
tz_def('ADM_OVER_LIMIT_ONLY', 'Doar peste limita');
tz_def('ADM_WW_ARTEFACT_OVERRIDDEN', 'MdL / artefact / cu exceptie');
tz_def('ADM_REFRESH_2', 'Reimprospateaza');
tz_def('ADM_NO_INTER_PLAYER_TRANSFERS_RECORDED_IN_THIS_W', 'Niciun transfer intre jucatori inregistrat in aceasta fereastra.');
tz_def('ADM_VILLAGES_POP', 'Sate / Pop.');
tz_def('ADM_PROD_H', 'Prod./h');
tz_def('ADM_RECEIVED_7D', 'Primit (7 zile)');
tz_def('ADM_LIMIT', 'Limita');
tz_def('ADM_USAGE', 'Utilizare');
tz_def('ADM_OVERRIDE', 'Exceptie');
tz_def('ADM_AUTO', 'Auto');
tz_def('ADM_CUSTOM_CAP', 'Plafon personalizat');
tz_def('ADM_SAVE_3', 'Salveaza');
tz_def('ADM_REGISTRATION', 'Inregistrare');
tz_def('ADM_BLOCKLIST', 'Lista de blocare');
tz_def('ADM_BLOCK_NEW_REGISTRATIONS_BY_A_SPECIFIC', 'Blocheaza inregistrarile noi dupa un anumit');
tz_def('ADM_USERNAME_3', 'nume de utilizator');
tz_def('ADM_A_SPECIFIC', ', o anumita');
tz_def('ADM_OR_A_WHOLE', ', sau un intreg');
tz_def('ADM_E_MAIL_DOMAIN', 'domeniu de e-mail');
tz_def('ADM_ADD_A_BLOCK', 'Adauga o blocare');
tz_def('ADM_E_MAIL_ADDRESS', 'Adresa de e-mail');
tz_def('ADM_E_MAIL_DOMAIN_2', 'Domeniu de e-mail');
tz_def('ADM_VALUE', 'Valoare');
tz_def('ADM_ADD_BLOCK', 'Adauga blocarea');
tz_def('ADM_DOMAIN_ENTER_JUST_THE_DOMAIN', 'Domeniu: introdu doar domeniul (');
tz_def('ADM_NO_REGISTRATION_BLOCKS_YET', 'Nicio blocare la inregistrare inca.');
tz_def('ADM_ADDED', 'Adaugat');
tz_def('ADM_REASON_2', 'motiv');
tz_def('ADM_REMOVE_2', 'elimina');
tz_def('ADM_WORLD_MAP', 'Harta lumii');
tz_def('ADM_HEATMAP', 'Harta termica');
tz_def('ADM_GRID_RESOLUTION', 'Rezolutia grilei');
tz_def('ADM_INACTIVE_AFTER_DAYS', 'Inactiv dupa (zile)');
tz_def('ADM_REBUILD', 'Reconstruieste');
tz_def('ADM_VILLAGE_DENSITY', 'Densitatea satelor');
tz_def('ADM_TRIBE_DENSITY', 'Densitatea triburilor');
tz_def('ADM_INACTIVITY', 'Inactivitate');
tz_def('ADM_ATTACKS', 'Atacuri');
tz_def('ADM_SUMMARY', 'Rezumat');
tz_def('ADM_PLAYER_VILLAGES', 'Satele jucatorilor');
tz_def('ADM_INACTIVE_VILLAGES', 'Sate inactive');
tz_def('ADM_ATTACKS_IN_FLIGHT', 'Atacuri in desfasurare');
tz_def('ADM_LEGEND', 'Legenda');
tz_def('ADM_TRIBE_TOTALS', 'Totaluri pe triburi');
tz_def('ADM_NO_PLAYER_VILLAGES_FOUND', 'Niciun sat de jucator gasit.');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - sabloane (lot 8, final: restul de 26 de sabloane)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_404_FILE_NOT_FOUND', '404 - Fisier negasit');
tz_def('ADM_WE_LOOKED_404_TIMES_ALREADY_BUT_CAN_T_FIND_A', 'Am cautat deja de 404 ori si nu gasim nimic, nici macar un X care sa marcheze locul.');
tz_def('ADM_THIS_SYSTEM_IS_NOT_COMPLETE_YET_SO_THE_PAGE', 'Acest sistem nu e inca terminat. Deci pagina probabil nu exista.');
tz_def('ADM_NOT_FOUND', 'Negasit');
tz_def('ADM_NEW_MESSAGE', 'Mesaj nou');
tz_def('ADM_TO', 'catre');
tz_def('ADM_RECIPIENT', 'Destinatar');
tz_def('ADM_SEND_MESSAGE', 'Trimite mesajul');
tz_def('ADM_PLAYER_NOT_FOUND', 'Jucatorul nu a fost gasit.');
tz_def('ADM_GO_BACK', 'Inapoi');
tz_def('ADM_MESSAGE_FROM_ADMIN', 'Mesaj de la administrator');
tz_def('ADM_WRITE_YOUR_MESSAGE_HERE', 'Scrie mesajul aici...');
tz_def('ADM_TROOP', 'Trupa');
tz_def('ADM_ARMOURY', 'Armurarie');
tz_def('ADM_BLACKSMITH', 'Fierarie');
tz_def('ADM_BACK_3', 'Inapoi');
tz_def('ADM_NOW', 'Acum:');
tz_def('ADM_CREATE_USERS', '👤 Creeaza jucatori');
tz_def('ADM_SUBMITTING_THIS_FORM_WILL_CREATE_NEW_USERS_A', 'Trimiterea acestui formular va crea jucatori si/sau sate noi pe serverul tau!');
tz_def('ADM_MANY_ACCOUNTS_1_VILLAGE', 'Mai multe conturi (1 sat)');
tz_def('ADM_1_ACCOUNT_MANY_VILLAGES', '1 cont (mai multe sate)');
tz_def('ADM_BASE_NAME', 'Nume de baza');
tz_def('ADM_4_20_CHARACTERS_EX_FARM_5_FARM1_FARM5_SINGLE', '4-20 caractere. Ex.: Farm | 5 → Farm1..Farm5. Cont unic: FarmLord | 5 sate.');
tz_def('ADM_WARNING_2', 'Atentie:');
tz_def('ADM_LARGE_VALUES_MAY_FREEZE_THE_SERVER', 'valorile mari pot bloca serverul!');
tz_def('ADM_HOW_MANY_ACCOUNTS', 'Cate conturi');
tz_def('ADM_HOW_MANY_VILLAGES', 'Cate sate');
tz_def('ADM_1_200_SINGLE_ONLY', '1 - 200 (doar cont unic)');
tz_def('ADM_ENABLE_BEGINNER_PROTECTION', 'Activeaza protectia incepatorilor');
tz_def('ADM_CREATE_2', '+ Creeaza');
tz_def('ADM_ADD_VILLAGE', 'Adauga un sat');
tz_def('ADM_COORDINATES_X_Y', 'Coordonate (X|Y)');
tz_def('ADM_ADD_VILLAGE_2', 'ADAUGA SATUL');
tz_def('ADM_TO_ENSURE_THAT_YOU_WON_T_GET_BANNED_AGAIN_IN', 'Pentru a nu mai fi blocat pe viitor, citeste cu atentie regulamentul');
tz_def('ADM_GAME_RULES', '» Regulile jocului');
tz_def('ADM_TO_CONTINUE_PLAYING_CONTACT_THE_MULTIHUNTER', 'Pentru a continua sa joci, contacteaza Multihunterul si lamureste situatia cu el');
tz_def('ADM_WRITE_MESSAGE', '» Scrie un mesaj');
tz_def('ADM_HEED_THE_FOLLOWING_ADVICE_WHEN_WRITING_YOUR', 'Tine cont de urmatoarele sfaturi cand scrii mesajul:');
tz_def('ADM_THERE_IS_ALWAYS_A_REASON_FOR_A_BAN', '● Exista intotdeauna un motiv pentru o blocare.');
tz_def('ADM_TRY_TO_THINK_ABOUT_POSSIBLE_REASONS_FOR_THIS', 'Gandeste-te la motivele posibile ale acestei blocari');
tz_def('ADM_AND_PUT_THINGS_STRAIGHT_WITH_THE_MULTIHUNTER', 'si lamureste situatia cu Multihunterul.');
tz_def('ADM_MULTIHUNTERS_CAN_REVIEW_ENORMOUS_AMOUNTS_OF', '● Multihunterii pot analiza cantitati enorme de informatii despre conturi.');
tz_def('ADM_STICK_TO_THE_TRUTH', 'Spune adevarul');
tz_def('ADM_AND_DO_NOT_MAKE_EXCUSES_TO_JUSTIFY_YOUR_VIOL', 'si nu cauta scuze ca sa justifici incalcarea regulilor.');
tz_def('ADM_BE_COOPERATIVE_AND_INSIGHTFUL_THIS_MIGHT_RED', '● Fii cooperant si intelegator, asta poate reduce pedeapsa.');
tz_def('ADM_CALM_AND_POLITE', 'calm si politicos');
tz_def('ADM_WHILE_TALKING_TO_THE_MULTIHUNTER_AND_TELLING', 'cand vorbesti cu Multihunterul si ii prezinti punctul tau de vedere.');
tz_def('ADM_INCLUDES_RESOURCES_MAIN_BUILDING_RALLY_POINT', 'Include resurse, cladirea principala, punctul de adunare, depozitul, hambarul, zidul, piata, resedinta, trupe (pentru cresterea eroului) si o ascunzatoare.');
tz_def('ADM_IF_THE_MULTIHUNTER_DOES_NOT_ANSWER_IMMEDIATE', '● Daca Multihunterul nu raspunde imediat, probabil nu e online. Trimiterea mai multor mesaje nu va rezolva problema mai repede, mai ales daca nici primul nu a fost citit.');
tz_def('ADM_IF_YOU_HAVE_REALLY_BEEN_BANNED_UNJUSTLY_TRY', '● Daca ai fost blocat pe nedrept, incearca sa ramai');
tz_def('ADM_RESOURCE', 'Resursa');
tz_def('ADM_AMOUNT', 'Cantitate');
tz_def('ADM_MAXIMUM_CAPACITY', 'Capacitate maxima');
tz_def('ADM_BACK_TO_VILLAGE_2', '← Inapoi la sat');
tz_def('ADM_ADMIN_CONTROL', 'Control administrare');
tz_def('ADM_SERVER_ADMINISTRATION', 'Administrarea serverului');
tz_def('ADM_SECURE_ACCESS_TO_TRAVIANZ_PANEL', 'Acces securizat la panoul TravianZ');
tz_def('ADM_PASSWORD', 'Parola');
tz_def('ADM_ACCESS_PANEL', 'Acceseaza panoul');
tz_def('ADM_ENTER_ADMIN_USERNAME', 'Introdu numele de administrator');
tz_def('ADM_ROMANS', 'Romani');
tz_def('ADM_TEUTONS', 'Teutoni');
tz_def('ADM_GAULS', 'Gali');
tz_def('ADM_RESET_GOLD_FOR_ALL_PLAYERS', 'Reseteaza aurul tuturor jucatorilor');
tz_def('ADM_RESET_ALL_PLAYERS_GOLD', 'Reseteaza aurul tuturor jucatorilor');
tz_def('ADM_THIS_ACTION_WILL_SET_THE_GOLD_TO', 'Aceasta actiune va seta aurul la');
tz_def('ADM_FOR_ALL_PLAYERS_FROM_THE_SERVER', 'pentru TOTI jucatorii de pe server.');
tz_def('ADM_WARNING_THE_ACTION_IS_IRREVERSIBLE_MAKE_SURE', '⚠️ ATENTIE: actiunea e ireversibila! Asigura-te ca ai o copie de rezerva.');
tz_def('ADM_RESET_GOLD_NOW', 'RESETEAZA AURUL ACUM');
tz_def('ADM_ALL_PLAYERS_GOLD_HAS_BEEN_RESET', '✓ Aurul tuturor jucatorilor a fost resetat!');
tz_def('ADM_RESET_ALL_PLAYERS_PLUS', 'Reseteaza Plus pentru toti jucatorii');
tz_def('ADM_THIS_ACTION_WILL_DISABLE_TRAVIAN_PLUS_FOR_AL', 'Aceasta actiune va dezactiva Travian Plus pentru TOTI jucatorii.');
tz_def('ADM_PLUS_IT_WILL_BE_SET_TO_0_DAYS_FOR_EVERYONE', '⚠️ Plus va fi setat la 0 zile pentru toata lumea.');
tz_def('ADM_RESET_PLUS_NOW', 'RESETEAZA PLUS ACUM');
tz_def('ADM_PLUS_ALL_THE_PLAYERS_HAVE_BEEN_RESET', '✓ Plus a fost resetat pentru toti jucatorii!');
tz_def('ADM_RESET_ALL_RESOURCE_BONUSES', 'Reseteaza toate bonusurile de resurse');
tz_def('ADM_THIS_ACTION_WILL_DISABLE_THE_25_BONUS_FOR_AL', 'Aceasta actiune va dezactiva bonusul de 25% la TOATE resursele, pentru toti jucatorii.');
tz_def('ADM_ALL_RESOURCE_BONUSES_WILL_BE_SET_TO_0_DAYS', '⚠️ Toate bonusurile de resurse vor fi setate la 0 zile.');
tz_def('ADM_RESET_RESOURCE_BONUS', 'RESETEAZA BONUSUL DE RESURSE');
tz_def('ADM_RESOURCE_BONUSES_HAVE_BEEN_RESET_FOR_ALL_PLA', '✓ Bonusurile de resurse au fost resetate pentru toti jucatorii!');
tz_def('ADM_IGM_REPORTS_LOOKUP', 'Cautare mesaje / rapoarte');
tz_def('ADM_IGM_BY_ID', 'Mesaj dupa ID');
tz_def('ADM_GO', 'Mergi');
tz_def('ADM_REPORT_BY_ID', 'Raport dupa ID');
tz_def('ADM_ENTER_MESSAGE_ID', 'Introdu ID-ul mesajului...');
tz_def('ADM_ENTER_REPORT_ID', 'Introdu ID-ul raportului...');
tz_def('ADM_SITTER_1_2', 'Inlocuitor 1');
tz_def('ADM_SITTER_2_2', 'Inlocuitor 2');
tz_def('ADM_CULTURE_POINTS_2', 'Puncte de cultura');
tz_def('ADM_ATTACK_POINTS_THIS_WEEK', 'Puncte de atac (saptamana aceasta)');
tz_def('ADM_DEFENCE_POINTS_THIS_WEEK', 'Puncte de aparare (saptamana aceasta)');
tz_def('ADM_RESOURCES_RAIDED_THIS_WEEK', 'Resurse jefuite (saptamana aceasta)');
tz_def('ADM_TOTAL_ATTACK_POINTS', 'Puncte de atac totale');
tz_def('ADM_TOTAL_DEFENCE_POINTS', 'Puncte de aparare totale');
tz_def('ADM_EDIT_PLAYER_ADDITIONAL_INFO', 'Editeaza informatiile suplimentare ale jucatorului');
tz_def('ADM_THE_ACCOUNT_WILL_BE_DELETED_IN', 'Contul va fi sters in');
tz_def('ADM_CANCEL_3', '✖ Anuleaza');
tz_def('ADM_CANCEL_DELETION', 'Anuleaza stergerea');
tz_def('ADM_DESCRIPTION', 'Descriere');
tz_def('ADM_AGE', 'Varsta');
tz_def('ADM_GENDER', 'Sex');
tz_def('ADM_LOCATION_2', 'Locatie');
tz_def('ADM_LAST_IP', 'Ultimul IP');
tz_def('ADM_LANGUAGE', 'Limba');
tz_def('ADM_BAN_USER_2', '&raquo; Blocheaza jucatorul');
tz_def('ADM_SEND_MESSAGE_2', '&raquo; Trimite un mesaj');
tz_def('ADM_EDIT_PLUS_RES_BONUS', '&raquo; Editeaza Plus si bonusul de resurse');
tz_def('ADM_EDIT_SITTERS_2', '&raquo; Editeaza inlocuitorii');
tz_def('ADM_EDIT_PROTECTION', '&raquo; Editeaza protectia');
tz_def('ADM_EDIT_PASSWORD', '&raquo; Editeaza parola');
tz_def('ADM_EDIT_OVERALL_OFF_DEF', '&raquo; Editeaza atacul si apararea totale');
tz_def('ADM_EDIT_WEEKLY_OFF_DEF_RAID', '&raquo; Editeaza atac, aparare, jaf saptamanal');
tz_def('ADM_USER_LOGIN_LOG', '&raquo; Jurnal de autentificare');
tz_def('ADM_USER_ILLEGAL_LOG', '&raquo; Jurnal de nereguli');
tz_def('ADM_RECOUNT_POPULATION', 'Recalculeaza populatia');
tz_def('ADM_EMAIL_2', 'E-MAIL');
tz_def('ADM_IP', 'IP');
tz_def('ADM_TRIBE_3', 'Trib:');
tz_def('ADM_VILLAGES_3', 'Sate:');
tz_def('ADM_POP_3', 'Pop.:');
tz_def('ADM_COORDS_2', 'Coordonate:');
tz_def('ADM_ILLEGALS_LOG', '🚨 Jurnal de nereguli:');
tz_def('ADM_DETECTED_OFFENCES', 'Nereguli detectate');
tz_def('ADM_BACK_TO_PLAYER', '← Inapoi la jucator');
tz_def('ADM_LOGIN_LOG_2', '🔐 Jurnal de autentificare:');
tz_def('ADM_RECENT_LOGIN_ATTEMPTS', 'Incercari recente de autentificare');
tz_def('ADM_LOG_ID', 'ID jurnal');
tz_def('ADM_IP_ADDRESS', 'Adresa IP');
tz_def('ADM_INFO', 'Info');
tz_def('ADM_BUILD_LOG', '— Jurnal de constructii');
tz_def('ADM_LATEST_200_ACTION', 'Ultimele 200 de actiuni');
tz_def('ADM_NO_ACTION_RECORDED_YET', 'Nicio actiune inregistrata.');
tz_def('ADM_POPULATION_2', 'POPULATIE');
tz_def('ADM_COORDINATES', 'COORDONATE');
tz_def('ADM_TROOPS_2', 'TRUPE');
//////////////////////////////////////////////////////////////////////////////////////////////////////
// PANOU DE ADMINISTRARE - texte lungi si pe mai multe randuri (curatare finala)
//////////////////////////////////////////////////////////////////////////////////////////////////////
tz_def('ADM_E_MAIL_ADDRESS_2', 'adresa de e-mail');
tz_def('ADM_E_G_AN_OBSCENE_USERNAME_OR_THE_ENTIRE', '(de ex. un nume obscen, sau intregul');
tz_def('ADM_DOMAIN_MATCHING_IS_EXACT_AND_CASE_INSENSITIV', 'domeniu). Potrivirea e exacta si nu tine cont de majuscule. Conturile existente nu sunt afectate &mdash; doar inregistrarile noi.');
tz_def('ADM_WITH_OR_WITHOUT_THE_LEADING_E_MAIL_THE_FULL', '), cu sau fara &ldquo;@&rdquo; la inceput. E-mail: adresa completa. Nume de utilizator: numele exact.');
tz_def('ADM_SILVER_2', 'argint &nbsp;|&nbsp;');
tz_def('ADM_OF_EACH', 'din fiecare &nbsp;|&nbsp;');
tz_def('ADM_HOURLY_RESOURCES_PRODUCED_BY_EACH_POINT_THE', 'Resurse pe ora produse de fiecare punct investit in atributul Resurse al eroului, in satul in care se afla. Jucatorii aleg liber intre a le raspandi pe toate patru sau a le concentra pe una singura.');
tz_def('ADM_HOURLY_RESOURCES_PER_POINT_INVESTED_IN_THE_H', 'Resurse pe ora pentru fiecare punct investit in atributul Resurse al eroului. Prima valoare se aplica atunci cand bonusul e raspandit pe toate patru, a doua cand e concentrat pe una singura. Ambele se scaleaza cu viteza serverului.');
tz_def('ADM_HIT_POINTS_THE_HERO_RECOVERS_PER_DAY_ON_TOP', 'Puncte de viata recuperate zilnic de erou, peste punctele investite in atributul de regenerare si peste itemele echipate. Fara asta, un erou fara puncte de regenerare nu s-ar vindeca niciodata si ar muri in cele din urma in aventuri. Se scaleaza cu viteza serverului. 0 dezactiveaza.');
tz_def('ADM_HOW_LONG_ONE_CRON_PHP_INVOCATION_KEEPS_WORKI', 'Cat timp continua sa lucreze o invocare de cron.php. Majoritatea hosturilor partajate permit cron doar la 5 minute, in timp ce Automation se asteapta sa ruleze cam la un minut &mdash; deci o invocare face mai multe tick-uri la rand. Foloseste 300 pentru un cron "*/5". Pune 0 doar daca hostul tau permite cron la fiecare minut.');
tz_def('ADM_ENABLE_DISABLE_IF_A_PLAYER_LEAVES_AT_LEAST_O', 'Activeaza (dezactiveaza): daca un jucator lasa cel putin un mesaj intr-un subiect de pe forum, va primi mesaje in joc despre aparitia unor mesaje noi in acelasi subiect (adica e tehnic "abonat")');
tz_def('ADM_ENABLE_DISABLE_THE_SERVER_MILESTONES_WIDGET', 'Activeaza (dezactiveaza) widgetul "Etape ale serverului" (primul jucator care intemeiaza al 2-lea sat, atinge 1000 de populatie, captureaza un artefact, cucereste o MdL, cucereste un plan de MdL, fondeaza o alianta sau cucereste satul altui jucator), afisat sus in Statistici &raquo; General');
tz_def('ADM_CREATE_PROMO_VOUCHER_CODES_PLAYERS_REDEEM_FO', 'Creeaza coduri promo pe care jucatorii le schimba pe aur in pagina Plus. Stabileste o cantitate fixa de aur, o limita optionala de utilizari, daca fiecare jucator il poate folosi o singura data si o expirare optionala. Pentru o recompensa unica de vanator de buguri, creeaza un cod cu maxim 1 utilizare &mdash; sau foloseste');
tz_def('ADM_DENSITY_OVERLAYS_ON_THE_WORLD_GRID_TO_HELP_W', 'Straturi de densitate peste grila lumii, utile pentru echilibrul de start: unde se aglomereaza satele, ce triburi domina o regiune, unde stau jucatorii inactivi (zone moarte / locuri bune de aparitie) si unde aterizeaza atacurile in prezent. Nordul (+y) e in sus.');
tz_def('ADM_HEURISTIC_CORRELATION_OF_ACCOUNT_PAIRS_BY_SH', 'Corelare euristica a perechilor de conturi dupa IP comun, subretea, amprenta de dispozitiv/browser (User-Agent), suprapunerea orelor de conectare si fluxul de transferuri de resurse. Acesta e un');
tz_def('ADM_USE_IT_TO_PRIORITISE_WHICH_PAIRS_A_HUMAN_SHO', '&mdash; foloseste-l ca sa stabilesti ce perechi merita investigate de un om. Nimic nu se blocheaza automat.');
tz_def('ADM_ROW_CAP_REACHED_WHILE_SCANNING_LOGIN_HISTORY', 'S-a atins limita de randuri la scanarea istoricului de autentificari (fereastra e mare / serverul e foarte incarcat). Rezultatele raman valide, dar pot fi incomplete &mdash; ingusteaza fereastra pentru acoperire completa.');
tz_def('ADM_RECEIVED_FROM_OTHER_PLAYERS_VERSUS_AN_AUTOMA', '(primite de la alti jucatori) fata de o limita automata derivata din productia orara a jucatorului (');
tz_def('ADM_OF_PRODUCTION_PER_WINDOW_WW_VILLAGES_AND_ART', 'de productie per fereastra). Satele MdL si satele cu artefact sunt marcate ca exceptii de aprovizionare. Seteaza o exceptie manuala ca sa scutesti un jucator (MdL / de incredere) sau ca sa-i dai un plafon personalizat. Nimic nu se blocheaza automat &mdash; asta ofera vizibilitate si control unui moderator uman.');
tz_def('ADM_THE_7_DAY_BALANCE_FILLS_IN_AS_MERCHANT_DELIV', 'Bilantul pe 7 zile se completeaza pe masura ce livrarile de negustori intre jucatori diferiti sunt procesate dupa activarea acestei functii.');
tz_def('ADM_EDIT_THE_REWARD_EACH_QUEST_GRANTS_WOOD_CLAY', 'Editeaza recompensa acordata de fiecare misiune (lemn / lut / fier / cereale / aur / zile de Plus) si nivelul necesar (de ex. nivelul cladirii principale pentru misiunile de constructie). Valorile pornesc de la cele implicite livrate, deci nu se schimba nimic pana nu editezi. Cele doua variante de misiuni au misiuni si recompense diferite &mdash; alege-o pe cea folosita de serverul tau (jucatorii pe');
tz_def('ADM_IN_THE_QUEST_TEMPLATES_QUESTS_MARKED', 'in sabloanele de misiuni. Misiunile marcate');
tz_def('ADM_KEEP_THEIR_ORIGINAL_HARDCODED_LOGIC_CONDITIO', 'isi pastreaza logica originala scrisa in cod (recompense conditionate, revendicari atomice de etape, mecanici speciale) si nu sunt afectate de modificarile de aici. Sumele afisate in textul fiecarei misiuni sunt siruri separate de sablon &mdash; modificarile de aici schimba ce se acorda efectiv; actualizeaza sirurile de limba daca vrei ca previzualizarea sa corespunda.');