connect_error) { die("Adatbázis hiba: " . $conn->connect_error); } $conn->set_charset("utf8mb4"); // TESZT BELÉPÉS HA NINCS SESSION (A rendszergazda vagy a belépett szerelő ID-ja) if (!isset($_SESSION['user_id'])) { $_SESSION['user_id'] = 10; // Pl. Kovács János (szerelo1) } $current_user_id = $_SESSION['user_id']; // 1. AJAX MENTÉS HANDLER (Amikor a dátum megváltozik) if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'save_dates') { header('Content-Type: application/json'); $target_user_id = intval($_POST['target_user_id']); // Ellenőrzés: csak admin/raktáros módosíthat másokat, amúgy csak a sajátját if ($target_user_id !== $current_user_id) { $stmt_check = $conn->prepare("SELECT role FROM users WHERE id = ?"); $stmt_check->bind_param("i", $current_user_id); $stmt_check->execute(); $role = $stmt_check->get_result()->fetch_assoc()['role'] ?? ''; if ($role !== 'admin' && $role !== 'raktaros') { echo json_encode(['success' => false, 'error' => 'Nincs jogosultságod!']); exit; } } $dates = $_POST['dates'] ?? []; $sisak = !empty($dates['sisak']) ? $dates['sisak'] : NULL; $szemuveg = !empty($dates['szemuveg']) ? $dates['szemuveg'] : NULL; $ruha = !empty($dates['ruha']) ? $dates['ruha'] : NULL; $kesztyu = !empty($dates['kesztyu']) ? $dates['kesztyu'] : NULL; $lada = !empty($dates['lada']) ? $dates['lada'] : NULL; $oltokeszulek = !empty($dates['oltokeszulek']) ? $dates['oltokeszulek'] : NULL; $cipo = !empty($dates['cipo']) ? $dates['cipo'] : NULL; $query = "INSERT INTO equipment_expirations (user_id, sisak, szemuveg, ruha, kesztyu, lada, oltokeszulek, cipo) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE sisak=VALUES(sisak), szemuveg=VALUES(szemuveg), ruha=VALUES(ruha), kesztyu=VALUES(kesztyu), lada=VALUES(lada), oltokeszulek=VALUES(oltokeszulek), cipo=VALUES(cipo)"; $stmt = $conn->prepare($query); $stmt->bind_param("isssssss", $target_user_id, $sisak, $szemuveg, $ruha, $kesztyu, $lada, $oltokeszulek, $cipo); if ($stmt->execute()) { echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'error' => $conn->error]); } exit; } // 2. BELÉPETT FELHASZNÁLÓ ÉS ROLE LEKÉRDEZÉSE $stmt_user = $conn->prepare("SELECT id, fullname, role FROM users WHERE id = ?"); $stmt_user->bind_param("i", $current_user_id); $stmt_user->execute(); $user_info = $stmt_user->get_result()->fetch_assoc(); // Ha Admin vagy Raktáros, lekérjük az összes szerelőt a választóhoz $all_workers = []; if ($user_info['role'] === 'admin' || $user_info['role'] === 'raktaros') { $res = $conn->query("SELECT id, fullname FROM users WHERE active = 1 AND role = 'szerelo' ORDER BY fullname ASC"); while ($row = $res->fetch_assoc()) { $all_workers[] = $row; } } // 3. MEGJELENÍTENDŐ SZERELŐ ADATAINAK BETÖLTÉSE $view_user_id = isset($_GET['worker_id']) && ($user_info['role'] === 'admin' || $user_info['role'] === 'raktaros') ? intval($_GET['worker_id']) : $current_user_id; $stmt_dates = $conn->prepare("SELECT * FROM equipment_expirations WHERE user_id = ?"); $stmt_dates->bind_param("i", $view_user_id); $stmt_dates->execute(); $saved_dates = $stmt_dates->get_result()->fetch_assoc() ?? []; ?>