« Back to History
enroll.php
|
20260723_000646.php
Initial Domain Snapshot
Copy Code
<?php // /erp/attendance/enroll.php // Face enrollment UI (Admin/HR only) /* ---------- Optional debug (uncomment for dev only) ---------- ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); --------------------------------------------------------------*/ /* ---------- Auth + DB (bootstrap) - match payment.php pattern ---------- */ require __DIR__ . '/../modules/auth/auth.php'; require_login(); $u = auth_user(); // expected to return array with id, company_id, role, name, etc. $COMPANY_ID = (int)($u['company_id'] ?? 0); $USER_ID = (int)($u['id'] ?? 0); // expose variables used elsewhere $current_user = $u; $company_id = $COMPANY_ID; // PDO / DB $pdo = $GLOBALS['pdo'] ?? null; if (!$pdo) { require __DIR__ . '/../core/db.php'; $pdo = $GLOBALS['pdo'] ?? null; } $db = $pdo; /* ---------- Role check: Owner/Admin/HR only ---------- */ if (!in_array($current_user['role'] ?? 'staff', ['owner','admin','hr'])) { require_once __DIR__ . '/../partials/header.php'; echo "<div class='container'><div class='notice notice-error'>Access denied. You do not have permission to access the Enrollment page.</div></div>"; require_once __DIR__ . '/../partials/footer.php'; exit; } /* ---------- Fetch employee list for select ---------- */ $stmt = $db->prepare("SELECT id, name, COALESCE(employee_code,'') AS employee_code FROM company_employee_master WHERE company_id = ? ORDER BY name"); $stmt->execute([$company_id]); $employees = $stmt->fetchAll(PDO::FETCH_ASSOC); /* ---------- Render page ---------- */ require_once __DIR__ . '/../partials/header.php'; ?> <div class="container fc-enroll-page"> <div class="card"> <div class="card-header"> <h3 class="card-title">Enroll Face (Admin)</h3> </div> <div class="card-body"> <form id="fc-enroll-form" onsubmit="return false;" class="form-grid"> <div class="form-row"> <label class="label">Employee</label> <select id="enroll_employee_id" class="input"> <option value="">-- Select employee --</option> <?php foreach ($employees as $e): ?> <option value="<?= (int)$e['id'] ?>"><?= htmlspecialchars($e['name'] . ' [' . ($e['employee_code'] ?: $e['id']) . ']') ?></option> <?php endforeach; ?> </select> </div> <div class="form-row"> <label class="label">Camera</label> <div class="fc-video-wrap"> <video id="fc-enroll-video" autoplay playsinline></video> </div> <div class="fc-camera-actions"> <button id="fc-enroll-capture" class="btn" type="button">Capture Sample</button> <button id="fc-enroll-stop" class="btn" type="button">Stop Camera</button> </div> </div> <div class="form-row"> <label class="label">Captured Samples</label> <div id="fc-samples" class="fc-samples-grid"></div> </div> <div class="form-row"> <button id="fc-send-enroll" class="btn" type="button">Enroll (Upload samples)</button> <div id="fc-enroll-result" class="notice"></div> </div> </form> </div> </div> </div> <script src="/erp/assets/js/attendance-enroll.js"></script> <?php require_once __DIR__ . '/../partials/footer.php'; ?>