Add files via upload

This commit is contained in:
ssbg04 authored and GitHub committed 2025-04-10 21:05:42 +08:00
1 parent 80959e6551
commit e88a888096
35 files changed
+2447

No files matched your search

+4
View File
@@ -0,0 +1,4 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
+29
View File
@@ -0,0 +1,29 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
+177
View File
@@ -0,0 +1,177 @@
<?php
require_once '../../db/config.php';
// Handle Delete Operation
if(isset($_GET['delete'])){
try {
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM semester WHERE SEMESTER_CODE = ?");
$stmt->execute([$id]);
header("Location: semester.php");
exit();
} catch(PDOException $e) {
die("Delete failed: " . $e->getMessage());
}
}
// Handle Create/Update Operations
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$semesterCode = $_POST['semester_code'] ?? null;
$year = $_POST['year'];
$term = $_POST['term'];
$startDate = strtotime($_POST['start_date']);
$endDate = strtotime($_POST['end_date']);
// Validate dates
if(!$startDate || !$endDate || $startDate > $endDate) {
die("Invalid date range");
}
try {
if(isset($_POST['create'])) {
$stmt = $pdo->prepare("INSERT INTO semester
(SEMESTER_YEAR, SEMESTER_TERM, SEMESTER_START_DATE, SEMESTER_END_DATE)
VALUES (?, ?, ?, ?)");
$stmt->execute([$year, $term, $startDate, $endDate]);
} elseif(isset($_POST['update'])) {
$stmt = $pdo->prepare("UPDATE semester SET
SEMESTER_YEAR = ?,
SEMESTER_TERM = ?,
SEMESTER_START_DATE = ?,
SEMESTER_END_DATE = ?
WHERE SEMESTER_CODE = ?");
$stmt->execute([$year, $term, $startDate, $endDate, $semesterCode]);
}
header("Location: semester.php");
exit();
} catch(PDOException $e) {
die("Operation failed: " . $e->getMessage());
}
}
// Fetch data
try {
$semesters = $pdo->query("
SELECT *,
FROM_UNIXTIME(SEMESTER_START_DATE) AS start_date,
FROM_UNIXTIME(SEMESTER_END_DATE) AS end_date
FROM semester
ORDER BY SEMESTER_YEAR DESC, SEMESTER_TERM DESC
")->fetchAll();
// Handle edit mode
$semester = [];
if(isset($_GET['edit'])) {
$stmt = $pdo->prepare("
SELECT *,
FROM_UNIXTIME(SEMESTER_START_DATE) AS start_date,
FROM_UNIXTIME(SEMESTER_END_DATE) AS end_date
FROM semester
WHERE SEMESTER_CODE = ?
");
$stmt->execute([$_GET['edit']]);
$semester = $stmt->fetch();
if(!$semester) {
header("Location: semester.php");
exit();
}
}
} catch(PDOException $e) {
die("Database error: " . $e->getMessage());
}
require_once 'header.php';
?>
<h2>Semester Management</h2>
<!-- Semester Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit'])): ?>
<input type="hidden" name="semester_code" value="<?= $semester['SEMESTER_CODE'] ?>">
<h4>Edit Semester</h4>
<?php else: ?>
<h4>Add New Semester</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-3">
<label>Year</label>
<input type="number" name="year"
value="<?= htmlspecialchars($semester['SEMESTER_YEAR'] ?? date('Y')) ?>"
class="form-control" min="2000" max="2100" required>
</div>
<div class="col-md-3">
<label>Term</label>
<select name="term" class="form-select" required>
<option value="1" <?= ($semester['SEMESTER_TERM'] ?? '') == 1 ? 'selected' : '' ?>>Spring</option>
<option value="2" <?= ($semester['SEMESTER_TERM'] ?? '') == 2 ? 'selected' : '' ?>>Summer</option>
<option value="3" <?= ($semester['SEMESTER_TERM'] ?? '') == 3 ? 'selected' : '' ?>>Fall</option>
</select>
</div>
<div class="col-md-3">
<label>Start Date</label>
<input type="date" name="start_date"
value="<?= htmlspecialchars($semester['start_date'] ?? '') ?>"
class="form-control" required>
</div>
<div class="col-md-3">
<label>End Date</label>
<input type="date" name="end_date"
value="<?= htmlspecialchars($semester['end_date'] ?? '') ?>"
class="form-control" required>
</div>
<div class="col-md-12 mt-3">
<button type="submit" name="<?= isset($_GET['edit']) ? 'update' : 'create' ?>"
class="btn btn-primary">
<?= isset($_GET['edit']) ? 'Update' : 'Create' ?>
</button>
<?php if(isset($_GET['edit'])): ?>
<a href="semester.php" class="btn btn-secondary">Cancel</a>
<?php endif; ?>
</div>
</div>
</form>
</div>
</div>
<!-- Semesters Table -->
<table class="table table-striped">
<thead class="table-dark">
<tr>
<th>Code</th>
<th>Year</th>
<th>Term</th>
<th>Start Date</th>
<th>End Date</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($semesters as $s): ?>
<tr>
<td><?= $s['SEMESTER_CODE'] ?></td>
<td><?= $s['SEMESTER_YEAR'] ?></td>
<td><?= match($s['SEMESTER_TERM']) {1 => 'Spring', 2 => 'Summer', 3 => 'Fall'} ?></td>
<td><?= date('M d, Y', strtotime($s['start_date'])) ?></td>
<td><?= date('M d, Y', strtotime($s['end_date'])) ?></td>
<td>
<a href="semester.php?edit=<?= $s['SEMESTER_CODE'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="semester.php?delete=<?= $s['SEMESTER_CODE'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this semester?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>