<?php
session_start();
require_once 'db_connect.php';
header('Content-Type: application/json; charset=utf-8');

// إخفاء الأخطاء لمنع كسر الـ JSON
error_reporting(0);
ini_set('display_errors', 0);

$school_name = $_SESSION['school_name'] ?? '';
$subject = $conn->real_escape_string($_POST['subject'] ?? '');
$stage = $conn->real_escape_string($_POST['stage'] ?? '');
$dept = $conn->real_escape_string($_POST['dept'] ?? '');
$section = $conn->real_escape_string($_POST['section'] ?? '');

// التأكد من اختيار المادة
if (empty($subject)) {
    echo json_encode(['status' => 'error', 'message' => 'يرجى اختيار المادة لعرض السجل الوسطي.']);
    exit;
}

// 🚀 الاستعلام المحدث ليشمل الشفهي والتحريري والنتيجة النهائية 🚀
$sql = "SELECT s.student_id, s.student_name, s.parent_phone, 
               g.id as grade_id,
               g.term_1, g.mid_year, g.term_2, g.annual_effort,
               g.final_oral, g.final_exam, g.final_grade, 
               g.makeup_exam, g.final_after_makeup,
               g.admin_grace, g.pass_score, g.is_submitted
        FROM students s
        LEFT JOIN control_grades g ON s.student_id = g.student_id AND g.subject_name = '$subject'
        WHERE s.school_name = '$school_name'";

if(!empty($stage)) $sql .= " AND s.stage LIKE '%$stage%'";
if(!empty($dept)) $sql .= " AND s.department LIKE '%$dept%'";
if(!empty($section) && $section !== 'الكل') $sql .= " AND s.branch = '$section'";

$sql .= " ORDER BY s.student_name ASC";
$result = $conn->query($sql);

$html_rows = '';
$stats = [
    'term1'  => ['total' => 0, 'pass' => 0, 'fail' => 0],
    'mid'    => ['total' => 0, 'pass' => 0, 'fail' => 0],
    'term2'  => ['total' => 0, 'pass' => 0, 'fail' => 0],
    'annual' => ['total' => 0, 'pass' => 0, 'fail' => 0],
    'final'  => ['total' => 0, 'pass' => 0, 'fail' => 0] // 🚀 إحصائية النهائي 🚀
];

$counter = 1;
$secret_salt = "Rooz" . substr(md5($school_name), 0, 10);
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http";
$domain = $_SERVER['HTTP_HOST'];

if ($result && $result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $grade_id = $row['grade_id'];
        $std_id = $row['student_id'];
        $is_graded = !empty($grade_id); 

        $token = hash('sha256', $std_id . $secret_salt); 
        $share_link = "$protocol://$domain/academy/print_student_certificate.php?student_id=$std_id&token=$token";

        $t1 = isset($row['term_1']) && $row['term_1'] !== '' ? round((float)$row['term_1'], 2) : '-';
        $mid = isset($row['mid_year']) && $row['mid_year'] !== '' ? round((float)$row['mid_year'], 2) : '-';
        $t2 = isset($row['term_2']) && $row['term_2'] !== '' ? round((float)$row['term_2'], 2) : '-';
        $annual = isset($row['annual_effort']) && $row['annual_effort'] !== '' ? round((float)$row['annual_effort'], 2) : '-';
        
        $fin_o = isset($row['final_oral']) && $row['final_oral'] !== '' ? floatval($row['final_oral']) : 0;
        $fin_w = isset($row['final_exam']) && $row['final_exam'] !== '' ? floatval($row['final_exam']) : '-';
        
        $mkAft = isset($row['final_after_makeup']) && $row['final_after_makeup'] !== '' ? floatval($row['final_after_makeup']) : '-';
        
        // 🚀 الحل السحري لمشكلة الـ 200: تغليف الرقم بـ (int) ليمسح الأصفار العشرية نهائياً 🚀
        $adminGrace = (isset($row['admin_grace']) && $row['admin_grace'] !== '') ? (int)$row['admin_grace'] : 0;
        
        $pass_score = (isset($row['pass_score']) && $row['pass_score'] !== '') ? floatval($row['pass_score']) : 50;

        // 🚀 القوانين الرياضية الذكية (السعي، القسمة، النتيجة) 🚀
        $finalSaei = ($annual !== '-') ? ($annual + $adminGrace) : '-';
        
        $overallTotal = '-';
        if ($finalSaei !== '-' && $fin_w !== '-') {
            // القسمة على 2 وجبر الكسر
            $overallTotal = round(($finalSaei + ($fin_o + $fin_w)) / 2);
        }

        if ($is_graded) {
            if ($t1 !== '-') { $stats['term1']['total']++; if($t1 >= $pass_score) $stats['term1']['pass']++; else $stats['term1']['fail']++; }
            if ($mid !== '-') { $stats['mid']['total']++; if($mid >= $pass_score) $stats['mid']['pass']++; else $stats['mid']['fail']++; }
            if ($t2 !== '-') { $stats['term2']['total']++; if($t2 >= $pass_score) $stats['term2']['pass']++; else $stats['term2']['fail']++; }
            if ($finalSaei !== '-') { $stats['annual']['total']++; if($finalSaei >= $pass_score) $stats['annual']['pass']++; else $stats['annual']['fail']++; }
        }

        // 🚀 تقييم النتيجة النهائية الذكي 🚀
        $resultText = 'قيد التقييم'; 
        $resultColor = '#94a3b8'; 
        $finalGraceDisplay = '';
        $font_weight = 'normal';

        if ($overallTotal !== '-') {
            $font_weight = '900';
            // 🚀 القاعدة الذهبية: إذا نجح من الدور الأول، نتجاهل الدور الثاني تماماً 🚀
            if ($overallTotal >= $pass_score) {
                $resultText = 'ناجح'; 
                $resultColor = '#10b981'; 
                $stats['final']['pass']++; 
                $finalGraceDisplay = "";
            } 
            // إذا لم ينجح من الدور الأول، نتحقق من الدور الثاني
            else {
                if ($mkAft !== '-') {
                    if (floatval($mkAft) >= $pass_score) {
                        $resultText = 'ناجح'; 
                        $resultColor = '#10b981'; 
                        $stats['final']['pass']++; 
                    } else {
                        $resultText = 'راسب'; 
                        $resultColor = '#ef4444'; 
                        $stats['final']['fail']++; 
                    }
                    $finalGraceDisplay = "<br><span style='font-size:11px; color:#94a3b8;'>(" . floatval($mkAft) . ")</span>";
                } else {
                    $resultText = 'مكمل/راسب'; 
                    $resultColor = '#ef4444'; 
                    $stats['final']['fail']++; 
                    $finalGraceDisplay = "";
                }
            }
            $stats['final']['total']++;
        }

        // 🚀 حقل القرار مع استخدام دالة tg_saveAdminGrace الأصلية الخاصة بك 🚀
        $grace_input = "";
        if ($is_graded) {
            $grace_input = "<input type='number' value='{$adminGrace}' 
                                style='width: 50px; text-align:center; padding:4px; border: 1px solid #ec4899; border-radius: 4px; color:#fff; background:#090204; font-weight:bold;' 
                                onchange=\"tg_saveAdminGrace('{$std_id}', this.value, '{$subject}')\"
                                " . (($annual === '-') ? 'disabled title="لا يمكن المساعدة بلا سعي"' : '') . ">";
        } else {
            $grace_input = "<span style='font-size:11px; color:#64748b;'>بانتظار المدرس</span>";
        }

        $wa_phone = !empty($row['parent_phone']) ? preg_replace('/[^0-9]/', '', $row['parent_phone']) : '';
        $wa_btn = "";
        if(!empty($wa_phone)) {
            if(strpos($wa_phone, '0') === 0) { $wa_phone = '964' . substr($wa_phone, 1); }
            $wa_msg = urlencode("تحية طيبة،\nتجدون أدناه الرابط الخاص بالشهادة المدرسية للطالب: {$row['student_name']}\nالرابط: {$share_link}");
            $wa_btn = "<a href='https://wa.me/{$wa_phone}?text={$wa_msg}' target='_blank' style='color:#25D366; margin-right:8px; padding:3px; border-radius:5px;' title='إرسال واتساب' onmouseover=\"this.style.background='rgba(37,211,102,0.1)'\" onmouseout=\"this.style.background='transparent'\"><i class='fab fa-whatsapp fa-lg'></i></a>";
        }

        // 🚀 زر الشهادة والواتساب مع ميزة النافذة المنبثقة للوحة الإدارة 🚀
        $actions_html = "";
        if ($row['is_submitted'] == 1 && $overallTotal !== '-') {
            $actions_html = "<div style='display:flex; justify-content:flex-end; align-items:center; gap:8px; margin-bottom:5px;'>
                                {$wa_btn}
                                <a href='javascript:void(0)' onclick=\"openStudentCertificateAdmin('{$std_id}', '{$token}')\" style='background:rgba(59,130,246,0.1); border:1px solid #3b82f6; color:#3b82f6; text-decoration:none; padding:3px 8px; border-radius:5px; font-size:11px;' title='معاينة/طباعة الشهادة'><i class='fas fa-file-certificate'></i> شهادة</a>
                             </div>";
        }

        $html_rows .= "
        <tr style='border-bottom: 1px solid rgba(255,255,255,0.05); transition: 0.3s;' onmouseover=\"this.style.background='rgba(255,255,255,0.05)'\" onmouseout=\"this.style.background='transparent'\">
            <td style='padding: 10px; color:#94a3b8;'>$count</td>
            <td style='padding: 10px; text-align: right;'>
                {$actions_html}
                <div style='font-weight:bold; color:#fff;'>
                    <a href='javascript:void(0)' 
                       onclick=\"openStudentCertificateAdmin('{$std_id}', '{$token}')\" 
                       style='color: #38bdf8; text-decoration: none; border-bottom: 1px dashed #38bdf8; padding-bottom: 2px; transition: 0.3s;' 
                       onmouseover=\"this.style.color='#60a5fa'\" 
                       onmouseout=\"this.style.color='#38bdf8'\" 
                       title='اضغط لعرض الشهادة التفصيلية للطالب'>
                       <i class='fas fa-external-link-alt' style='font-size: 10px; margin-left: 5px;'></i>{$row['student_name']}
                    </a>
                </div>
            </td>
            <td style='padding: 10px; color:#cbd5e1;'>{$t1}</td>
            <td style='padding: 10px; color:#3b82f6; font-weight:bold; background:rgba(59,130,246,0.05);'>{$mid}</td>
            <td style='padding: 10px; color:#cbd5e1;'>{$t2}</td>
            
            <td style='padding: 10px; color:#f59e0b; font-weight:bold; background:rgba(245,158,11,0.05);'>{$finalSaei}</td>
            
            <td style='padding: 10px; background:rgba(236,72,153,0.05); border-right:1px solid #ec4899;'>
                {$grace_input}
            </td>
            
            <!-- 🚀 عمود الدرجة النهائية (تجمع وتقسم على 2 وتظهر بشكل رائع) 🚀 -->
            <td style='padding: 10px; font-weight:bold; color:#10b981; font-size:1.2rem; background:rgba(16,185,129,0.1); border-right:1px solid rgba(16,185,129,0.3);'>
                {$overallTotal}
            </td>
            
            <td style='padding: 10px; color:{$resultColor}; font-weight:{$font_weight};'>
                {$resultText} {$finalGraceDisplay}
            </td>
        </tr>";
        $counter++;
    }
    
    // بناء جدول الخلاصة السفلية
    $html_summary = '';
    $labels = [
        'term1' => 'معدل الفصل الأول', 'mid' => 'نصف السنة', 
        'term2' => 'معدل الفصل الثاني', 'annual' => 'السعي السنوي',
        'final' => 'النتيجة النهائية'
    ];

    foreach ($labels as $key => $title) {
        $tot = $stats[$key]['total'];
        $p = $stats[$key]['pass'];
        $f = $stats[$key]['fail'];
        $rate = ($tot > 0) ? round(($p / $tot) * 100, 1) : 0;

        $html_summary .= "<tr style='border-bottom: 1px solid rgba(255,255,255,0.05);'>
            <td style='padding: 12px; text-align: right; font-weight:bold;'>{$title}</td>
            <td style='padding: 12px; color:#fcd34d; font-weight:bold;'>{$tot}</td>
            <td style='padding: 12px; color:#10b981; font-weight:bold;'>{$p}</td>
            <td style='padding: 12px; color:#ef4444; font-weight:bold;'>{$f}</td>
            <td style='padding: 12px; color:#93c5fd; font-weight:bold; direction:ltr;'>{$rate}%</td>
        </tr>";
    }

    $publish_btn = "<div style='text-align:left; margin-top:15px; padding:10px;'>
                        <button onclick=\"publishGradesForClass('{$stage}', '{$dept}', '{$section}')\" style='background:#10b981; color:#fff; border:none; padding:10px 20px; border-radius:8px; font-weight:bold; cursor:pointer;'>
                            <i class='fas fa-bullhorn'></i> اعتماد ونشر شهادات هذا الصف
                        </button>
                        <p style='color:#94a3b8; font-size:12px; margin-top:5px;'>سيتم تفعيل عرض الشهادة في لوحة الطالب وولي الأمر لهذا الصف فقط.</p>
                    </div>";

    echo json_encode([
        'status' => 'success',
        'html_rows' => $html_rows,
        'html_summary' => $html_summary . "<tr><td colspan='5'>{$publish_btn}</td></tr>"
    ]);
} else {
    echo json_encode(['status' => 'error', 'message' => 'لا يوجد طلاب مسجلين أو درجات مدخلة في هذه المرحلة/الشعبة.']);
}
?>
