Path : /home/vishqocm/pcib.in/admin/ajax/
File Upload :
Current File : //home/vishqocm/pcib.in/admin/ajax/get_enrollment_details.php

<?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
]);
?>