<?php
session_start();
require_once __DIR__ . '/registration_helpers.php';
$conn = sr_connect();
sr_install($conn);
$success=''; $error=''; $db_name='';
$db_q=mysqli_query($conn,'SELECT DATABASE() AS dbname');
if($db_q&&mysqli_num_rows($db_q)>0){$db_row=mysqli_fetch_assoc($db_q);$db_name=$db_row['dbname'];}

function clean($conn,$v){return mysqli_real_escape_string($conn,trim($v));}
function get_value($n){return isset($_GET[$n])?htmlspecialchars($_GET[$n],ENT_QUOTES,'UTF-8'):'';}
function selected($n,$v){return (isset($_GET[$n])&&$_GET[$n]==$v)?'selected':'';}
function normalize_stage_for_students($stage){
    $stage=trim($stage);
    if($stage=='أول متوسط'||$stage=='اول متوسط'||$stage=='الأول المتوسط')return'الأول المتوسط';
    if($stage=='ثاني متوسط'||$stage=='الثاني المتوسط')return'الثاني المتوسط';
    if($stage=='ثالث متوسط'||$stage=='الثالث المتوسط')return'الثالث المتوسط';
    if($stage=='رابع علمي'||$stage=='الرابع العلمي')return'الرابع العلمي';
    if($stage=='خامس علمي'||$stage=='الخامس العلمي')return'الخامس العلمي';
    if($stage=='سادس علمي'||$stage=='السادس العلمي')return'السادس العلمي';
    return $stage;
}

if($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['action']) && $_POST['action']=='accept'){
    $id=intval($_POST['id']);
    $final_stage=isset($_POST['final_stage'])?trim($_POST['final_stage']):'';
    $final_class=isset($_POST['final_class'])?trim($_POST['final_class']):'';
    $admin_notes=isset($_POST['admin_notes'])?trim($_POST['admin_notes']):'';
    $final_stage=normalize_stage_for_students($final_stage);

    if($id<=0||$final_stage==''||$final_class==''){
        $error='يرجى تحديد المرحلة والشعبة قبل قبول الطالب.';
    } else {
        $stmt=mysqli_prepare($conn,'SELECT id, student_full_name, status FROM student_registrations WHERE id=? LIMIT 1');
        if($stmt){
            mysqli_stmt_bind_param($stmt,'i',$id);
            mysqli_stmt_execute($stmt);
            mysqli_stmt_bind_result($stmt,$reg_id,$student_full_name,$current_status);
            if(mysqli_stmt_fetch($stmt)){
                mysqli_stmt_close($stmt);
                if($current_status=='accepted'){
                    $error='هذا الطالب مقبول مسبقاً.';
                } else {
                    $stmt_check=mysqli_prepare($conn,'SELECT id FROM students WHERE name=? AND stage=? AND `class`=? LIMIT 1');
                    if($stmt_check){
                        mysqli_stmt_bind_param($stmt_check,'sss',$student_full_name,$final_stage,$final_class);
                        mysqli_stmt_execute($stmt_check);
                        mysqli_stmt_store_result($stmt_check);
                        $already=mysqli_stmt_num_rows($stmt_check);
                        mysqli_stmt_close($stmt_check);
                    } else {
                        $already=0;
                    }

                    if($already==0){
                        $stmt_insert=mysqli_prepare($conn,'INSERT INTO students (name,stage,`class`) VALUES (?,?,?)');
                        if($stmt_insert){
                            mysqli_stmt_bind_param($stmt_insert,'sss',$student_full_name,$final_stage,$final_class);
                            if(!mysqli_stmt_execute($stmt_insert)){$error='حدث خطأ أثناء تحويل الطالب: '.mysqli_stmt_error($stmt_insert);}
                            mysqli_stmt_close($stmt_insert);
                        } else {
                            $error='حدث خطأ في تجهيز إدخال الطالب: '.mysqli_error($conn);
                        }
                    }

                    if($error==''){
                        $stmt_update=mysqli_prepare($conn,'UPDATE student_registrations SET status="accepted", stage=?, class_name=?, admin_notes=? WHERE id=?');
                        if($stmt_update){
                            mysqli_stmt_bind_param($stmt_update,'sssi',$final_stage,$final_class,$admin_notes,$id);
                            if(mysqli_stmt_execute($stmt_update)){$success='تم قبول الطالب وتحويله إلى النظام بنجاح.';} else {$error='حدث خطأ في تحديث الطلب: '.mysqli_stmt_error($stmt_update);}
                            mysqli_stmt_close($stmt_update);
                        }
                    }
                }
            } else {
                mysqli_stmt_close($stmt);
                $error='لم يتم العثور على طلب التسجيل.';
            }
        }
    }
}

if($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['action']) && $_POST['action']=='reject'){
    $id=intval($_POST['id']);
    $admin_notes=isset($_POST['admin_notes'])?trim($_POST['admin_notes']):'';
    $stmt=mysqli_prepare($conn,'UPDATE student_registrations SET status="rejected", admin_notes=? WHERE id=?');
    if($stmt){
        mysqli_stmt_bind_param($stmt,'si',$admin_notes,$id);
        if(mysqli_stmt_execute($stmt))$success='تم رفض الطلب بنجاح.';else $error='حدث خطأ أثناء رفض الطلب: '.mysqli_stmt_error($stmt);
        mysqli_stmt_close($stmt);
    }
}

if($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['action']) && $_POST['action']=='pending'){
    $id=intval($_POST['id']);
    if($id>0){
        mysqli_query($conn,"UPDATE student_registrations SET status='pending' WHERE id='$id' LIMIT 1");
        $success='تمت إعادة الطلب إلى قيد المراجعة.';
    }
}

if($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['action']) && $_POST['action']=='delete'){
    $id=intval($_POST['id']);
    if($id<=0){
        $error='رقم الطالب غير صحيح.';
    } else {
        $stmt=mysqli_prepare($conn,'SELECT student_full_name, stage, class_name, status FROM student_registrations WHERE id=? LIMIT 1');
        if($stmt){
            mysqli_stmt_bind_param($stmt,'i',$id);
            mysqli_stmt_execute($stmt);
            mysqli_stmt_bind_result($stmt,$student_full_name,$stage,$class_name,$status);
            if(mysqli_stmt_fetch($stmt)){
                mysqli_stmt_close($stmt);

                $id_s=intval($id);
                mysqli_query($conn,"DELETE FROM school_supply_distribution_reg WHERE registration_id='$id_s'");
                mysqli_query($conn,"DELETE FROM school_supply_students WHERE registration_id='$id_s'");

                if($status=='accepted'){
                    $stmt_st=mysqli_prepare($conn,'DELETE FROM students WHERE name=? AND stage=? AND `class`=? LIMIT 1');
                    if($stmt_st){
                        mysqli_stmt_bind_param($stmt_st,'sss',$student_full_name,$stage,$class_name);
                        mysqli_stmt_execute($stmt_st);
                        mysqli_stmt_close($stmt_st);
                    }
                }

                $stmt_del=mysqli_prepare($conn,'DELETE FROM student_registrations WHERE id=? LIMIT 1');
                if($stmt_del){
                    mysqli_stmt_bind_param($stmt_del,'i',$id);
                    if(mysqli_stmt_execute($stmt_del)){$success='تم حذف الطالب وطلب التسجيل بنجاح.';} else {$error='حدث خطأ أثناء حذف الطالب: '.mysqli_stmt_error($stmt_del);}
                    mysqli_stmt_close($stmt_del);
                }
            } else {
                mysqli_stmt_close($stmt);
                $error='لم يتم العثور على الطالب.';
            }
        }
    }
}

$total_all=0;$total_pending=0;$total_accepted=0;$total_rejected=0;
$count_q=mysqli_query($conn,"SELECT COUNT(*) total_all, SUM(CASE WHEN status='pending' THEN 1 ELSE 0 END) total_pending, SUM(CASE WHEN status='accepted' THEN 1 ELSE 0 END) total_accepted, SUM(CASE WHEN status='rejected' THEN 1 ELSE 0 END) total_rejected FROM student_registrations");
if($count_q){
    $c=mysqli_fetch_assoc($count_q);
    $total_all=intval($c['total_all']);
    $total_pending=intval($c['total_pending']);
    $total_accepted=intval($c['total_accepted']);
    $total_rejected=intval($c['total_rejected']);
}

$where=' WHERE 1=1 ';
if(isset($_GET['status'])&&$_GET['status']!=''){$status=clean($conn,$_GET['status']);$where.=" AND status='$status' ";}
if(isset($_GET['stage'])&&$_GET['stage']!=''){$stage=clean($conn,$_GET['stage']);$where.=" AND stage='$stage' ";}
if(isset($_GET['q'])&&trim($_GET['q'])!=''){$q=clean($conn,$_GET['q']);$where.=" AND (student_full_name LIKE '%$q%' OR guardian_name LIKE '%$q%' OR guardian_phone LIKE '%$q%' OR mother_name LIKE '%$q%' OR registration_no LIKE '%$q%') ";}
$result=mysqli_query($conn,"SELECT * FROM student_registrations $where ORDER BY id DESC");
?>
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>إدارة طلبات تسجيل الطلبة</title>
<link href="https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800;900&display=swap" rel="stylesheet">
<style>
:root{--navy:#0b2d4d;--dark:#061b30;--gold:#d7a328}*{box-sizing:border-box}body{margin:0;font-family:Cairo,Arial;background:radial-gradient(circle at 10% 8%,rgba(215,163,40,.22),transparent 25%),linear-gradient(135deg,#f8fafc,#eaf0f7,#f6f2e8);color:#132238}.page{width:95%;max-width:1400px;margin:25px auto}.header{background:linear-gradient(135deg,var(--dark),var(--navy));color:#fff;border-radius:30px;padding:24px;display:grid;grid-template-columns:95px 1fr auto;gap:18px;align-items:center;box-shadow:0 25px 70px rgba(6,27,48,.22)}.logo{background:#fff;border:3px solid var(--gold);border-radius:24px;padding:10px;width:90px;height:90px}.logo img{width:100%;height:100%;object-fit:contain}.header h1{margin:0}.header p{margin:6px 0 0;color:#dbeafe}.top-btn{display:inline-flex;text-decoration:none;background:#fff;color:#0b2d4d;border-radius:15px;padding:12px 15px;font-weight:900;margin:3px}.gold{background:#fff7df!important;color:#6e5207!important}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat{background:#fff;border-radius:22px;padding:18px;box-shadow:0 15px 35px rgba(15,23,42,.08)}.stat span{display:block;color:#64748b;font-weight:800;font-size:13px}.stat b{display:block;font-size:28px;color:#0b2d4d}.filters{background:#fff;border-radius:24px;padding:18px;margin-bottom:18px;box-shadow:0 15px 35px rgba(15,23,42,.08)}.filters form{display:grid;grid-template-columns:1.5fr 1fr 1fr auto auto;gap:12px;align-items:end}.field{display:flex;flex-direction:column}label{font-weight:900;color:#334155;margin-bottom:7px;font-size:13px}input,select,textarea{width:100%;padding:12px;border:1px solid #dbe3ef;border-radius:15px;font-family:Cairo}.btn{border:0;border-radius:15px;padding:12px 14px;font-family:Cairo;font-weight:900;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:#0b2d4d;color:#fff}.reset{background:#fff7df;color:#6e5207}.alert{padding:14px;border-radius:16px;margin:15px 0;font-weight:900;text-align:center}.success{background:#dcfce7;color:#166534}.error{background:#fee2e2;color:#991b1b}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.request{background:#fff;border-radius:26px;padding:18px;box-shadow:0 18px 45px rgba(15,23,42,.09)}.top{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f7;padding-bottom:12px;margin-bottom:12px}.name{font-size:21px;font-weight:900;color:#0b2d4d}.reg{color:#64748b;font-size:12px}.status{border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900}.pending{background:#fef3c7;color:#92400e}.accepted{background:#dcfce7;color:#166534}.rejected{background:#fee2e2;color:#991b1b}.info{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.box{background:#f8fafc;border:1px solid #edf2f7;border-radius:14px;padding:10px}.box span{color:#64748b;font-size:12px;font-weight:800}.box b{display:block;margin-top:3px}.thumb{width:70px;height:85px;object-fit:cover;border-radius:12px;border:1px solid #ddd}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.accept{background:#16a34a;color:#fff}.reject{background:#dc2626;color:#fff}.delete{background:#7f1d1d;color:#fff}.pendingBtn{background:#fef3c7;color:#92400e}.modal{display:none;position:fixed;inset:0;background:rgba(6,27,48,.6);align-items:center;justify-content:center;z-index:9999;padding:15px}.modal.show{display:flex}.modal-card{background:#fff;border-radius:24px;padding:20px;max-width:520px;width:100%}.modal-actions{display:grid;grid-template-columns:1fr 120px;gap:10px;margin-top:12px}@media(max-width:1000px){.stats,.grid{grid-template-columns:1fr 1fr}.filters form{grid-template-columns:1fr 1fr}.header{grid-template-columns:1fr;text-align:center}.logo{margin:auto}}@media(max-width:650px){.stats,.grid,.filters form,.info{grid-template-columns:1fr}.modal-actions{grid-template-columns:1fr}}
</style>
</head>
<body>
<div class="page">
<div class="header"><div class="logo"><img src="/sy/school_system/logo.png"></div><div><h1>إدارة طلبات تسجيل الطلبة</h1><p>استعراض ومراجعة طلبات التسجيل وتحويل المقبولين إلى النظام الرسمي.</p><small>قاعدة البيانات: <?php echo h($db_name); ?></small></div><div><a class="top-btn gold" href="student_register.php" target="_blank">فتح التسجيل</a><a class="top-btn" href="admin_uniform_books.php">إدارة الزي والكتب</a><a class="top-btn" href="admin_dashboard.php">لوحة الإدارة</a></div></div>
<?php if($success!=''){ ?><div class="alert success"><?php echo h($success); ?></div><?php } ?>
<?php if($error!=''){ ?><div class="alert error"><?php echo h($error); ?></div><?php } ?>
<div class="stats"><div class="stat"><span>كل الطلبات</span><b><?php echo $total_all; ?></b></div><div class="stat"><span>قيد المراجعة</span><b><?php echo $total_pending; ?></b></div><div class="stat"><span>المقبولين</span><b><?php echo $total_accepted; ?></b></div><div class="stat"><span>المرفوضين</span><b><?php echo $total_rejected; ?></b></div></div>
<div class="filters"><form method="GET"><div class="field"><label>بحث</label><input name="q" value="<?php echo get_value('q'); ?>" placeholder="اسم الطالب أو ولي الأمر أو الهاتف"></div><div class="field"><label>الحالة</label><select name="status"><option value="">كل الحالات</option><option value="pending" <?php echo selected('status','pending'); ?>>قيد المراجعة</option><option value="accepted" <?php echo selected('status','accepted'); ?>>مقبول</option><option value="rejected" <?php echo selected('status','rejected'); ?>>مرفوض</option></select></div><div class="field"><label>المرحلة</label><select name="stage"><option value="">كل المراحل</option><option value="أول متوسط" <?php echo selected('stage','أول متوسط'); ?>>أول متوسط</option><option value="ثاني متوسط" <?php echo selected('stage','ثاني متوسط'); ?>>ثاني متوسط</option><option value="ثالث متوسط" <?php echo selected('stage','ثالث متوسط'); ?>>ثالث متوسط</option><option value="رابع علمي" <?php echo selected('stage','رابع علمي'); ?>>رابع علمي</option><option value="خامس علمي" <?php echo selected('stage','خامس علمي'); ?>>خامس علمي</option><option value="سادس علمي" <?php echo selected('stage','سادس علمي'); ?>>سادس علمي</option></select></div><button class="btn primary" type="submit">تصفية</button><a class="btn reset" href="admin_registrations.php">مسح</a></form></div>
<?php if($result&&mysqli_num_rows($result)>0){ ?><div class="grid"><?php while($row=mysqli_fetch_assoc($result)){ ?><div class="request"><div class="top"><div><div class="name"><?php echo h($row['student_full_name']); ?></div><div class="reg">رقم الطلب: <?php echo h($row['registration_no']); ?></div></div><div class="status <?php echo sr_status_class($row['status']); ?>"><?php echo sr_status_label($row['status']); ?></div></div><div class="info"><div class="box"><span>صورة الطالب</span><b><?php if($row['student_photo']!=''){ ?><img class="thumb" src="<?php echo h($row['student_photo']); ?>"><?php } else { echo '-'; } ?></b></div><div class="box"><span>المرحلة</span><b><?php echo h($row['stage']); ?></b></div><div class="box"><span>الجنس</span><b><?php echo $row['gender']!=''?h($row['gender']):'-'; ?></b></div><div class="box"><span>تاريخ الميلاد</span><b><?php echo $row['birth_date']!=''?h($row['birth_date']):'-'; ?></b></div><div class="box"><span>ولي الأمر</span><b><?php echo h($row['guardian_name']); ?></b></div><div class="box"><span>هاتف ولي الأمر</span><b><?php echo h($row['guardian_phone']); ?></b></div><div class="box"><span>العنوان</span><b><?php echo $row['address']!=''?h($row['address']):'-'; ?></b></div><div class="box"><span>الخريطة</span><b><?php if($row['map_link']!=''){ ?><a target="_blank" href="<?php echo h($row['map_link']); ?>">فتح الموقع</a><?php } else { echo '-'; } ?></b></div><div class="box"><span>اسم الأم</span><b><?php echo h($row['mother_name']); ?></b></div><div class="box"><span>هاتف الأم</span><b><?php echo $row['mother_phone']!=''?h($row['mother_phone']):'-'; ?></b></div><div class="box"><span>تاريخ الطلب</span><b><?php echo h($row['created_at']); ?></b></div><div class="box"><span>ملاحظات الإدارة</span><b><?php echo $row['admin_notes']!=''?h($row['admin_notes']):'-'; ?></b></div></div><div class="actions"><?php if($row['status']!='accepted'){ ?><button type="button" class="btn accept" onclick="openAcceptModal('<?php echo intval($row['id']); ?>','<?php echo h($row['student_full_name']); ?>','<?php echo h($row['stage']); ?>')">قبول وتحويل</button><?php } ?><?php if($row['status']!='rejected'){ ?><button type="button" class="btn reject" onclick="openRejectModal('<?php echo intval($row['id']); ?>','<?php echo h($row['student_full_name']); ?>')">رفض</button><?php } ?><?php if($row['status']!='pending'){ ?><form method="POST"><input type="hidden" name="action" value="pending"><input type="hidden" name="id" value="<?php echo intval($row['id']); ?>"><button class="btn pendingBtn" type="submit">إرجاع للمراجعة</button></form><?php } ?><button type="button" class="btn delete" onclick="openDeleteModal('<?php echo intval($row['id']); ?>','<?php echo h($row['student_full_name']); ?>')">حذف الطالب</button></div></div><?php } ?></div><?php } else { ?><div class="request">لا توجد طلبات.</div><?php } ?>
</div>
<div class="modal" id="acceptModal"><div class="modal-card"><h2>قبول وتحويل الطالب</h2><div id="acceptStudentName"></div><form method="POST"><input type="hidden" name="action" value="accept"><input type="hidden" name="id" id="acceptId"><label>المرحلة النهائية</label><select name="final_stage" id="acceptStage" required><option value="">اختر</option><option value="الأول المتوسط">الأول المتوسط</option><option value="الثاني المتوسط">الثاني المتوسط</option><option value="الثالث المتوسط">الثالث المتوسط</option><option value="الرابع العلمي">الرابع العلمي</option><option value="الخامس العلمي">الخامس العلمي</option><option value="السادس العلمي">السادس العلمي</option></select><label>الشعبة</label><input name="final_class" required><label>ملاحظات الإدارة</label><textarea name="admin_notes"></textarea><div class="modal-actions"><button class="btn accept" type="submit">تأكيد</button><button type="button" class="btn reset" onclick="closeModals()">إلغاء</button></div></form></div></div>
<div class="modal" id="rejectModal"><div class="modal-card"><h2>رفض الطلب</h2><div id="rejectStudentName"></div><form method="POST"><input type="hidden" name="action" value="reject"><input type="hidden" name="id" id="rejectId"><label>سبب الرفض</label><textarea name="admin_notes"></textarea><div class="modal-actions"><button class="btn reject" type="submit">تأكيد الرفض</button><button type="button" class="btn reset" onclick="closeModals()">إلغاء</button></div></form></div></div>
<div class="modal" id="deleteModal"><div class="modal-card"><h2>حذف الطالب</h2><div id="deleteStudentName"></div><p style="color:#991b1b;font-weight:900;line-height:1.8">تنبيه: سيتم حذف طلب التسجيل، وإزالة الطالب من قائمة الزي والكتب، وإذا كان مقبولاً سيتم حذفه من جدول الطلاب الرسمي أيضاً.</p><form method="POST"><input type="hidden" name="action" value="delete"><input type="hidden" name="id" id="deleteId"><div class="modal-actions"><button class="btn delete" type="submit">تأكيد الحذف</button><button type="button" class="btn reset" onclick="closeModals()">إلغاء</button></div></form></div></div>
<script>
function norm(s){if(s==='أول متوسط')return'الأول المتوسط';if(s==='ثاني متوسط')return'الثاني المتوسط';if(s==='ثالث متوسط')return'الثالث المتوسط';if(s==='رابع علمي')return'الرابع العلمي';if(s==='خامس علمي')return'الخامس العلمي';if(s==='سادس علمي')return'السادس العلمي';return s;}
function openAcceptModal(id,n,s){document.getElementById('acceptId').value=id;document.getElementById('acceptStudentName').innerHTML='الطالب: <b>'+n+'</b>';document.getElementById('acceptStage').value=norm(s);document.getElementById('acceptModal').className='modal show';}
function openRejectModal(id,n){document.getElementById('rejectId').value=id;document.getElementById('rejectStudentName').innerHTML='الطالب: <b>'+n+'</b>';document.getElementById('rejectModal').className='modal show';}
function openDeleteModal(id,n){document.getElementById('deleteId').value=id;document.getElementById('deleteStudentName').innerHTML='الطالب: <b>'+n+'</b>';document.getElementById('deleteModal').className='modal show';}
function closeModals(){document.getElementById('acceptModal').className='modal';document.getElementById('rejectModal').className='modal';document.getElementById('deleteModal').className='modal';}
</script>
</body>
</html>
