Initial import

This commit is contained in:
pongpon pitisuk
2026-06-25 16:49:13 +07:00
commit 72701ad58c
120 changed files with 17590 additions and 0 deletions
+193
View File
@@ -0,0 +1,193 @@
<?php
require_once __DIR__ . '/config.php';
if (isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true) {
header('Location: ' . BASE_URL . '/index.php');
exit;
}
$error = '';
$google_error = $_SESSION['google_login_error'] ?? '';
unset($_SESSION['google_login_error']);
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = trim($_POST['username'] ?? '');
$password = trim($_POST['password'] ?? '');
if ($username === ADMIN_USER && $password === ADMIN_PASS) {
$_SESSION['logged_in'] = true;
$_SESSION['username'] = $username;
$_SESSION['role'] = 'admin';
$_SESSION['user_id'] = null;
$_SESSION['curriculum_id'] = null;
header('Location: ' . BASE_URL . '/index.php');
exit;
}
require_once __DIR__ . '/includes/functions.php';
$user = authenticateUser($username, $password);
if ($user) {
$_SESSION['logged_in'] = true;
$_SESSION['username'] = $user['name'];
$_SESSION['user_id'] = $user['id'];
$_SESSION['staff_code'] = $user['staff_code'];
$_SESSION['role'] = $user['role'] ?? 'advisor';
$_SESSION['curriculum_id'] = $user['curriculum_id'];
header('Location: ' . BASE_URL . '/index.php');
exit;
}
$error = 'ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง';
}
?>
<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>เข้าสู่ระบบ - ระบบใบควบคุมผลการเรียน</title>
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: { 'thai': ['"Noto Sans Thai"', 'sans-serif'] },
colors: {
primary: { 50:'#eff6ff',100:'#dbeafe',200:'#bfdbfe',300:'#93c5fd',400:'#60a5fa',500:'#3b82f6',600:'#2563eb',700:'#1d4ed8',800:'#1e40af',900:'#1e3a8a' }
}
}
}
}
</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
<style>
* { font-family: 'Noto Sans Thai', sans-serif; }
.fade-in { animation: fadeIn 0.6s ease-in; }
@keyframes fadeIn { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
input:focus { outline: none; border-color: #fbbf24 !important; box-shadow: 0 0 0 3px rgba(251,191,36,0.3) !important; }
</style>
</head>
<body class="font-thai min-h-screen flex flex-col bg-gradient-to-br from-slate-50 via-blue-50 to-indigo-100">
<!-- Navbar -->
<nav class="bg-gradient-to-r from-blue-900 via-blue-800 to-blue-700 shadow-xl">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-16">
<div class="flex items-center gap-3">
<a href="<?= BASE_URL ?>/login.php" class="flex items-center gap-3">
<img src="<?= BASE_URL ?>/pic/Logo DIT.png" alt="DIT Logo" class="h-10 w-10 rounded-full bg-white p-0.5 shadow-md">
<div class="hidden sm:block">
<h1 class="text-white font-bold text-sm leading-tight">คณะนวัตกรรมดิจิทัลเทคโนโลยี</h1>
<p class="text-blue-200 text-xs">มหาวิทยาลัยตาปี</p>
</div>
</a>
</div>
<div>
<span class="text-white/70 text-sm"><i class="fas fa-journal-text mr-1"></i> ระบบใบควบคุมผลการเรียนนักศึกษา</span>
</div>
</div>
</div>
</nav>
<div class="h-1 bg-gradient-to-r from-yellow-300 via-yellow-400 to-yellow-500"></div>
<main class="flex-1 flex items-center justify-center py-12 px-4">
<div class="w-full max-w-md fade-in">
<!-- Logo row -->
<div class="text-center mb-8">
<div class="flex items-center justify-center gap-6 mb-5">
<img src="<?= BASE_URL ?>/pic/logo.png">
<img src="<?= BASE_URL ?>/pic/Logo DIT.png" >
</div>
<h1 class="text-2xl font-bold text-gray-800">มหาวิทยาลัยตาปี</h1>
<p class="text-gray-500">คณะนวัตกรรมดิจิทัลเทคโนโลยี</p>
<div class="flex items-center justify-center gap-2 mt-4">
<div class="h-px w-12 bg-gradient-to-r from-transparent via-yellow-400 to-transparent"></div>
<span class="inline-flex items-center gap-2 bg-blue-50 text-blue-700 text-base font-bold px-6 py-2.5 rounded-full border border-blue-200 shadow-sm">
<i class="fas fa-journal-text text-blue-500"></i> ระบบใบควบคุมผลการเรียนนักศึกษา
</span>
<div class="h-px w-12 bg-gradient-to-r from-transparent via-yellow-400 to-transparent"></div>
</div>
</div>
<!-- Login Card -->
<div class="bg-white rounded-2xl shadow-xl p-8 border-t-4 border-yellow-400">
<h2 class="text-2xl font-bold text-gray-800 mb-1">เข้าสู่ระบบ</h2>
<p class="text-gray-400 text-sm mb-6">กรุณาใส่ชื่อผู้ใช้และรหัสผ่าน</p>
<?php if ($error): ?>
<div class="bg-red-50 border-l-4 border-red-500 text-red-700 px-4 py-3 rounded-lg mb-4 text-sm flex items-center gap-2">
<i class="fas fa-exclamation-circle"></i>
<?= htmlspecialchars($error) ?>
</div>
<?php endif; ?>
<?php if ($google_error): ?>
<div class="bg-red-50 border-l-4 border-red-500 text-red-700 px-4 py-3 rounded-lg mb-4 text-sm flex items-center gap-2">
<i class="fas fa-exclamation-circle"></i>
<?= htmlspecialchars($google_error) ?>
</div>
<?php endif; ?>
<form method="POST">
<div class="mb-4">
<label class="block text-sm font-medium text-gray-700 mb-1"><i class="fas fa-user text-gray-400 mr-1"></i> ชื่อผู้ใช้</label>
<input type="text" name="username" class="w-full px-4 py-3 border-2 border-gray-200 rounded-xl text-gray-700 focus:border-yellow-400 focus:ring-4 focus:ring-yellow-100 transition-all duration-300" required autofocus>
</div>
<div class="mb-6">
<label class="block text-sm font-medium text-gray-700 mb-1"><i class="fas fa-lock text-gray-400 mr-1"></i> รหัสผ่าน</label>
<input type="password" name="password" class="w-full px-4 py-3 border-2 border-gray-200 rounded-xl text-gray-700 focus:border-yellow-400 focus:ring-4 focus:ring-yellow-100 transition-all duration-300" required>
</div>
<button type="submit" class="w-full bg-gradient-to-r from-blue-600 to-blue-700 hover:from-blue-700 hover:to-blue-800 text-white font-semibold py-3 px-6 rounded-xl transition-all duration-300 shadow-md hover:shadow-lg flex items-center justify-center gap-2">
<i class="fas fa-sign-in-alt"></i> เข้าสู่ระบบ
</button>
</form>
<div class="relative my-6">
<div class="absolute inset-0 flex items-center">
<div class="w-full border-t border-gray-200"></div>
</div>
<div class="relative flex justify-center text-sm">
<span class="px-3 bg-white text-gray-400 font-medium">หรือ</span>
</div>
</div>
<a href="<?= BASE_URL ?>/login-google.php"
class="w-full flex items-center justify-center gap-3 bg-white hover:bg-gray-50 text-gray-700 font-medium py-3 px-6 rounded-xl border-2 border-gray-200 transition-all duration-300 shadow-sm hover:shadow-md">
<svg class="w-5 h-5" viewBox="0 0 24 24">
<path fill="#4285F4" d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z"/>
<path fill="#34A853" d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"/>
<path fill="#FBBC05" d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"/>
<path fill="#EA4335" d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"/>
</svg>
เข้าสู่ระบบด้วยอีเมลมหาวิทยาลัยตาปี
</a>
</div>
<p class="text-center text-gray-400 text-xs mt-6">
<i class="fas fa-journal-text mr-1"></i> ระบบใบควบคุมผลการเรียน มหาวิทยาลัยตาปี
</p>
</div>
</main>
<!-- Footer -->
<footer class="bg-gradient-to-r from-blue-900 via-blue-800 to-blue-700 text-white mt-auto">
<div class="h-1 bg-gradient-to-r from-yellow-300 via-yellow-400 to-yellow-500"></div>
<div class="max-w-7xl mx-auto px-4 py-6">
<div class="flex flex-col md:flex-row items-center justify-between gap-4">
<div class="flex items-center gap-3">
<img src="<?= BASE_URL ?>/pic/Logo DIT.png" alt="Logo" class="h-10 w-10 rounded-full bg-white p-0.5" onerror="this.style.display='none'">
<div>
<p class="font-semibold text-sm">คณะนวัตกรรมดิจิทัลเทคโนโลยี</p>
<p class="text-blue-200 text-xs">มหาวิทยาลัยตาปี</p>
</div>
</div>
<p class="text-blue-300 text-xs">&copy; 2569 มหาวิทยาลัยตาปี</p>
</div>
</div>
</footer>
</body>
</html>