diff --git a/admin.php b/admin.php index cd20e1f..1b57f32 100644 --- a/admin.php +++ b/admin.php @@ -520,6 +520,7 @@ $current_session_user = isset($_SESSION['user']) ? (string) $_SESSION['user'] : diff --git a/scitems.php b/scitems.php index 1543d8c..8f7aa9e 100644 --- a/scitems.php +++ b/scitems.php @@ -402,6 +402,7 @@ if ($edit_id > 0) { diff --git a/scmining.php b/scmining.php new file mode 100644 index 0000000..c7e49e1 --- /dev/null +++ b/scmining.php @@ -0,0 +1,416 @@ + 0) { + try { + $stmt = $db->prepare("INSERT INTO tbl_scmining (cl_scmining_obj_id, cl_scmining_scan_value, cl_scmining_max_occurrence) VALUES (:obj_id, 0, 1)"); + $stmt->execute(['obj_id' => $obj_id]); + auth_flash_set('success', 'Minéral ajouté avec succès.'); + } catch (PDOException $e) { + if ($e->getCode() == 23000) { + auth_flash_set('error', 'Ce minéral est déjà dans la liste.'); + } else { + auth_flash_set('error', 'Erreur lors de l\'ajout : ' . $e->getMessage()); + } + } + } + header('Location: scmining.php'); + exit; + } + + // Update mineral values + if ($action === 'update_mineral') { + $mining_id = (int)$_POST['mining_id']; + $scan_value = (int)$_POST['scan_value']; + $max_occurrence = (int)$_POST['max_occurrence']; + + $stmt = $db->prepare("UPDATE tbl_scmining SET cl_scmining_scan_value = :scan, cl_scmining_max_occurrence = :occ WHERE cl_scmining_id = :id"); + $stmt->execute(['scan' => $scan_value, 'occ' => $max_occurrence, 'id' => $mining_id]); + + auth_flash_set('success', 'Valeurs mises à jour.'); + header('Location: scmining.php'); + exit; + } + + // Remove mineral + if ($action === 'delete_mineral') { + $mining_id = (int)$_POST['mining_id']; + $stmt = $db->prepare("DELETE FROM tbl_scmining WHERE cl_scmining_id = :id"); + $stmt->execute(['id' => $mining_id]); + + auth_flash_set('success', 'Minéral retiré de la liste.'); + header('Location: scmining.php'); + exit; + } +} + +// Search for adding items +$search = isset($_GET['search']) ? trim($_GET['search']) : ''; +$search_results = []; +if ($search !== '') { + $stmt_search = $db->prepare("SELECT * FROM tbl_scobjs WHERE cl_scobjs_name LIKE :search AND cl_scobjs_id NOT IN (SELECT cl_scmining_obj_id FROM tbl_scmining) ORDER BY cl_scobjs_name ASC LIMIT 10"); + $stmt_search->execute(['search' => "%$search%"]); + $search_results = $stmt_search->fetchAll(); +} + +// Fetch current mining list +$sql_list = "SELECT m.*, o.cl_scobjs_name, o.cl_scobjs_uuid, o.cl_scobjs_type, o.cl_scobjs_subtype + FROM tbl_scmining m + JOIN tbl_scobjs o ON m.cl_scmining_obj_id = o.cl_scobjs_id + ORDER BY o.cl_scobjs_name ASC"; +$stmt_list = $db->query($sql_list); +$mining_list = $stmt_list->fetchAll(); + +$current_session_user = $_SESSION['user'] ?? ''; +?> + + + + + + Scanner Minage | R.E.A.C.T. Admin + + + + + +
+
+
+

R.E.A.C.T. Mining Scanner

+

Niveau d\'accès : Administrateur | Session :

+
+
+ Site + Exit +
+
+ + + + +
+ +
+ + +
+ +
+
+

Ajouter un Minéral

+
+ + +
+ + +
+ +

Aucun objet non listé trouvé.

+ + +
+ +
+ + / +
+
+ + + + +
+
+ + +
+ +
+
+ + +
+
+

Configuration Minerais

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AperçuNom / TypeValeur ScanMax Occur.Actions
Aucun minéral configuré.
+ + +
+ / +
+ + + + +
+ + +
+ + + + +
+
+
+
+
+
+
+
+ + \ No newline at end of file