403Webshell
Server IP : 172.67.187.206  /  Your IP : 172.71.28.155
Web Server : Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
System : Windows NT WIN-ECQAAA40806 6.2 build 9200 (Windows Server 2012 Standard Edition) i586
User : SYSTEM ( 0)
PHP Version : 5.6.30
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Inetpub/www/training/user/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Inetpub/www/training/user/dashboard.php
<?php
include("../session.php");

if ($role != 'user') {
    header("Location: ../index.php");
    exit;
}

include("../db.php");

// ดึงข้อมูลวิชาทั้งหมด
$sql = "SELECT s.*, g.group_name 
        FROM subjects s
        LEFT JOIN groups g ON s.group_id = g.user_id
        ORDER BY s.curriculum_year DESC";
$result = $conn->query($sql);
$subjects = [];
while ($row = $result->fetch_assoc()) {
    // ดึงลิงค์เนื้อหาของแต่ละวิชา
    $subject_id = $row['id'];
    $links_query = $conn->query("SELECT * FROM subject_content_links WHERE subject_id = $subject_id");
    $row['content_links'] = [];
    while ($link = $links_query->fetch_assoc()) {
        $row['content_links'][] = $link;
    }
    $subjects[] = $row;
}

// ดึงข้อมูลผลการสอบของผู้ใช้
$user_id = $_SESSION['user_id'];
$exam_results = [];
$result = mysqli_query($conn, "SELECT * FROM exam_results WHERE user_id = $user_id");
while ($row = mysqli_fetch_assoc($result)) {
    $exam_results[$row['subject_id']] = $row;
}

// คำนวณสถิติการสอบ
$total_subjects = count($subjects);
$completed_exams = count($exam_results);
$passed_exams = 0;
$failed_exams = 0;

foreach ($exam_results as $exam) {
    if ($exam['passed']) {
        $passed_exams++;
    } else {
        $failed_exams++;
    }
}

$pending_exams = $total_subjects - $completed_exams;
$completion_percentage = $total_subjects > 0 ? round(($completed_exams / $total_subjects) * 100) : 0;

// ตรวจสอบเงื่อนไขสำหรับเกียรติบัตรพิเศษ
$passed_2568_count = 0; // จำนวนวิชาที่ผ่านในปี 2568
$passed_2565_2567_count = 0; // จำนวนวิชาที่ผ่านในปี 2565-2567

// ดึงรายการวิชาในปี 2568 และ 2565-2567
$subjects_2568 = array_filter($subjects, function($subject) {
    return $subject['curriculum_year'] === '2568';
});
$subjects_2565_2567 = array_filter($subjects, function($subject) {
    return $subject['curriculum_year'] === '2565-2567';
});

$total_subjects_2568 = count($subjects_2568);

foreach ($exam_results as $exam) {
    if ($exam['passed']) {
        foreach ($subjects as $subject) {
            if ($subject['id'] == $exam['subject_id']) {
                if ($subject['curriculum_year'] === '2568') {
                    $passed_2568_count++;
                } elseif ($subject['curriculum_year'] === '2565-2567') {
                    $passed_2565_2567_count++;
                }
                break;
            }
        }
    }
}

// ตรวจสอบสิทธิ์รับเกียรติบัตรพิเศษ
$show_special_certificate1_menu = ($passed_2568_count >= $total_subjects_2568 && $total_subjects_2568 > 0); // ผ่านทุกวิชาในปี 2568
$show_special_certificate2_menu = ($show_special_certificate1_menu && $passed_2565_2567_count >= 10); // ผ่านทุกวิชา 2568 และอย่างน้อย 10 วิชาใน 2565-2567

?>

<!DOCTYPE html>
<html lang="th">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>หน้าหลัก - ผู้ใช้</title>
    <!-- Bootstrap 5 CSS -->
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
    <!-- Font Awesome Icons -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <style>
        :root {
            --primary-color: #4e73df;
            --secondary-color: #858796;
            --success-color: #1cc88a;
            --danger-color: #e74a3b;
            --warning-color: #f6c23e;
            --light-bg: #f8f9fc;
        }
        
        body {
            background-color: var(--light-bg);
            font-family: 'Prompt', sans-serif;
            padding-top: 56px;
        }
        
        .main-navbar {
            background: linear-gradient(90deg, var(--primary-color) 0%, #224abe 100%);
            padding: 0.5rem 1rem;
        }
        
        .main-navbar .navbar-brand {
            color: white;
            font-weight: 600;
        }
        
        .main-navbar .nav-link {
            color: rgba(255, 255, 255, 0.8);
            padding: 0.75rem 1rem;
            border-radius: 0.375rem;
            transition: all 0.3s;
            margin: 0 0.25rem;
        }
        
        .main-navbar .nav-link:hover,
        .main-navbar .nav-link.active {
            color: white;
            background-color: rgba(255, 255, 255, 0.1);
        }
        
        .main-navbar .nav-link i {
            margin-right: 0.5rem;
        }
        
        .topbar {
            background-color: white;
            box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15);
        }
        
        .card {
            border: none;
            border-radius: 0.5rem;
            box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.1);
            margin-bottom: 1.5rem;
        }
        
        .card-header {
            background-color: #f8f9fc;
            border-bottom: 1px solid #e3e6f0;
            padding: 1rem 1.25rem;
        }
        
        .stat-card {
            border-left: 0.25rem solid;
            transition: transform 0.3s;
        }
        
        .stat-card:hover {
            transform: translateY(-5px);
        }
        
        .stat-card.completed {
            border-left-color: var(--primary-color);
        }
        
        .stat-card.passed {
            border-left-color: var(--success-color);
        }
        
        .stat-card.failed {
            border-left-color: var(--danger-color);
        }
        
        .stat-card.pending {
            border-left-color: var(--warning-color);
        }
        
        .stat-icon {
            font-size: 2rem;
            opacity: 0.3;
        }
        
        .table {
            border-radius: 0.5rem;
            overflow: hidden;
        }
        
        .badge {
            font-weight: 500;
            padding: 0.5rem 0.75rem;
        }
        
        .btn-primary {
            background-color: var(--primary-color);
            border-color: var(--primary-color);
        }
        
        .btn-success {
            background-color: var(--success-color);
            border-color: var(--success-color);
        }
        
        .user-greeting {
            background: linear-gradient(to right, var(--primary-color), #224abe);
            color: white;
            border-radius: 0.5rem;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }
        
        .progress {
            height: 0.5rem;
        }
        
        .user-dropdown .dropdown-toggle::after {
            display: none;
        }
        
        .user-dropdown .dropdown-toggle {
            display: flex;
            align-items: center;
            color: rgba(255, 255, 255, 0.8);
            text-decoration: none;
        }
        
        .user-dropdown .dropdown-toggle:hover {
            color: white;
        }
        
        .user-dropdown .dropdown-menu {
            margin-top: 0.5rem;
            border: none;
            box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
        }
        
        .content-links-list {
            margin-top: 0.5rem;
        }
        
        .content-links-list li {
            margin-bottom: 0.25rem;
        }
        
        @media (max-width: 992px) {
            .navbar-collapse {
                background-color: var(--primary-color);
                padding: 1rem;
                border-radius: 0.5rem;
                margin-top: 0.5rem;
            }
        }
    </style>
    <!-- Font from Google Fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&display=swap" rel="stylesheet">
</head>
<body>
    <!-- Main Navbar -->
    <nav class="navbar navbar-expand-lg fixed-top main-navbar">
        <div class="container-fluid">
            <a class="navbar-brand" href="#">
                <i class="fas fa-laptop-code me-2"></i>
                ระบบข้อสอบออนไลน์
            </a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" 
                    aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarNav">
                <ul class="navbar-nav me-auto">
                    <li class="nav-item">
                        <a class="nav-link active" href="#">
                            <i class="fas fa-tachometer-alt"></i>
                            ภาพรวม
                        </a>
                    </li>
                    <?php if ($show_special_certificate1_menu): ?>
                    <li class="nav-item">
                        <a class="nav-link" href="special_certificate.php?type=1">
                            <i class="fas fa-award"></i>
                            ดาวน์โหลดเกียรติบัตรทอง
                        </a>
                    </li>
                    <?php endif; ?>
                    <?php if ($show_special_certificate2_menu): ?>
                    <li class="nav-item">
                        <a class="nav-link" href="special_certificate.php?type=2">
                            <i class="fas fa-award"></i>
                            ดาวน์โหลดเกียรติบัตรเพชร
                        </a>
                    </li>
                    <?php endif; ?>
                </ul>
                <div class="user-dropdown dropdown">
                    <a href="#" class="dropdown-toggle" id="userDropdown" data-bs-toggle="dropdown" aria-expanded="false">
                        <div>
                            <div class="fw-bold text-white"><?php echo htmlspecialchars($u_name); ?></div>
                            <div class="small" style="color: rgba(255, 255, 255, 0.7);">ผู้เข้าอบรม</div>
                        </div>
                        <i class="fas fa-chevron-down ms-2"></i>
                    </a>
                    <ul class="dropdown-menu dropdown-menu-end shadow">
                        <li><a class="dropdown-item" href="../logout.php"><i class="fas fa-sign-out-alt me-2"></i> ออกจากระบบ</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </nav>
    
    <!-- Main Content -->
    <div class="container-fluid px-4 mt-4">
        <!-- Welcome Banner -->
        <div class="user-greeting d-flex justify-content-between align-items-center mb-4">
            <div>
                <h2>ยินดีต้อนรับ <?php echo htmlspecialchars($u_name); ?></h2>
                <p class="mb-0">ดำเนินการสอบและรับเกียรติบัตรเมื่อสอบผ่าน</p>
            </div>
            <div class="text-center">
                <div class="display-5 fw-bold"><?php echo $completion_percentage; ?>%</div>
                <div>ความคืบหน้า</div>
            </div>
        </div>
        
        <!-- Stats Cards -->
        <div class="row mb-4">
            <div class="col-xl-3 col-md-6">
                <div class="card stat-card completed h-100">
                    <div class="card-body">
                        <div class="row align-items-center">
                            <div class="col">
                                <div class="text-xs fw-bold text-primary text-uppercase mb-1">สอบไปแล้ว</div>
                                <div class="h5 mb-0 fw-bold"><?php echo $completed_exams; ?> วิชา</div>
                                <div class="small text-secondary">จากทั้งหมด <?php echo $total_subjects; ?> วิชา</div>
                            </div>
                            <div class="col-auto">
                                <i class="fas fa-clipboard-list stat-icon text-primary"></i>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <div class="col-xl-3 col-md-6">
                <div class="card stat-card passed h-100">
                    <div class="card-body">
                        <div class="row align-items-center">
                            <div class="col">
                                <div class="text-xs fw-bold text-success text-uppercase mb-1">สอบผ่าน</div>
                                <div class="h5 mb-0 fw-bold"><?php echo $passed_exams; ?> วิชา</div>
                                <div class="small text-secondary">ได้รับเกียรติบัตรแล้ว</div>
                            </div>
                            <div class="col-auto">
                                <i class="fas fa-check-circle stat-icon text-success"></i>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <div class="col-xl-3 col-md-6">
                <div class="card stat-card failed h-100">
                    <div class="card-body">
                        <div class="row align-items-center">
                            <div class="col">
                                <div class="text-xs fw-bold text-danger text-uppercase mb-1">สอบไม่ผ่าน</div>
                                <div class="h5 mb-0 fw-bold"><?php echo $failed_exams; ?> วิชา</div>
                                <div class="small text-secondary">สามารถสอบใหม่ได้</div>
                            </div>
                            <div class="col-auto">
                                <i class="fas fa-times-circle stat-icon text-danger"></i>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <div class="col-xl-3 col-md-6">
                <div class="card stat-card pending h-100">
                    <div class="card-body">
                        <div class="row align-items-center">
                            <div class="col">
                                <div class="text-xs fw-bold text-warning text-uppercase mb-1">รอดำเนินการ</div>
                                <div class="h5 mb-0 fw-bold"><?php echo $pending_exams; ?> วิชา</div>
                                <div class="small text-secondary">ยังไม่ได้ทำการสอบ</div>
                            </div>
                            <div class="col-auto">
                                <i class="fas fa-hourglass-half stat-icon text-warning"></i>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        
        <!-- Progress Bar -->
        <div class="card mb-4">
            <div class="card-header d-flex justify-content-between align-items-center">
                <h6 class="m-0 fw-bold">ความคืบหน้าการสอบ</h6>
            </div>
            <div class="card-body">
                <div class="progress mb-2">
                    <div class="progress-bar bg-success" role="progressbar" style="width: <?php echo $passed_exams / $total_subjects * 100; ?>%" aria-valuenow="<?php echo $passed_exams; ?>" aria-valuemin="0" aria-valuemax="<?php echo $total_subjects; ?>"></div>
                    <div class="progress-bar bg-danger" role="progressbar" style="width: <?php echo $failed_exams / $total_subjects * 100; ?>%" aria-valuenow="<?php echo $failed_exams; ?>" aria-valuemin="0" aria-valuemax="<?php echo $total_subjects; ?>"></div>
                </div>
                <div class="d-flex justify-content-between small">
                    <div><span class="fw-bold text-success"><?php echo $passed_exams; ?></span> สอบผ่าน</div>
                    <div><span class="fw-bold text-danger"><?php echo $failed_exams; ?></span> สอบไม่ผ่าน</div>
                    <div><span class="fw-bold text-warning"><?php echo $pending_exams; ?></span> รอดำเนินการ</div>
                </div>
            </div>
        </div>
        
        <!-- Subjects Table -->
        <div class="card mb-4">
            <div class="card-header d-flex justify-content-between align-items-center">
                <h6 class="m-0 fw-bold">วิชาทั้งหมดในระบบ</h6>
                <div class="input-group input-group-sm" style="width: 250px;">
                    <input type="text" class="form-control" placeholder="ค้นหาวิชา..." id="subjectSearch">
                    <button class="btn btn-primary" type="button"><i class="fas fa-search"></i></button>
                </div>
            </div>
            <div class="card-body">
                <div class="table-responsive">
                    <table class="table table-hover align-middle" id="subjectsTable">
                        <thead class="table-light">
                            <tr>
                                <th width="5%" class="text-center">ที่</th>
                                <th width="25%">ชื่อวิชา</th>
                                <th width="10%" class="text-center">กลุ่ม</th>
                                <th width="10%" class="text-center">หลักสูตรปี</th>
                                <th width="15%" class="text-center">เกณฑ์ผ่าน</th>
                                <th width="10%" class="text-center">สถานะ</th>
                                <th width="10%" class="text-center">คะแนน</th>
                                <th width="15%" class="text-center">ดำเนินการ</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php $i = 1;
                            foreach ($subjects as $subject): ?>
                            <tr>
                                <td class="text-center"><?php echo $i++;; ?></td>
                                <td>
                                    <div class="fw-bold"><?php echo htmlspecialchars($subject['name']); ?></div>
                                    <?php if (!empty($subject['content_links'])): ?>
                                        <ul class="content-links-list small">
                                            <?php foreach ($subject['content_links'] as $link): ?>
                                                <li>
                                                    <a href="<?php echo htmlspecialchars($link['link_url']); ?>" target="_blank">
                                                        <?php echo htmlspecialchars($link['link_title']); ?>
                                                    </a>
                                                </li>
                                            <?php endforeach; ?>
                                        </ul>
                                    <?php endif; ?>
                                </td>
                                <td>
                                    <?php echo ($subject['group_name'] != null) ? htmlspecialchars($subject['group_name']) : 'ไม่ระบุกลุ่ม'; ?>
                                </td>
                                <td class="text-center"><?php echo $subject['curriculum_year']; ?></td>
                                <td class="text-center">
                                    <span><?php echo $subject['pass_percentage']; ?>%</span>
                                </td>
                                <td class="text-center">
                                    <?php if (isset($exam_results[$subject['id']])): ?>
                                        <?php if ($exam_results[$subject['id']]['passed']): ?>
                                            <span class="badge bg-success rounded-pill">สอบผ่านแล้ว</span>
                                        <?php else: ?>
                                            <span class="badge bg-danger rounded-pill">สอบไม่ผ่าน</span>
                                        <?php endif; ?>
                                    <?php else: ?>
                                        <span class="badge bg-secondary rounded-pill">ยังไม่ได้สอบ</span>
                                    <?php endif; ?>
                                </td>
                                <td class="text-center">
                                    <?php if (isset($exam_results[$subject['id']])): ?>
                                        <div class="fw-bold">
                                            <?php echo $exam_results[$subject['id']]['score']; ?> คะแนน
                                        </div>
                                        <div class="small text-secondary">
                                            (<?php echo $exam_results[$subject['id']]['percentage']; ?>%)
                                        </div>
                                    <?php else: ?>
                                        <span class="fst-italic text-secondary">ยังไม่มีคะแนน</span>
                                    <?php endif; ?>
                                </td>
                                <td class="text-center">
                                    <?php if (!isset($exam_results[$subject['id']]) || !$exam_results[$subject['id']]['passed']): ?>
                                        <a href="take_exam.php?exam=<?php echo base64_encode($subject['id']); ?>" class="btn btn-sm btn-primary">
                                            <i class="fas fa-edit me-1"></i> เริ่มทำข้อสอบ
                                        </a>
                                    <?php else: ?>
                                        <a href="certi.php?subject=<?php echo base64_encode($subject['id']); ?>" class="btn btn-sm btn-success" target="_blank">
                                            <i class="fas fa-award me-1"></i> ดาวน์โหลดเกียรติบัตร
                                        </a>
                                    <?php endif; ?>
                                </td>
                            </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                </div>
            </div>
            <div class="card-footer small text-muted">
                แสดงทั้งหมด <?php echo count($subjects); ?> วิชา | อัพเดทล่าสุด: <?php echo date("d/m/Y H:i"); ?>
            </div>
        </div>
    </div>

    <!-- Bootstrap Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
    <!-- Custom JavaScript -->
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // ฟังก์ชันค้นหาวิชา
        document.getElementById('subjectSearch').addEventListener('keyup', function() {
            let searchText = this.value.toLowerCase();
            let tableRows = document.querySelectorAll('#subjectsTable tbody tr');
            
            tableRows.forEach(function(row) {
                let subjectName = row.querySelectorAll('td')[1].textContent.toLowerCase();
                if (subjectName.includes(searchText)) {
                    row.style.display = '';
                } else {
                    row.style.display = 'none';
                }
            });
        });
    });
    </script>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit