« Back to History
employee_import.php
|
20260921_175631.php
Initial Domain Snapshot
Copy Code
<?php require_once __DIR__ . '/modules/auth/page_acl.php'; $ctx = page_require_access('employee_import'); $pdo = $ctx['pdo'] ?? null; $company_id = (int)($ctx['company_id'] ?? 0); $u = $ctx['user'] ?? null; if (!$pdo) { die("DB connection error"); } require_once __DIR__ . '/partials/header.php'; // CSRF if (empty($_SESSION['csrf_token'])) { $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); } $msg = ''; $error = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (!hash_equals($_SESSION['csrf_token'], $_POST['csrf_token'] ?? '')) { $error = "Invalid request"; } elseif (!isset($_FILES['file']) || $_FILES['file']['error'] != 0) { $error = "File upload error"; } else { $file = $_FILES['file']['tmp_name']; if (($handle = fopen($file, "r")) !== FALSE) { $row = 0; while (($data = fgetcsv($handle, 3000, ",")) !== FALSE) { $row++; if ($row == 1) continue; // skip header // 🔥 EXACT EXCEL MAPPING $Empcode = trim($data[0] ?? ''); // A $EnrollNo = trim($data[1] ?? ''); // B $Name = trim($data[2] ?? ''); // C $DeptID = trim($data[9] ?? ''); // J $WO1 = trim($data[15] ?? ''); // P if (!$Empcode) continue; // check exists $stmt = $pdo->prepare(" SELECT id FROM emp_master WHERE company_id = :cid AND Empcode = :emp "); $stmt->execute([ ':cid' => $company_id, ':emp' => $Empcode ]); if ($stmt->fetch()) { // UPDATE $upd = $pdo->prepare(" UPDATE emp_master SET EnrollNo = :enroll, Name = :name, DeptID = :dept, WO1 = :wo1 WHERE company_id = :cid AND Empcode = :emp "); $upd->execute([ ':enroll' => $EnrollNo, ':name' => $Name, ':dept' => $DeptID, ':wo1' => $WO1, ':cid' => $company_id, ':emp' => $Empcode ]); } else { // INSERT $ins = $pdo->prepare(" INSERT INTO emp_master (company_id, Empcode, EnrollNo, Name, DeptID, WO1, Status) VALUES (:cid, :emp, :enroll, :name, :dept, :wo1, 'Active') "); $ins->execute([ ':cid' => $company_id, ':emp' => $Empcode, ':enroll' => $EnrollNo, ':name' => $Name, ':dept' => $DeptID, ':wo1' => $WO1 ]); } } fclose($handle); $msg = "Import completed successfully ✔"; } else { $error = "File read error"; } } } ?> <div class="container mt-4"> <div class="card p-4 shadow-sm"> <h5 class="mb-3">Employee Import</h5> <?php if ($msg): ?> <div class="alert alert-success"><?= htmlspecialchars($msg) ?></div> <?php endif; ?> <?php if ($error): ?> <div class="alert alert-danger"><?= htmlspecialchars($error) ?></div> <?php endif; ?> <a href="employee_export.php" class="btn btn-success mb-3"> Export Excel </a> <form method="POST" enctype="multipart/form-data"> <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>"> <div class="mb-3"> <input type="file" name="file" class="form-control" required> </div> <button class="btn btn-primary w-100"> Import From Excel </button> </form> <hr> <p><strong>Excel Format (DO NOT CHANGE ORDER):</strong></p> <pre> A Empcode B EnrollNo C Name J DeptID P WO1 </pre> </div> </div> <?php require_once __DIR__ . '/partials/footer.php'; ?>