<?php
// Start session
session_start();
// Check if user has admin privileges
if (!isset($_SESSION['role']) || ($_SESSION['role'] !== 'admin' && $_SESSION['role'] !== 'director')) {
echo json_encode(['success' => false, 'message' => 'Unauthorized access']);
exit;
}
// Include database configuration
require_once '../../admin/database/db_config.php';
// Check if enrollment ID is provided
if (!isset($_GET['enrollment_id']) || empty($_GET['enrollment_id'])) {
echo json_encode(['success' => false, 'message' => 'Invalid enrollment ID']);
exit;
}
$enrollment_id = intval($_GET['enrollment_id']);
// Get enrollment details
$query = "
SELECT e.*,
u.first_name, u.last_name, u.email, u.phone, u.id as user_id,
c.title as course_title, c.price, c.discount_price, c.id as course_id,
c.duration, c.duration_unit,
(SELECT COUNT(*) FROM student_documents WHERE user_id = u.id AND status = 'verified') as verified_documents,
(SELECT SUM(amount) FROM payments WHERE user_id = u.id AND course_id = c.id AND status IN ('completed', 'verified')) as total_paid
FROM enrollments e
JOIN users u ON e.user_id = u.id
JOIN courses c ON e.course_id = c.id
WHERE e.id = ?
";
$stmt = $conn->prepare($query);
$stmt->bind_param("i", $enrollment_id);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows === 0) {
echo json_encode(['success' => false, 'message' => 'Enrollment not found']);
exit;
}
$enrollment = $result->fetch_assoc();
// Format dates
$enrollment['enrollment_date'] = date('M d, Y', strtotime($enrollment['enrollment_date']));
// Get admin notes from application if available
$notes_query = "SELECT admin_notes FROM enrollment_applications
WHERE user_id = ? AND course_id = ? AND status = 'completed'
ORDER BY application_date DESC LIMIT 1";
$stmt = $conn->prepare($notes_query);
$stmt->bind_param("ii", $enrollment['user_id'], $enrollment['course_id']);
$stmt->execute();
$notes_result = $stmt->get_result();
if ($notes_result && $notes_result->num_rows > 0) {
$notes_data = $notes_result->fetch_assoc();
if (!empty($notes_data['admin_notes'])) {
$enrollment['admin_notes'] = $notes_data['admin_notes'];
}
}
// Get course price
$enrollment['course_price'] = $enrollment['discount_price'] > 0 && $enrollment['discount_price'] < $enrollment['price']
? $enrollment['discount_price'] : $enrollment['price'];
// Calculate payment progress
$enrollment['total_paid'] = floatval($enrollment['total_paid'] ?? 0);
$enrollment['payment_progress'] = $enrollment['course_price'] > 0
? min(100, round(($enrollment['total_paid'] / $enrollment['course_price']) * 100))
: 0;
// Return formatted response
echo json_encode([
'success' => true,
'data' => $enrollment
]);
?>