| 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 : |
<?php
// functions.php
include 'db.php';
// ตั้งค่า Session Security ป้องกันการชนกับระบบอื่น
session_name('PR_SYSTEM_SECURE');
session_start();
// กุญแจสำหรับการเข้ารหัส
define('ENC_KEY', 'MySecretKey123456');
// ฟังก์ชันเข้ารหัส/ถอดรหัส
function encrypt_pass($string) {
$output = false;
$encrypt_method = "AES-256-CBC";
$secret_key = ENC_KEY;
$secret_iv = 'SecretIV123';
$key = hash('sha256', $secret_key);
$iv = substr(hash('sha256', $secret_iv), 0, 16);
$output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv);
return base64_encode($output);
}
function decrypt_pass($string) {
$output = false;
$encrypt_method = "AES-256-CBC";
$secret_key = ENC_KEY;
$secret_iv = 'SecretIV123';
$key = hash('sha256', $secret_key);
$iv = substr(hash('sha256', $secret_iv), 0, 16);
$output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv);
return $output;
}
// วันที่ไทย
function thai_date($strDate) {
$strYear = date("Y",strtotime($strDate))+543;
$strMonth= date("n",strtotime($strDate));
$strDay= date("j",strtotime($strDate));
$strMonthCut = Array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");
$strMonthThai=$strMonthCut[$strMonth];
return "$strDay $strMonthThai $strYear";
}
// ตรวจสอบสิทธิ์ (ปรับปรุงให้รองรับหลาย Role ถ้าจำเป็น)
function check_login($role_required = '') {
if(!isset($_SESSION['user_id'])) {
header("Location: index.php");
exit();
}
// ถ้ามีการระบุ Role ที่ต้องการ และ Role ปัจจุบันไม่ตรงกัน
if($role_required != '' && $_SESSION['role'] != $role_required){
// อนุโลมให้ admin เข้าหน้าของ admin ได้ทั้งคู่ (ถ้าต้องการแยกขาด ให้ลบเงื่อนไขนี้)
echo "<script>alert('คุณไม่มีสิทธิ์เข้าถึงหน้านี้'); window.location='dashboard.php';</script>";
exit();
}
}
// Template ส่วนหัว
function get_header($title = "ระบบประชาสัมพันธ์") {
$role_menu = "";
if(isset($_SESSION['role'])){
if($_SESSION['role'] == 'admin'){
$role_menu = '
<li class="nav-item"><a class="nav-link" href="dashboard.php">รายการรออนุมัติ (TV)</a></li>
<li class="nav-item"><a class="nav-link" href="admin_schedule.php">ตารางงาน (TV)</a></li>
<li class="nav-item"><a class="nav-link" href="admin_history.php">ประวัติทั้งหมด (TV)</a></li>
<li class="nav-item"><a class="nav-link" href="admin_categories.php">จัดการประเภทข่าว</a></li>';
} else if($_SESSION['role'] == 'admin_meeting'){
$role_menu = '
<li class="nav-item"><a class="nav-link" href="dashboard.php">รายการรออนุมัติ (ห้องประชุม)</a></li>
<li class="nav-item"><a class="nav-link" href="admin_schedule.php">ตารางงาน (ห้องประชุม)</a></li>
<li class="nav-item"><a class="nav-link" href="admin_history.php">ประวัติทั้งหมด (ห้องประชุม)</a></li>';
} else {
$role_menu = '
<li class="nav-item"><a class="nav-link" href="dashboard.php">รายการที่ Active</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">แจ้งความต้องการ</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="user_add.php">ขึ้นจอโทรทัศน์</a></li>
<li><a class="dropdown-item" href="user_meeting_add.php">ขึ้นจอห้องประชุม</a></li>
</ul>
</li>
<li class="nav-item"><a class="nav-link" href="user_history.php">ประวัติของฉัน</a></li>';
}
}
return '<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>'.$title.'</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css">
<link href="https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;600&display=swap" rel="stylesheet">
<style>
body { font-family: "Sarabun", sans-serif; background-color: #f8f9fa; }
.card { border-radius: 10px; border: none; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.navbar { box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary mb-4">
<div class="container">
<a class="navbar-brand fw-bold" href="dashboard.php">PR System</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav me-auto">
'.$role_menu.'
</ul>
'.(isset($_SESSION['user_id']) ? '<div class="d-flex text-white align-items-center">ผู้ใช้งาน: '.$_SESSION['group_name'].' <a href="logout.php" class="btn btn-sm btn-light text-primary">ออกจากระบบ</a></div>' : '').'
</div>
</div>
</nav>
<div class="container">';
}
function get_footer() {
return '</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>';
}
?>