Alpha V2.5.2

This commit is contained in:
Flatlogic Bot 2026-03-06 02:41:39 +00:00
parent 75d2011a63
commit 6a1e19e06d

View File

@ -70,7 +70,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['
// Handle Celestial Object Type CRUD
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_object_type') {
$id = (int)$_POST['id'];
$name = $_POST['name'];
$name = $_POST["name"];
$slug = $_POST['slug'];
$icon = $_POST['icon'];
$description = $_POST['description'];
@ -85,7 +85,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['
}
if (isset($_FILES['image']) && $_FILES['image']['error'] === UPLOAD_ERR_OK) {
$ext = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION);
$ext = pathinfo($_FILES['image']["name"], PATHINFO_EXTENSION);
$filename = $slug . "_" . time() . "." . $ext;
$target = "assets/images/celestial/" . $filename;
if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
@ -194,7 +194,7 @@ if (isset($_GET["delete_status_profile"])) {
// Handle Status Rule CRUD
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_status_rule') {
$id = (int)$_POST['id'];
$name = $_POST['name'];
$name = $_POST["name"];
$status_id = (int)$_POST['status_id'];
$profile_id = (int)$_POST['profile_id'];
$priority = (int)$_POST['priority'];
@ -229,7 +229,7 @@ if (isset($_GET['delete_status_rule'])) {
// Handle Settlement Type CRUD
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_settlement_type') {
$id = (int)$_POST['id'];
$name = $_POST['name'];
$name = $_POST["name"];
$slug = $_POST['slug'];
$description = $_POST['description'];
@ -254,7 +254,7 @@ if (isset($_GET['delete_settlement_type'])) {
// Handle Modifiers CRUD
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_modifier') {
$id = (int)$_POST['id'];
$name = $_POST['name'];
$name = $_POST["name"];
$slug = $_POST['slug'];
$type = $_POST['type'];
$description = $_POST['description'];
@ -280,7 +280,7 @@ if (isset($_GET['delete_modifier'])) {
// Handle Faction CRUD
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_faction') {
$id = (int)$_POST['id'];
$name = $_POST['name'];
$name = $_POST["name"];
$slug = $_POST['slug'];
$fa_icon = $_POST['fa_icon'];
$color = $_POST['color'];
@ -293,7 +293,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['
$image_url = $stmt_img->fetchColumn();
}
if (isset($_FILES['image']) && $_FILES['image']['error'] === UPLOAD_ERR_OK) {
$ext = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION);
$ext = pathinfo($_FILES['image']["name"], PATHINFO_EXTENSION);
$filename = "faction_" . time() . "." . $ext;
$target = "assets/images/factions/" . $filename;
if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
@ -364,7 +364,7 @@ if (isset($_GET["delete_level"])) {
// Handle Resource CRUD
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_resource') {
$id = (int)$_POST['id'];
$name = $_POST['name'];
$name = $_POST["name"];
$slug = $_POST['slug'];
$icon = $_POST['icon'];
$description = $_POST['description'];
@ -378,7 +378,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['
}
if (isset($_FILES['image']) && $_FILES['image']['error'] === UPLOAD_ERR_OK) {
$ext = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION);
$ext = pathinfo($_FILES['image']["name"], PATHINFO_EXTENSION);
$filename = "res_" . $slug . "_" . time() . "." . $ext;
if (!is_dir("assets/images/resources")) {
mkdir("assets/images/resources", 0775, true);
@ -431,7 +431,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["action"]) && $_POST["
// Handle Lootbox CRUD
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_grade') {
$id = (int)$_POST['id'];
$name = trim($_POST['name']);
$name = trim($_POST["name"]);
$slug = trim($_POST['slug']);
$user_type = $_POST['user_type'];
$min_level = ($user_type === 'utilisateur') ? (int)$_POST['min_level'] : null;
@ -476,7 +476,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['
}
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'upsert_lootbox') {
$id = (int)$_POST['id'];
$name = $_POST['name'];
$name = $_POST["name"];
$slug = $_POST['slug'];
$description = $_POST['description'];
@ -816,8 +816,8 @@ if ($tab === 'users') {
<label>Ressource requise</label>
<select name="resource_id" id="level_resource_id" required>
<?php foreach ($resources_list as $res): ?>
<option value="<?php echo $res['id']; ?>" <?php echo (stripos($res['name'], 'Expérience') !== false || stripos($res['name'], 'Experience') !== false) ? 'selected' : ''; ?>>
<?php echo htmlspecialchars($res['name']); ?>
<option value="<?php echo $res['id']; ?>" <?php echo (stripos($res["name"], 'Expérience') !== false || stripos($res["name"], 'Experience') !== false) ? 'selected' : ''; ?>>
<?php echo htmlspecialchars($res["name"]); ?>
</option>
<?php endforeach; ?>
</select>
@ -848,7 +848,7 @@ if ($tab === 'users') {
<?php else: ?>
<?php foreach ($levels_list as $lvl): ?>
<tr>
<td><strong><?php echo htmlspecialchars($lvl['name']); ?></strong></td>
<td><strong><?php echo htmlspecialchars($lvl["name"]); ?></strong></td>
<td><code><?php echo htmlspecialchars($lvl['slug']); ?></code></td>
<td><?php echo htmlspecialchars($lvl['resource_name']); ?></td>
<td><?php echo number_format($lvl['required_quantity'], 0, ',', ' '); ?></td>
@ -934,7 +934,7 @@ if ($tab === 'users') {
<?php else: ?>
<?php foreach ($ranks_list as $r): ?>
<tr>
<td><img src="<?php echo htmlspecialchars($r[.image_url.]); ?>" style="width:40px;"></td><td><strong><?php echo htmlspecialchars($r[.name.]); ?></strong></td>
<td><img src="<?php echo htmlspecialchars($r["image_url"]); ?>" style="width:40px;"></td><td><strong><?php echo htmlspecialchars($r["name"]); ?></strong></td>
<td><code><?php echo htmlspecialchars($r['slug']); ?></code></td>
<td>
<span class="badge <?php echo $r['user_type'] === 'admin' ? 'tag-malus' : ($r['user_type'] === 'GM' ? 'tag-bonus' : ''); ?>"
@ -1038,7 +1038,7 @@ if ($tab === 'users') {
<select name="status_profile_id" id="obj_profile_id" style="margin-top: 5px;">
<option value="">(Aucune règle - Statut fixe)</option>
<?php foreach ($status_profiles_list as $p): ?>
<option value="<?php echo $p['id']; ?>"><?php echo htmlspecialchars($p['name']); ?></option>
<option value="<?php echo $p['id']; ?>"><?php echo htmlspecialchars($p["name"]); ?></option>
<?php endforeach; ?>
</select>
</div>
@ -1052,7 +1052,7 @@ if ($tab === 'users') {
<label style="font-size: 11px; display: flex; align-items: center; gap: 5px; cursor: pointer;">
<input type="checkbox" name="modifiers[]" value="<?php echo $m['id']; ?>" class="modifier-checkbox" data-id="<?php echo $m['id']; ?>">
<span class="modifier-tag <?php echo $m['type'] === 'bonus' ? 'tag-bonus' : 'tag-malus'; ?>">
<?php echo htmlspecialchars($m['name']); ?>
<?php echo htmlspecialchars($m["name"]); ?>
</span>
</label>
<?php endforeach; ?>
@ -1075,13 +1075,13 @@ if ($tab === 'users') {
<?php foreach ($objects_list as $o): ?>
<tr>
<td style="text-align: center;">
<?php if (!empty($o['image_url'])): ?>
<img src="<?php echo htmlspecialchars($o['image_url']); ?>?v=<?php echo time(); ?>" style="max-width: 40px; max-height: 40px; display: block; margin: 0 auto;">
<?php if (!empty($o["image_url"])): ?>
<img src="<?php echo htmlspecialchars($o["image_url"]); ?>?v=<?php echo time(); ?>" style="max-width: 40px; max-height: 40px; display: block; margin: 0 auto;">
<?php else: ?>
<i class="fa-solid <?php echo htmlspecialchars($o['icon']); ?> fa-lg"></i>
<?php endif; ?>
</td>
<td><strong><?php echo htmlspecialchars($o['name']); ?></strong><br><small><code><?php echo htmlspecialchars($o['slug']); ?></code></small></td>
<td><strong><?php echo htmlspecialchars($o["name"]); ?></strong><br><small><code><?php echo htmlspecialchars($o['slug']); ?></code></small></td>
<td style="text-align: center;">
<div style="display: flex; flex-direction: column; gap: 4px; align-items: center;">
<span style="font-size: 10px; display: inline-flex; align-items: center; gap: 3px; padding: 2px 6px; border-radius: 4px; background: <?php echo $o['orbital_control_enabled'] ? 'rgba(163, 190, 140, 0.2)' : 'rgba(191, 97, 106, 0.2)'; ?>; color: <?php echo $o['orbital_control_enabled'] ? '#a3be8c' : '#bf616a'; ?>; border: 1px solid <?php echo $o['orbital_control_enabled'] ? '#a3be8c' : '#bf616a'; ?>; width: 90px; justify-content: center;">
@ -1095,7 +1095,7 @@ if ($tab === 'users') {
<td>
<?php
$p_name = "<em>Fixe</em>";
foreach($status_profiles_list as $p) if($p['id'] == $o['status_profile_id']) $p_name = htmlspecialchars($p['name']);
foreach($status_profiles_list as $p) if($p['id'] == $o['status_profile_id']) $p_name = htmlspecialchars($p["name"]);
echo $p_name;
?>
</td>
@ -1106,7 +1106,7 @@ if ($tab === 'users') {
$m_list = $stmt->fetchAll();
foreach ($m_list as $ml): ?>
<span class="modifier-tag <?php echo $ml['type'] === 'bonus' ? 'tag-bonus' : 'tag-malus'; ?>">
<?php echo htmlspecialchars($ml['name']); ?>
<?php echo htmlspecialchars($ml["name"]); ?>
</span>
<?php endforeach; ?>
</td>
@ -1162,7 +1162,7 @@ if ($tab === 'users') {
<?php echo strtoupper($m['type']); ?>
</span>
</td>
<td><strong><?php echo htmlspecialchars($m['name']); ?></strong></td>
<td><strong><?php echo htmlspecialchars($m["name"]); ?></strong></td>
<td><small><?php echo htmlspecialchars($m['description']); ?></small></td>
<td><code><?php echo htmlspecialchars($m['slug']); ?></code></td>
<td>
@ -1228,7 +1228,7 @@ if ($tab === 'users') {
$pureColor = str_replace(';blink', '', $c);
?>
<td><div class="<?php echo $isBlink ? 'blink-effect' : ''; ?>" style="width: 20px; height: 20px; background: <?php echo $pureColor; ?>; border: 1px solid #fff;"></div></td>
<td><strong><?php echo htmlspecialchars($s['name']); ?></strong></td>
<td><strong><?php echo htmlspecialchars($s["name"]); ?></strong></td>
<td><code><?php echo htmlspecialchars($s['slug']); ?></code></td>
<td>
<button class="btn btn-edit" onclick='editStatus(<?php echo json_encode($s, JSON_HEX_APOS); ?>)'>Editer</button>
@ -1262,7 +1262,7 @@ if ($tab === 'users') {
<div style="margin-top: 15px; display: flex; flex-wrap: wrap; gap: 10px;">
<?php foreach ($status_profiles_list as $p): ?>
<div style="background: rgba(235, 203, 139, 0.1); border: 1px solid #ebcb8b; padding: 5px 10px; border-radius: 4px; display: flex; align-items: center; gap: 10px;">
<strong><?php echo htmlspecialchars($p['name']); ?></strong> (<code><?php echo htmlspecialchars($p['slug']); ?></code>)
<strong><?php echo htmlspecialchars($p["name"]); ?></strong> (<code><?php echo htmlspecialchars($p['slug']); ?></code>)
<div style="display: flex; gap: 5px;">
<i class="fa-solid fa-pen-to-square" style="cursor: pointer; color: #ebcb8b;" onclick='editProfile(<?php echo json_encode($p, JSON_HEX_APOS); ?>)'></i>
<a href="?tab=statuses&delete_status_profile=<?php echo $p['id']; ?>" onclick="return confirm('Supprimer ce profil ?')" style="color: #bf616a;"><i class="fa-solid fa-trash"></i></a>
@ -1286,7 +1286,7 @@ if ($tab === 'users') {
<label>Profile / Groupe</label>
<select name="profile_id" id="rule_profile_id" required>
<?php foreach ($status_profiles_list as $p): ?>
<option value="<?php echo $p['id']; ?>"><?php echo htmlspecialchars($p['name']); ?></option>
<option value="<?php echo $p['id']; ?>"><?php echo htmlspecialchars($p["name"]); ?></option>
<?php endforeach; ?>
</select>
</div>
@ -1294,7 +1294,7 @@ if ($tab === 'users') {
<label>Statut à appliquer</label>
<select name="status_id" id="rule_status_id" required>
<?php foreach ($statuses_list as $s): ?>
<option value="<?php echo $s['id']; ?>"><?php echo htmlspecialchars($s['name']); ?></option>
<option value="<?php echo $s['id']; ?>"><?php echo htmlspecialchars($s["name"]); ?></option>
<?php endforeach; ?>
</select>
</div>
@ -1332,8 +1332,8 @@ if ($tab === 'users') {
<div class="ms-display" onclick="toggleMS('ms_orb_list')">Toutes / Peu importe</div>
<div class="ms-dropdown" id="ms_orb_list">
<label class="ms-item"><input type="checkbox" value="none" onchange="updateMSLabel('ms_orb')"> Aucune (Vide)</label>
<?php foreach($factions_list as $f): if($f['name'] !== 'Aucune'): ?>
<label class="ms-item"><input type="checkbox" value="<?php echo $f['id']; ?>" name="orbital_dominance[]" onchange="updateMSLabel('ms_orb')"> <?php echo htmlspecialchars($f['name']); ?></label>
<?php foreach($factions_list as $f): if($f["name"] !== 'Aucune'): ?>
<label class="ms-item"><input type="checkbox" value="<?php echo $f['id']; ?>" name="orbital_dominance[]" onchange="updateMSLabel('ms_orb')"> <?php echo htmlspecialchars($f["name"]); ?></label>
<?php endif; endforeach; ?>
</div>
</div>
@ -1375,8 +1375,8 @@ if ($tab === 'users') {
<div class="ms-display" onclick="toggleMS('ms_terr_list')">Toutes / Peu importe</div>
<div class="ms-dropdown" id="ms_terr_list">
<label class="ms-item"><input type="checkbox" value="none" onchange="updateMSLabel('ms_terr')"> Aucune (Vide)</label>
<?php foreach($factions_list as $f): if($f['name'] !== 'Aucune'): ?>
<label class="ms-item"><input type="checkbox" value="<?php echo $f['id']; ?>" name="terrestrial_dominance[]" onchange="updateMSLabel('ms_terr')"> <?php echo htmlspecialchars($f['name']); ?></label>
<?php foreach($factions_list as $f): if($f["name"] !== 'Aucune'): ?>
<label class="ms-item"><input type="checkbox" value="<?php echo $f['id']; ?>" name="terrestrial_dominance[]" onchange="updateMSLabel('ms_terr')"> <?php echo htmlspecialchars($f["name"]); ?></label>
<?php endif; endforeach; ?>
</div>
</div>
@ -1403,7 +1403,7 @@ if ($tab === 'users') {
<td><span style="background: #3b4252; padding: 2px 6px; border-radius: 4px; font-size: 10px;"><?php echo htmlspecialchars($r['profile_name'] ?: 'Standard'); ?></span></td>
<td><code><?php echo $r['priority']; ?></code></td>
<td>
<strong><?php echo htmlspecialchars($r['name']); ?></strong><br>
<strong><?php echo htmlspecialchars($r["name"]); ?></strong><br>
<small style="color: #8c92a3; font-size: 10px;">
<?php
$orb_conds = [];
@ -1476,7 +1476,7 @@ if ($tab === 'users') {
<tbody>
<?php foreach ($settlement_types_list as $st): ?>
<tr>
<td><strong><?php echo htmlspecialchars($st['name']); ?></strong></td>
<td><strong><?php echo htmlspecialchars($st["name"]); ?></strong></td>
<td><code><?php echo htmlspecialchars($st['slug']); ?></code></td>
<td><small><?php echo htmlspecialchars($st['description']); ?></small></td>
<td>
@ -1528,7 +1528,7 @@ if ($tab === 'users') {
<label class="alliance-label" style="font-size: 11px; display: flex; align-items: center; gap: 5px; cursor: pointer;" data-id="<?php echo $potential_ally['id']; ?>">
<input type="checkbox" name="alliances[]" value="<?php echo $potential_ally['id']; ?>" class="alliance-checkbox" data-id="<?php echo $potential_ally['id']; ?>">
<span style="padding: 2px 8px; border-radius: 4px; background: #334155; color: #fff;">
<?php echo htmlspecialchars($potential_ally['name']); ?>
<?php echo htmlspecialchars($potential_ally["name"]); ?>
</span>
</label>
<?php endforeach; ?>
@ -1547,15 +1547,15 @@ if ($tab === 'users') {
<tr>
<td><div style="width: 25px; height: 25px; border-radius: 50%; background: <?php echo htmlspecialchars($f['color'] ?? '#808080'); ?>; border: 1px solid #334155;"></div></td>
<td style="text-align: center;">
<?php if (!empty($f['image_url'])): ?>
<img src="<?php echo htmlspecialchars($f['image_url']); ?>?v=<?php echo time(); ?>" style="max-width: 40px; max-height: 40px;">
<?php if (!empty($f["image_url"])): ?>
<img src="<?php echo htmlspecialchars($f["image_url"]); ?>?v=<?php echo time(); ?>" style="max-width: 40px; max-height: 40px;">
<?php elseif (!empty($f['fa_icon'])): ?>
<i class="fa-solid <?php echo htmlspecialchars($f['fa_icon']); ?> fa-lg" style="color: <?php echo htmlspecialchars($f['color'] ?? '#fff'); ?>;"></i>
<?php else: ?>
<i class="fa-solid fa-flag fa-lg" style="color: <?php echo htmlspecialchars($f['color'] ?? '#4c566a'); ?>;"></i>
<?php endif; ?>
</td>
<td><strong><?php echo htmlspecialchars($f['name']); ?></strong></td>
<td><strong><?php echo htmlspecialchars($f["name"]); ?></strong></td>
<td><code><?php echo htmlspecialchars($f['slug']); ?></code></td>
<td>
<small>
@ -1564,7 +1564,7 @@ if ($tab === 'users') {
foreach ($f['alliance_ids'] as $aid) {
foreach ($factions_list as $fl) {
if ($fl['id'] == $aid) {
$allies[] = '<span style="color: #a3be8c;">' . htmlspecialchars($fl['name']) . '</span>';
$allies[] = '<span style="color: #a3be8c;">' . htmlspecialchars($fl["name"]) . '</span>';
break;
}
}
@ -1575,7 +1575,7 @@ if ($tab === 'users') {
</td>
<td>
<button class="btn btn-edit" onclick='editFaction(<?php echo json_encode($f, JSON_HEX_APOS); ?>)'>Editer</button>
<?php if ($f['name'] !== 'Aucune'): ?>
<?php if ($f["name"] !== 'Aucune'): ?>
<a href="?tab=factions&delete_faction=<?php echo $f['id']; ?>" class="btn btn-del" onclick="return confirm('Supprimer cette faction ?')">Suppr</a>
<?php endif; ?>
</td>
@ -1632,15 +1632,15 @@ if ($tab === 'users') {
<?php foreach ($resources_list as $r): ?>
<tr>
<td style="text-align: center;">
<?php if (!empty($r['image_url'])): ?>
<img src="<?php echo htmlspecialchars($r['image_url']); ?>?v=<?php echo time(); ?>" style="max-width: 40px; max-height: 40px;">
<?php if (!empty($r["image_url"])): ?>
<img src="<?php echo htmlspecialchars($r["image_url"]); ?>?v=<?php echo time(); ?>" style="max-width: 40px; max-height: 40px;">
<?php elseif (!empty($r['icon'])): ?>
<i class="fa-solid <?php echo htmlspecialchars($r['icon']); ?> fa-lg"></i>
<?php else: ?>
<i class="fa-solid fa-gem fa-lg" style="color: #4c566a;"></i>
<?php endif; ?>
</td>
<td><img src="<?php echo htmlspecialchars($r[.image_url.]); ?>" style="width:40px;"></td><td><strong><?php echo htmlspecialchars($r[.name.]); ?></strong></td>
<td><img src="<?php echo htmlspecialchars($r["image_url"]); ?>" style="width:40px;"></td><td><strong><?php echo htmlspecialchars($r["name"]); ?></strong></td>
<td><code><?php echo htmlspecialchars($r['slug']); ?></code></td>
<td style="text-align: center;">
<?php if ($r['show_in_header']): ?>
@ -1876,7 +1876,7 @@ document.addEventListener('DOMContentLoaded', function() {
<tbody>
<?php foreach ($lootboxes_list as $lb): ?>
<tr>
<td><strong><?php echo htmlspecialchars($lb['name']); ?></strong></td>
<td><strong><?php echo htmlspecialchars($lb["name"]); ?></strong></td>
<td><code><?php echo htmlspecialchars($lb['slug']); ?></code></td>
<td>
<small>