<?php
// Start session
session_start();
// Include database configuration
require_once '../../config/database.php';
// Check if user is logged in and has student role
if (!isset($_SESSION['user_id']) || $_SESSION['role'] !== 'student') {
header('Content-Type: application/json');
echo json_encode(['success' => false, 'message' => 'Unauthorized access']);
exit;
}
$user_id = $_SESSION['user_id'];
// Check if course ID is provided
if (!isset($_GET['course_id']) || empty($_GET['course_id'])) {
header('Content-Type: application/json');
echo json_encode(['success' => false, 'message' => 'Course ID is required']);
exit;
}
$course_id = intval($_GET['course_id']);
// Validate the course exists and user is enrolled
$enrollment_query = "SELECT e.*, c.title, c.price, c.discount_price, c.duration
FROM enrollments e
JOIN courses c ON e.course_id = c.id
WHERE e.user_id = ? AND e.course_id = ? AND e.status = 'active'";
$stmt = $conn->prepare($enrollment_query);
$stmt->bind_param("ii", $user_id, $course_id);
$stmt->execute();
$enrollment_result = $stmt->get_result();
if ($enrollment_result->num_rows === 0) {
header('Content-Type: application/json');
echo json_encode(['success' => false, 'message' => 'You are not enrolled in this course']);
exit;
}
$enrollment = $enrollment_result->fetch_assoc();
// Get total course fee
$course_price = $enrollment['discount_price'] > 0 && $enrollment['discount_price'] < $enrollment['price']
? $enrollment['discount_price'] : $enrollment['price'];
// Calculate payment plans based on course duration
$duration_parts = explode(' ', $enrollment['duration']);
$duration_value = isset($duration_parts[0]) ? intval($duration_parts[0]) : 3; // Default to 3 if not specified
$duration_unit = isset($duration_parts[1]) ? strtolower($duration_parts[1]) : 'months'; // Default to months
// Get payment plan
$payment_plan = $enrollment['payment_plan'] ?? 'full';
// Get total paid amount
$paid_query = "SELECT SUM(amount) as total_paid FROM payments
WHERE user_id = ? AND course_id = ? AND status IN ('completed', 'verified')";
$stmt = $conn->prepare($paid_query);
$stmt->bind_param("ii", $user_id, $course_id);
$stmt->execute();
$paid_result = $stmt->get_result();
$total_paid = $paid_result->fetch_assoc()['total_paid'] ?? 0;
// Calculate remaining amount
$remaining = max(0, $course_price - $total_paid);
// Prepare response data
$response = [
'success' => true,
'course_id' => $course_id,
'course_title' => $enrollment['title'],
'total_fee' => $course_price,
'paid_amount' => $total_paid,
'remaining' => $remaining,
'payment_plan' => $payment_plan,
'enrollment_date' => $enrollment['enrollment_date']
];
// Return JSON response
header('Content-Type: application/json');
echo json_encode($response);
exit;