Files
gravity/จัดการข้อมูล Line KSH-STAFF/liff/index.php
T
2026-09-16 23:20:08 +07:00

121 lines
4.9 KiB
PHP

<?php
session_start();
require_once '../includes/db.php';
if (!isset($_SESSION['cid'])) {
// If not logged in, go to register which handles LIFF auto-login
header("Location: register.php");
exit;
}
$cid = $_SESSION['cid'];
// Fetch Staff Data
$stmt = $pdo_bot->prepare("SELECT * FROM line_staff_register WHERE cid = ?");
$stmt->execute([$cid]);
$staff = $stmt->fetch();
if (!$staff) {
// If not found, redirect to register
header("Location: register.php");
exit;
}
// Check Assessment Requirement
$require_assessment = getSetting($pdo, 'require_assessment');
$assessment_status = $staff['assessment_status'];
$can_access_menus = true;
if ($require_assessment == '1' && $assessment_status == '0') {
$can_access_menus = false;
}
?>
<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>KSH-STAFF Menu</title>
<link href="https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="../assets/css/style.css">
<!-- SweetAlert2 -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- FontAwesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
</head>
<body>
<div class="header">
<div class="shiny-logo" style="width: 100px; height: 100px; border-radius: 50%; margin: 0 auto; display: flex; align-items: center; justify-content: center; background: #fff;">
<img src="../assets/images/logo.png" alt="Logo" style="width: 100%; height: 100%; object-fit: contain;">
</div>
<h1>KSH-STAFF</h1>
<p>ยินดีต้อนรับ, คุณ <?= htmlspecialchars($staff['fname'] . ' ' . $staff['lname']) ?></p>
</div>
<div class="card" style="margin: 20px;">
<?php if (!$can_access_menus): ?>
<div style="background: #fff3cd; color: #856404; padding: 15px; border-radius: 8px; margin-bottom: 20px; border: 1px solid #ffeeba;">
<i class="fas fa-exclamation-triangle"></i> <strong>แจ้งเตือน!</strong> คุณยังไม่ได้ทำแบบประเมินหน่วยงาน โปรดทำแบบประเมินเพื่อเข้าใช้งานเมนูต่างๆ
<br><br>
<button class="btn-magic" onclick="doAssessment()">ทำแบบประเมินตอนนี้</button>
</div>
<?php endif; ?>
<div class="menu-grid">
<a href="profile.php" class="menu-item" onclick="return checkAccess()">
<div class="menu-icon"><i class="fas fa-user"></i></div>
1. ข้อมูลส่วนตัว
</a>
<a href="leave.php" class="menu-item" onclick="return checkAccess()">
<div class="menu-icon"><i class="fas fa-calendar-alt"></i></div>
2. ข้อมูลวันลา
</a>
<a href="attendance.php" class="menu-item" onclick="return checkAccess()">
<div class="menu-icon"><i class="fas fa-clock"></i></div>
3. เวลาเข้า-ออก
</a>
<a href="salary.php" class="menu-item" onclick="return checkAccess()">
<div class="menu-icon"><i class="fas fa-file-invoice-dollar"></i></div>
4. ข้อมูลเงินเดือน
</a>
<a href="links.php" class="menu-item" onclick="return checkAccess()">
<div class="menu-icon"><i class="fas fa-link"></i></div>
5. ระบบอื่นๆ
</a>
</div>
</div>
<script>
const canAccess = <?= $can_access_menus ? 'true' : 'false' ?>;
function checkAccess() {
if (!canAccess) {
Swal.fire({
icon: 'warning',
title: 'ไม่สามารถเข้าใช้งานได้',
text: 'กรุณาทำแบบประเมินหน่วยงานก่อนเข้าใช้งานเมนูนี้',
confirmButtonText: 'รับทราบ',
confirmButtonColor: '#0072ff'
});
return false;
}
return true;
}
function doAssessment() {
Swal.fire({
title: 'จำลองการทำแบบประเมิน',
text: 'กำลังพาไปยังระบบประเมิน...',
icon: 'info'
}).then(() => {
// Mock redirect to assessment or API call
window.location.href = 'mock_assessment.php';
});
}
</script>
</body>
</html>