<?php
/**
 * IBVTE Student Dashboard
 */

require_once __DIR__ . '/../config.php';
require_once __DIR__ . '/../includes/db.php';

// Check student session
if (empty($_SESSION['student_id'])) {
    header('Location: login.php');
    exit;
}

$db = DB();
$studentId = $_SESSION['student_id'];

// Get student data
$student = $db->fetchOne(
    "SELECT s.*, c.course_name, c.course_code, c.duration,
            u.institution_name, u.institution_code,
            ac.admit_card_number, ac.pdf_path as admit_card_pdf,
            cert.certificate_number, cert.pdf_path as certificate_pdf
     FROM students s
     JOIN courses c ON s.course_id = c.id
     JOIN users u ON s.institution_id = u.id
     LEFT JOIN admit_cards ac ON s.id = ac.student_id AND ac.exam_session = s.session_year
     LEFT JOIN certificates cert ON s.id = cert.student_id
     WHERE s.id = ?",
    [$studentId]
);

if (!$student) {
    session_destroy();
    header('Location: login.php');
    exit;
}

// Get results
$results = $db->fetchAll(
    "SELECT * FROM student_results 
     WHERE student_id = ? AND is_published = 1 
     ORDER BY exam_session DESC",
    [$studentId]
);

$flash = getFlashMessage();
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Student Dashboard - <?= APP_SHORT_NAME ?></title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <style>
        :root {
            --primary-color: #3b0b7c;
            --secondary-color: #6c4ab6;
        }
        body {
            background: #f5f7fa;
            font-family: 'Segoe UI', sans-serif;
        }
        .student-header {
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
            color: white;
            padding: 30px 0;
        }
        .student-card {
            background: white;
            border-radius: 15px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
            border: none;
        }
        .student-photo {
            width: 120px;
            height: 150px;
            border-radius: 10px;
            border: 4px solid white;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
            object-fit: cover;
        }
        .info-item {
            padding: 15px;
            border-bottom: 1px solid #eee;
        }
        .info-item:last-child {
            border-bottom: none;
        }
        .info-label {
            color: #666;
            font-size: 0.85rem;
        }
        .info-value {
            font-weight: 600;
            color: #333;
        }
        .document-card {
            background: white;
            border-radius: 15px;
            padding: 30px;
            text-align: center;
            transition: all 0.3s;
            cursor: pointer;
            border: 2px solid transparent;
        }
        .document-card:hover {
            border-color: var(--primary-color);
            transform: translateY(-5px);
        }
        .document-icon {
            width: 80px;
            height: 80px;
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 15px;
            color: white;
            font-size: 2rem;
        }
        .status-badge {
            padding: 5px 15px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 500;
        }
        .result-card {
            background: white;
            border-radius: 15px;
            padding: 20px;
            margin-bottom: 15px;
        }
        .division-badge {
            font-size: 1.2rem;
            padding: 10px 20px;
            border-radius: 30px;
        }
    </style>
</head>
<body>
    <!-- Header -->
    <div class="student-header">
        <div class="container">
            <div class="row align-items-center">
                <div class="col-md-6">
                    <div class="d-flex align-items-center">
                        <img src="../assets/images/logo.jpeg" alt="IBVTE" class="me-3" style="height: 50px; border-radius: 50%;">
                        <div>
                            <h4 class="mb-0">Student Portal</h4>
                            <small class="opacity-75"><?= APP_NAME ?></small>
                        </div>
                    </div>
                </div>
                <div class="col-md-6 text-md-end">
                    <span class="me-3"><i class="fas fa-user me-2"></i><?= htmlspecialchars($student['full_name']) ?></span>
                    <a href="logout.php" class="btn btn-light btn-sm">
                        <i class="fas fa-sign-out-alt me-1"></i>Logout
                    </a>
                </div>
            </div>
        </div>
    </div>

    <div class="container py-4">
        <?php if ($flash): ?>
            <div class="alert alert-<?= $flash['type'] ?> alert-dismissible fade show">
                <?= $flash['message'] ?>
                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
            </div>
        <?php endif; ?>

        <div class="row">
            <!-- Student Info Card -->
            <div class="col-lg-4 mb-4">
                <div class="student-card">
                    <div class="text-center p-4" style="background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);">
                        <img src="../<?= $student['photo_path'] ?? 'assets/images/default-avatar.png' ?>" 
                             alt="Student Photo" class="student-photo">
                        <h5 class="text-white mt-3 mb-1"><?= htmlspecialchars($student['full_name']) ?></h5>
                        <p class="text-white opacity-75 mb-0"><?= htmlspecialchars($student['roll_number']) ?></p>
                    </div>
                    <div class="p-0">
                        <div class="info-item">
                            <div class="info-label">Registration Number</div>
                            <div class="info-value"><?= htmlspecialchars($student['registration_number']) ?></div>
                        </div>
                        <div class="info-item">
                            <div class="info-label">Course</div>
                            <div class="info-value"><?= htmlspecialchars($student['course_name']) ?></div>
                        </div>
                        <div class="info-item">
                            <div class="info-label">Institution</div>
                            <div class="info-value"><?= htmlspecialchars($student['institution_name']) ?></div>
                        </div>
                        <div class="info-item">
                            <div class="info-label">Session</div>
                            <div class="info-value"><?= htmlspecialchars($student['session_year']) ?></div>
                        </div>
                        <div class="info-item">
                            <div class="info-label">Admission Date</div>
                            <div class="info-value"><?= formatDate($student['admission_date']) ?></div>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Main Content -->
            <div class="col-lg-8">
                <!-- Status Cards -->
                <div class="row mb-4">
                    <div class="col-md-4 mb-3">
                        <div class="student-card p-3 text-center">
                            <h6 class="text-muted">Admission Status</h6>
                            <span class="status-badge bg-success text-white">
                                <?= ucfirst($student['status']) ?>
                            </span>
                        </div>
                    </div>
                    <div class="col-md-4 mb-3">
                        <div class="student-card p-3 text-center">
                            <h6 class="text-muted">Result Status</h6>
                            <?php if ($student['result_declared']): ?>
                                <span class="status-badge bg-success text-white">Declared</span>
                            <?php else: ?>
                                <span class="status-badge bg-warning text-dark">Pending</span>
                            <?php endif; ?>
                        </div>
                    </div>
                    <div class="col-md-4 mb-3">
                        <div class="student-card p-3 text-center">
                            <h6 class="text-muted">Certificate Status</h6>
                            <?php if ($student['certificate_issued']): ?>
                                <span class="status-badge bg-success text-white">Issued</span>
                            <?php else: ?>
                                <span class="status-badge bg-info text-white">Processing</span>
                            <?php endif; ?>
                        </div>
                    </div>
                </div>

                <!-- Documents Section -->
                <h5 class="mb-3"><i class="fas fa-file-alt me-2 text-primary"></i>My Documents</h5>
                <div class="row mb-4">
                    <div class="col-md-6 mb-3">
                        <div class="document-card" onclick="viewDocument('admit_card')">
                            <div class="document-icon">
                                <i class="fas fa-id-card"></i>
                            </div>
                            <h5>Admit Card</h5>
                            <?php if ($student['admit_card_pdf']): ?>
                                <span class="badge bg-success"><i class="fas fa-check me-1"></i>Available</span>
                            <?php else: ?>
                                <span class="badge bg-warning text-dark">Not Generated</span>
                            <?php endif; ?>
                        </div>
                    </div>
                    <div class="col-md-6 mb-3">
                        <div class="document-card" onclick="viewDocument('certificate')">
                            <div class="document-icon">
                                <i class="fas fa-certificate"></i>
                            </div>
                            <h5>Certificate</h5>
                            <?php if ($student['certificate_pdf']): ?>
                                <span class="badge bg-success"><i class="fas fa-check me-1"></i>Available</span>
                            <?php else: ?>
                                <span class="badge bg-secondary">Not Available</span>
                            <?php endif; ?>
                        </div>
                    </div>
                </div>

                <!-- Results Section -->
                <h5 class="mb-3"><i class="fas fa-chart-bar me-2 text-primary"></i>Examination Results</h5>
                
                <?php if ($student['result_declared']): ?>
                    <div class="result-card text-center">
                        <h6 class="text-muted mb-3">Final Result - <?= $student['session_year'] ?></h6>
                        
                        <?php if ($student['division']): ?>
                            <?php 
                            $divisionColors = [
                                'distinction' => 'bg-success',
                                'first' => 'bg-primary',
                                'second' => 'bg-info',
                                'third' => 'bg-warning',
                                'fail' => 'bg-danger'
                            ];
                            $color = $divisionColors[$student['division']] ?? 'bg-secondary';
                            ?>
                            <span class="badge <?= $color ?> division-badge text-white mb-3">
                                <?= getDivisionLabel($student['division']) ?>
                            </span>
                        <?php endif; ?>
                        
                        <div class="row mt-3">
                            <div class="col-4">
                                <h4 class="text-primary mb-1"><?= $student['marks_obtained'] ?? '-' ?>/<?= $student['total_marks'] ?? '-' ?></h4>
                                <small class="text-muted">Marks Obtained</small>
                            </div>
                            <div class="col-4">
                                <h4 class="text-primary mb-1"><?= $student['percentage'] ?? '-' ?>%</h4>
                                <small class="text-muted">Percentage</small>
                            </div>
                            <div class="col-4">
                                <h4 class="text-primary mb-1"><?= $student['remark'] ?? '-' ?></h4>
                                <small class="text-muted">Remark</small>
                            </div>
                        </div>
                    </div>
                <?php else: ?>
                    <div class="result-card text-center py-5">
                        <i class="fas fa-clock fa-3x text-muted mb-3"></i>
                        <h5 class="text-muted">Result Not Declared</h5>
                        <p class="text-muted mb-0">Your result will be published soon. Please check back later.</p>
                    </div>
                <?php endif; ?>

                <?php if (!empty($results)): ?>
                    <h6 class="mb-3">Detailed Results</h6>
                    <div class="student-card p-3">
                        <div class="table-responsive">
                            <table class="table">
                                <thead>
                                    <tr>
                                        <th>Exam</th>
                                        <th>Subject</th>
                                        <th>Max Marks</th>
                                        <th>Obtained</th>
                                        <th>Grade</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php foreach ($results as $result): ?>
                                        <tr>
                                            <td><?= ucfirst($result['exam_type']) ?></td>
                                            <td><?= htmlspecialchars($result['subject_name']) ?></td>
                                            <td><?= $result['max_marks'] ?></td>
                                            <td><?= $result['obtained_marks'] ?></td>
                                            <td>
                                                <span class="badge bg-primary"><?= $result['grade'] ?></span>
                                            </td>
                                        </tr>
                                    <?php endforeach; ?>
                                </tbody>
                            </table>
                        </div>
                    </div>
                <?php endif; ?>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        function viewDocument(type) {
            <?php if ($student['admit_card_pdf']): ?>
                if (type === 'admit_card') {
                    window.open('../<?= $student['admit_card_pdf'] ?>', '_blank');
                    return;
                }
            <?php endif; ?>
            
            <?php if ($student['certificate_pdf']): ?>
                if (type === 'certificate') {
                    window.open('../<?= $student['certificate_pdf'] ?>', '_blank');
                    return;
                }
            <?php endif; ?>
            
            alert('Document not available yet. Please check back later.');
        }
    </script>
</body>
</html>
