38 lines
927 B
PHP
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
|
|
]);
|
|
?>
|