Files
gravity/ระบบแจ้งเตือนส่งงานของนักเรียน/api/get_notifications.php
T
2026-09-16 23:20:08 +07:00

38 lines
927 B
PHP

<?php
require_once '../config.php';
header('Content-Type: application/json');
if (!isLoggedIn()) {
echo json_encode(['status' => 'error', 'message' => 'Unauthorized']);
exit;
}
$user_id = $_SESSION['user_id'];
$role = $_SESSION['role'];
// Get days before due setting
$days_before_due = getSetting($pdo, 'days_before_due') ?: 3;
$sql = "SELECT id, title, due_date, DATEDIFF(due_date, CURDATE()) as days_left
FROM assignments
WHERE status = 'pending'
AND DATEDIFF(due_date, CURDATE()) <= :days_before_due
AND DATEDIFF(due_date, CURDATE()) >= 0";
$params = [':days_before_due' => $days_before_due];
if ($role !== 'admin') {
$sql .= " AND student_id = :student_id";
$params[':student_id'] = $user_id;
}
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
$assignments = $stmt->fetchAll();
echo json_encode([
'status' => 'success',
'data' => $assignments
]);
?>