403Webshell
Server IP : 172.67.187.206  /  Your IP : 162.159.115.41
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 :  E:/Inetpub/www/pr/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : E:/Inetpub/www/pr//dashboard.php
<?php
include 'functions.php';
check_login();

// ==========================================
// Modal สำหรับแสดงรูปภาพขนาดใหญ่
// ==========================================
if($_SESSION['role'] == 'admin' || $_SESSION['role'] == 'admin_meeting') {
?>
    <div class="modal fade" id="imageViewerModal" tabindex="-1" aria-hidden="true">
        <div class="modal-dialog modal-xl modal-dialog-centered">
            <div class="modal-content bg-transparent border-0">
                <div class="modal-header border-0 p-2 justify-content-end">
                    <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" style="filter: invert(1); background-color: rgba(255,255,255,0.8); border-radius: 50%; padding: 10px;"></button>
                </div>
                <div class="modal-body text-center p-0">
                    <img id="fullSizeImage" src="" class="img-fluid rounded shadow-lg" style="max-height: 85vh; object-fit: contain;">
                </div>
            </div>
        </div>
    </div>
    <script>
    function viewFullImage(imgSrc) {
        document.getElementById('fullSizeImage').src = imgSrc;
        var imageModal = new bootstrap.Modal(document.getElementById('imageViewerModal'));
        imageModal.show();
    }
    </script>
<?php
}

// ==========================================
// ส่วนที่ 1: ADMIN (ดูแลจอโทรทัศน์)
// ==========================================
if($_SESSION['role'] == 'admin') {
    echo get_header("รายการรออนุมัติ - จอโทรทัศน์");
    
    if(isset($_GET['mark_done'])) {
        $req_id = intval($_GET['mark_done']);
        mysqli_query($conn, "UPDATE requests SET status = 'done' WHERE req_id = $req_id");
        echo "<script>alert('อัปเดตสถานะจอโทรทัศน์เรียบร้อย'); window.location='dashboard.php';</script>";
    }

    // แก้ไข JOIN เพื่อดึง cat_name (ชื่อประเภทข่าว) ออกมา
    $sql_tv = "SELECT r.*, u.group_name, c.cat_name 
               FROM requests r 
               JOIN users u ON r.user_id = u.user_id 
               LEFT JOIN news_categories c ON r.cat_id = c.cat_id 
               WHERE r.status = 'pending' ORDER BY r.start_date ASC";
    $res_tv = mysqli_query($conn, $sql_tv);
    ?>

    <div class="d-flex justify-content-between align-items-center mb-4 border-bottom border-primary pb-2 border-3">
        <h3 class="text-primary mb-0"><i class="bi bi-tv"></i> รายการรออนุมัติ (จอโทรทัศน์)</h3>
        <span class="badge bg-danger rounded-pill fs-6">รออยู่ <?php echo mysqli_num_rows($res_tv); ?> งาน</span>
    </div>
    
    <div class="row">
        <?php if(mysqli_num_rows($res_tv) > 0) {
            while($row = mysqli_fetch_assoc($res_tv)) { 
                $badge = ($row['req_type'] == 'ready') ? '<span class="badge bg-success">มีรูปมาแล้ว</span>' : '<span class="badge bg-warning text-dark">ให้จัดทำรูป</span>';
                $cat_label = $row['cat_name'] ? $row['cat_name'] : 'ไม่ระบุประเภท'; // ชื่อหมวดหมู่
        ?>
        <div class="col-md-6 col-lg-4 mb-4">
            <div class="card h-100 shadow-sm border-primary" style="border-width: 0 0 0 5px;">
                <div class="card-body d-flex flex-column">
                    <div class="d-flex justify-content-between align-items-start mb-2">
                        <h5 class="card-title fw-bold text-dark mb-0">
                            <?php echo $row['title']; ?>
                            <div class="mt-1"><span class="badge bg-info text-dark" style="font-size: 0.75rem;"><i class="bi bi-tag-fill"></i> <?php echo $cat_label; ?></span></div>
                        </h5>
                        <div><?php echo $badge; ?></div>
                    </div>
                    <h6 class="small text-secondary mb-2">
                        <i class="bi bi-person"></i> <?php echo $row['group_name']; ?> <br>
                        <i class="bi bi-calendar"></i> <?php echo thai_date($row['start_date']); ?> - <?php echo thai_date($row['end_date']); ?>
                    </h6>
                    
                    <?php if(!empty($row['details'])) { ?>
                    <div class="bg-light p-2 rounded small mb-2 text-muted">
                        <?php echo nl2br($row['details']); ?>
                    </div>
                    <?php } ?>

                    <div class="mb-3 mt-auto">
                        <strong class="small d-block mb-2 text-primary border-bottom pb-1"><i class="bi bi-images"></i> รูปภาพที่แนบมา:</strong>
                        <div class="d-flex flex-wrap gap-2">
                            <?php 
                            $res_img = mysqli_query($conn, "SELECT filename FROM request_images WHERE req_id = ".$row['req_id']);
                            if(mysqli_num_rows($res_img) > 0){
                                while($img = mysqli_fetch_assoc($res_img)){
                                    echo "<img src='uploads/{$img['filename']}' onclick=\"viewFullImage('uploads/{$img['filename']}')\" class='img-thumbnail shadow-sm' style='height:80px; width:80px; object-fit:cover; cursor:pointer;'>";
                                }
                            } else { echo "<span class='text-muted small'>ไม่มีรูปภาพ</span>"; }
                            ?>
                        </div>
                    </div>

                    <a href="?mark_done=<?php echo $row['req_id']; ?>" class="btn btn-primary w-100 mt-2" onclick="return confirm('ยืนยันจบงานจอโทรทัศน์?');"><i class="bi bi-check-circle"></i> ยืนยันว่าดำเนินการเสร็จแล้ว</a>
                </div>
            </div>
        </div>
        <?php }} else { echo "<div class='col-12'><div class='alert alert-light border text-center text-muted py-5'><i class='bi bi-check2-circle fs-1 d-block text-success'></i>ไม่มีงานค้าง</div></div>"; } ?>
    </div>

<?php 
// ==========================================
// ส่วนที่ 2: ADMIN MEETING (ดูแลจอห้องประชุม)
// ==========================================
} else if($_SESSION['role'] == 'admin_meeting') {
    echo get_header("รายการรออนุมัติ - จอห้องประชุมของวันนี้");
    
    if(isset($_GET['mark_mtg_done'])) {
        $mreq_id = intval($_GET['mark_mtg_done']);
        mysqli_query($conn, "UPDATE meeting_requests SET status = 'done' WHERE mreq_id = $mreq_id");
        echo "<script>alert('อัปเดตสถานะจอห้องประชุมเรียบร้อย'); window.location='dashboard.php';</script>";
    }

    $today = date('Y-m-d'); // ดึงวันที่ปัจจุบัน
    // ดึงเฉพาะงานที่มีสถานะ pending และเวลาคาบเกี่ยวกับช่วงวันปัจจุบัน
    $res_mtg = mysqli_query($conn, "SELECT m.*, u.group_name FROM meeting_requests m JOIN users u ON m.user_id = u.user_id WHERE m.status = 'pending' AND '$today' BETWEEN m.start_date AND m.end_date ORDER BY m.start_date ASC");
    ?>
    <div class="d-flex justify-content-between align-items-center mb-4 border-bottom border-success pb-2 border-3">
        <h3 class="text-success mb-0"><i class="bi bi-projector"></i> รายการรออนุมัติ (จอห้องประชุมของวันนี้)</h3>
        <span class="badge bg-danger rounded-pill fs-6">รออยู่ <?php echo mysqli_num_rows($res_mtg); ?> งาน</span>
    </div>
    
    <div class="row">
        <?php if(mysqli_num_rows($res_mtg) > 0) {
            while($row_m = mysqli_fetch_assoc($res_mtg)) { 
        ?>
        <div class="col-md-6 col-lg-4 mb-4">
            <div class="card h-100 shadow-sm border-success" style="border-width: 0 0 0 5px;">
                <div class="card-body d-flex flex-column">
                    <div class="d-flex justify-content-between mb-2">
                        <h5 class="card-title fw-bold text-dark mb-0"><?php echo $row_m['topic']; ?></h5>
                        <div><span class="badge bg-success"><?php echo $row_m['room']; ?></span></div>
                    </div>
                    <h6 class="small text-secondary mb-2"><i class="bi bi-person"></i> <?php echo $row_m['group_name']; ?> <br><i class="bi bi-calendar"></i> <?php echo ($row_m['date_type']=='single') ? thai_date($row_m['start_date']) : thai_date($row_m['start_date'])." - ".thai_date($row_m['end_date']); ?></h6>
                    
                    <div class="mb-3 mt-auto">
                        <strong class="small d-block mb-2 text-success border-bottom pb-1"><i class="bi bi-paperclip"></i> ไฟล์/รูปภาพที่แนบมา:</strong>
                        <div class="d-flex flex-wrap gap-2">
                            <?php 
                            $res_f = mysqli_query($conn, "SELECT * FROM meeting_files WHERE mreq_id = ".$row_m['mreq_id']);
                            if(mysqli_num_rows($res_f) > 0){
                                while($file = mysqli_fetch_assoc($res_f)){
                                    $file_url = "uploads/".$file['filename'];
                                    $ext = strtolower(pathinfo($file['filename'], PATHINFO_EXTENSION));
                                    if(in_array($ext, ['jpg','jpeg','png','gif','webp'])){
                                        echo "<img src='$file_url' onclick=\"viewFullImage('$file_url')\" class='img-thumbnail shadow-sm border-success' style='height:80px; width:80px; object-fit:cover; cursor:pointer;'>";
                                    } else {
                                        echo "<a href='$file_url' target='_blank' class='btn btn-outline-secondary p-1 d-flex flex-column align-items-center justify-content-center shadow-sm' style='height:80px; width:80px;' title='".$file['original_name']."'><i class='bi bi-file-earmark-text fs-4'></i><span class='small text-truncate w-100 mt-1' style='font-size:10px;'>".$ext."</span></a>";
                                    }
                                }
                            } else { echo "<span class='text-muted small'>ไม่มีไฟล์แนบ</span>"; }
                            ?>
                        </div>
                    </div>
                    <a href="?mark_mtg_done=<?php echo $row_m['mreq_id']; ?>" class="btn btn-success w-100 mt-2" onclick="return confirm('ยืนยันตั้งค่าจอห้องประชุมเสร็จสิ้น?');"><i class="bi bi-check-circle"></i> ยืนยันว่าดำเนินการเสร็จแล้ว</a>
                </div>
            </div>
        </div>
        <?php }} else { echo "<div class='alert alert-light border text-center text-muted py-5'><i class='bi bi-check2-circle fs-1 d-block text-success'></i>ไม่มีงานของวันนี้ค้าง</div>"; } ?>
    </div>

<?php 
// ==========================================
// ส่วนที่ 3: USER (กลุ่มงานทั่วไป)
// ==========================================
} else {
    echo get_header("Dashboard - รายการที่ Active");
    
    $user_id = $_SESSION['user_id'];
    $today = date('Y-m-d');
    
    $page_tv = isset($_GET['page_tv']) ? intval($_GET['page_tv']) : 1;
    $limit = 10;
    $offset_tv = ($page_tv - 1) * $limit;
    
    // อัปเดตการดึงข้อมูลเพื่อโชว์ชื่อประเภทข่าว (cat_name) ของ TV
    $res_tv = mysqli_query($conn, "SELECT r.*, c.cat_name FROM requests r LEFT JOIN news_categories c ON r.cat_id = c.cat_id WHERE r.user_id = $user_id AND '$today' BETWEEN r.start_date AND r.end_date ORDER BY r.start_date ASC LIMIT $offset_tv, $limit");
    
    $page_mtg = isset($_GET['page_mtg']) ? intval($_GET['page_mtg']) : 1;
    $offset_mtg = ($page_mtg - 1) * $limit;
    $res_mtg = mysqli_query($conn, "SELECT * FROM meeting_requests WHERE user_id = $user_id AND '$today' BETWEEN start_date AND end_date ORDER BY start_date ASC LIMIT $offset_mtg, $limit");
    ?>
    
    <div class="d-flex justify-content-between align-items-center mb-4">
        <div>
            <h3 class="fw-bold text-dark"><i class="bi bi-broadcast"></i> รายการที่กำลังแสดงผล (Active วันนี้)</h3>
            <p class="text-muted small mb-0">รายการที่อยู่ในช่วงเวลาประชาสัมพันธ์ของวันนี้</p>
        </div>
        
        <div class="btn-group shadow-sm">
            <button type="button" class="btn btn-primary dropdown-toggle px-4" data-bs-toggle="dropdown"><i class="bi bi-plus-lg"></i> เพิ่มความต้องการ</button>
            <ul class="dropdown-menu shadow">
                <li><a class="dropdown-item py-2" href="user_add.php"><i class="bi bi-tv text-primary me-2"></i> ขึ้นจอโทรทัศน์</a></li>
                <li><a class="dropdown-item py-2" href="user_meeting_add.php"><i class="bi bi-projector text-success me-2"></i> ขึ้นจอห้องประชุม</a></li>
            </ul>
            <a href="user_history.php" class="btn btn-light border d-flex align-items-center px-3">ประวัติทั้งหมด</a>
        </div>
    </div>

    <div class="card shadow-sm border-0 border-top border-primary border-3 mb-4">
        <div class="card-header bg-white py-3"><h5 class="mb-0 text-primary"><i class="bi bi-tv"></i> จอโทรทัศน์</h5></div>
        <div class="card-body p-0">
            <div class="table-responsive">
                <table class="table table-hover align-middle mb-0">
                    <thead class="table-light">
                        <tr><th class="ps-4" style="width: 40%;">หัวข้อประชาสัมพันธ์</th><th style="width: 15%;">ประเภท</th><th style="width: 25%;">ช่วงเวลาแสดงผล</th><th style="width: 20%;">สถานะระบบ</th></tr>
                    </thead>
                    <tbody>
                        <?php if(mysqli_num_rows($res_tv) > 0) {
                            while($row = mysqli_fetch_assoc($res_tv)) { 
                                $cat_label = $row['cat_name'] ? $row['cat_name'] : 'ไม่ระบุประเภท';
                        ?>
                        <tr>
                            <td class="ps-4 text-dark">
                                <strong class="d-block"><?php echo $row['title']; ?></strong>
                                <span class="badge bg-info text-dark mt-1" style="font-size: 0.7rem;"><i class="bi bi-tag-fill"></i> <?php echo $cat_label; ?></span>
                            </td>
                            <td><?php echo ($row['req_type'] == 'ready') ? '<span class="badge bg-success bg-opacity-10 text-success border border-success">ทำรูปแล้ว</span>' : '<span class="badge bg-warning bg-opacity-10 text-warning border border-warning">ให้จัดทำ</span>'; ?></td>
                            <td class="small text-muted"><i class="bi bi-calendar-event"></i> <?php echo thai_date($row['start_date']) . " - " . thai_date($row['end_date']); ?></td>
                            <td>
                                <span class="text-success fw-bold small"><span class="spinner-grow spinner-grow-sm text-success align-middle me-1"></span> กำลังแสดงผล</span><br>
                                <span style="font-size: 0.75rem;" class="text-muted">Admin: <?php echo ($row['status'] == 'done') ? '<span class="text-primary">ดำเนินการแล้ว</span>' : 'รอดำเนินการ'; ?></span>
                            </td>
                        </tr>
                        <?php }} else { echo "<tr><td colspan='4' class='text-center py-4 text-muted'>ไม่มีรายการ Active</td></tr>"; } ?>
                    </tbody>
                </table>
            </div>
        </div>
    </div>

    <div class="card shadow-sm border-0 border-top border-success border-3 mb-4">
        <div class="card-header bg-white py-3"><h5 class="mb-0 text-success"><i class="bi bi-projector"></i> จอห้องประชุม</h5></div>
        <div class="card-body p-0">
            <div class="table-responsive">
                <table class="table table-hover align-middle mb-0">
                    <thead class="table-light">
                        <tr><th class="ps-4" style="width: 40%;">หัวข้อการประชุม</th><th style="width: 15%;">ห้องประชุม</th><th style="width: 25%;">ช่วงเวลาแสดงผล</th><th style="width: 20%;">สถานะระบบ</th></tr>
                    </thead>
                    <tbody>
                        <?php if(mysqli_num_rows($res_mtg) > 0) {
                            while($row_m = mysqli_fetch_assoc($res_mtg)) { 
                        ?>
                        <tr>
                            <td class="ps-4 fw-bold text-dark"><?php echo $row_m['topic']; ?></td>
                            <td><span class="badge bg-light text-dark border border-secondary"><?php echo $row_m['room']; ?></span></td>
                            <td class="small text-muted"><i class="bi bi-calendar-event"></i> <?php echo ($row_m['date_type']=='single') ? thai_date($row_m['start_date']) : thai_date($row_m['start_date']) . " - " . thai_date($row_m['end_date']); ?></td>
                            <td><span class="text-success fw-bold small"><span class="spinner-grow spinner-grow-sm text-success align-middle me-1"></span> กำลังแสดงผล</span><br><span style="font-size: 0.75rem;" class="text-muted">Admin: <?php echo ($row_m['status'] == 'done') ? '<span class="text-primary">ดำเนินการแล้ว</span>' : 'รอดำเนินการ'; ?></span></td>
                        </tr>
                        <?php }} else { echo "<tr><td colspan='4' class='text-center py-4 text-muted'>ไม่มีรายการ Active</td></tr>"; } ?>
                    </tbody>
                </table>
            </div>
        </div>
    </div>

<?php } // End User Section

echo get_footer();
?>

Youez - 2016 - github.com/yon3zu
LinuXploit