49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php
|
|
/**
|
|
* Authentication Helper
|
|
* TPU Survey System
|
|
*/
|
|
|
|
session_start();
|
|
|
|
function isLoggedIn() {
|
|
return isset($_SESSION['user_id']);
|
|
}
|
|
|
|
function isAdmin() {
|
|
return isset($_SESSION['role']) && $_SESSION['role'] === 'admin';
|
|
}
|
|
|
|
function isTeacher() {
|
|
return isset($_SESSION['role']) && $_SESSION['role'] === 'teacher';
|
|
}
|
|
|
|
function requireLogin() {
|
|
if (!isLoggedIn()) {
|
|
http_response_code(401);
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
echo json_encode(['error' => 'กรุณาเข้าสู่ระบบ']);
|
|
exit;
|
|
}
|
|
}
|
|
|
|
function requireAdmin() {
|
|
requireLogin();
|
|
if (!isAdmin()) {
|
|
http_response_code(403);
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
echo json_encode(['error' => 'ไม่มีสิทธิ์เข้าถึง']);
|
|
exit;
|
|
}
|
|
}
|
|
|
|
function getCurrentUser() {
|
|
if (!isLoggedIn()) return null;
|
|
return [
|
|
'id' => $_SESSION['user_id'],
|
|
'username' => $_SESSION['username'],
|
|
'role' => $_SESSION['role'],
|
|
'full_name' => $_SESSION['full_name']
|
|
];
|
|
}
|