<?php
session_start();
require_once '../config/database.php';

// Set session for testing
$_SESSION['user_id'] = 1;
$_SESSION['user_role'] = 'admin';

$step = $_GET['step'] ?? '1';
?>
<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>সার্চ সমস্যা সমাধান</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&display=swap" rel="stylesheet">
    <style>
        body { font-family: 'Hind Siliguri', sans-serif; }
        .step-card { margin-bottom: 20px; }
        .test-result { padding: 10px; margin: 10px 0; border-radius: 5px; }
        .test-success { background-color: #d4edda; border: 1px solid #c3e6cb; }
        .test-error { background-color: #f8d7da; border: 1px solid #f5c6cb; }
        .test-warning { background-color: #fff3cd; border: 1px solid #ffeaa7; }
    </style>
</head>
<body>
    <div class="container mt-4">
        <div class="row">
            <div class="col-md-12">
                <div class="card">
                    <div class="card-header bg-primary text-white">
                        <h4><i class="fas fa-tools"></i> সার্চ সমস্যা সমাধান</h4>
                    </div>
                    <div class="card-body">
                        
                        <!-- Step Navigation -->
                        <div class="row mb-4">
                            <div class="col-md-12">
                                <div class="btn-group" role="group">
                                    <a href="?step=1" class="btn <?php echo $step == '1' ? 'btn-primary' : 'btn-outline-primary'; ?>">১. ডাটাবেস চেক</a>
                                    <a href="?step=2" class="btn <?php echo $step == '2' ? 'btn-primary' : 'btn-outline-primary'; ?>">২. API চেক</a>
                                    <a href="?step=3" class="btn <?php echo $step == '3' ? 'btn-primary' : 'btn-outline-primary'; ?>">৩. UI চেক</a>
                                    <a href="?step=4" class="btn <?php echo $step == '4' ? 'btn-primary' : 'btn-outline-primary'; ?>">৪. সমাধান</a>
                                </div>
                            </div>
                        </div>

                        <?php if ($step == '1'): ?>
                        <!-- Step 1: Database Check -->
                        <div class="step-card">
                            <h5><i class="fas fa-database"></i> ধাপ ১: ডাটাবেস পরীক্ষা</h5>
                            
                            <?php
                            $db_issues = [];
                            $db_success = [];
                            
                            try {
                                // Check database connection
                                $pdo->query("SELECT 1");
                                $db_success[] = "ডাটাবেস কানেকশন সফল";
                                
                                // Check students table
                                $stmt = $pdo->query("DESCRIBE students");
                                $columns = $stmt->fetchAll();
                                $required_columns = ['id', 'first_name', 'last_name', 'roll_number', 'student_id', 'phone', 'parent_phone', 'class_id', 'session', 'status'];
                                
                                $existing_columns = array_column($columns, 'Field');
                                $missing_columns = array_diff($required_columns, $existing_columns);
                                
                                if (empty($missing_columns)) {
                                    $db_success[] = "students টেবিলের সব প্রয়োজনীয় কলাম আছে";
                                } else {
                                    $db_issues[] = "students টেবিলে অনুপস্থিত কলাম: " . implode(', ', $missing_columns);
                                }
                                
                                // Check classes table
                                $stmt = $pdo->query("DESCRIBE classes");
                                $db_success[] = "classes টেবিল পাওয়া গেছে";
                                
                                // Check data count
                                $stmt = $pdo->query("SELECT COUNT(*) as total FROM students WHERE status = 'active'");
                                $student_count = $stmt->fetch()['total'];
                                
                                if ($student_count > 0) {
                                    $db_success[] = "মোট সক্রিয় শিক্ষার্থী: $student_count জন";
                                } else {
                                    $db_issues[] = "কোন সক্রিয় শিক্ষার্থী নেই";
                                }
                                
                                // Check sample data
                                $stmt = $pdo->query("SELECT first_name, last_name, roll_number, student_id, phone FROM students WHERE status = 'active' LIMIT 3");
                                $samples = $stmt->fetchAll();
                                
                                if ($samples) {
                                    $db_success[] = "নমুনা ডাটা পাওয়া গেছে";
                                    echo "<div class='test-success'>";
                                    echo "<strong>নমুনা ডাটা:</strong><br>";
                                    foreach ($samples as $sample) {
                                        echo "- " . htmlspecialchars($sample['first_name'] . ' ' . $sample['last_name']) . 
                                             " (রোল: " . htmlspecialchars($sample['roll_number']) . 
                                             ", আইডি: " . htmlspecialchars($sample['student_id'] ?? 'N/A') . 
                                             ", ফোন: " . htmlspecialchars($sample['phone'] ?? 'N/A') . ")<br>";
                                    }
                                    echo "</div>";
                                }
                                
                            } catch (Exception $e) {
                                $db_issues[] = "ডাটাবেস ত্রুটি: " . $e->getMessage();
                            }
                            
                            // Display results
                            foreach ($db_success as $success) {
                                echo "<div class='test-success'><i class='fas fa-check'></i> $success</div>";
                            }
                            
                            foreach ($db_issues as $issue) {
                                echo "<div class='test-error'><i class='fas fa-times'></i> $issue</div>";
                            }
                            
                            if (empty($db_issues)) {
                                echo "<div class='test-success'><strong>ডাটাবেস সব ঠিক আছে! পরবর্তী ধাপে যান।</strong></div>";
                            } else {
                                echo "<div class='test-warning'><strong>ডাটাবেস সমস্যা আছে। সমাধান করুন:</strong></div>";
                                if (in_array("কোন সক্রিয় শিক্ষার্থী নেই", $db_issues)) {
                                    echo "<a href='create_demo_students.php' class='btn btn-primary mt-2'>ডেমো ডাটা তৈরি করুন</a>";
                                }
                            }
                            ?>
                        </div>
                        
                        <?php elseif ($step == '2'): ?>
                        <!-- Step 2: API Check -->
                        <div class="step-card">
                            <h5><i class="fas fa-code"></i> ধাপ ২: API পরীক্ষা</h5>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <h6>API টেস্ট</h6>
                                    <button class="btn btn-primary" onclick="testAPI('রহিম', 'name')">নাম সার্চ টেস্ট</button>
                                    <button class="btn btn-primary" onclick="testAPI('101', 'roll')">রোল সার্চ টেস্ট</button>
                                    <button class="btn btn-primary" onclick="testAPI('STU001', 'student_id')">আইডি সার্চ টেস্ট</button>
                                    <div id="api-results" class="mt-3"></div>
                                </div>
                                
                                <div class="col-md-6">
                                    <h6>ম্যানুয়াল টেস্ট</h6>
                                    <form onsubmit="return testCustomAPI(event)">
                                        <div class="mb-2">
                                            <input type="text" id="custom-search" class="form-control" placeholder="সার্চ টেক্সট">
                                        </div>
                                        <div class="mb-2">
                                            <select id="custom-type" class="form-select">
                                                <option value="name">নাম</option>
                                                <option value="roll">রোল</option>
                                                <option value="student_id">আইডি</option>
                                                <option value="phone">ফোন</option>
                                            </select>
                                        </div>
                                        <button type="submit" class="btn btn-success">টেস্ট করুন</button>
                                    </form>
                                </div>
                            </div>
                        </div>
                        
                        <?php elseif ($step == '3'): ?>
                        <!-- Step 3: UI Check -->
                        <div class="step-card">
                            <h5><i class="fas fa-desktop"></i> ধাপ ৩: UI পরীক্ষা</h5>
                            
                            <div class="alert alert-info">
                                <h6>UI টেস্ট করার জন্য:</h6>
                                <ol>
                                    <li><a href="invoice.php?debug=1" target="_blank">ডিবাগ মোডে ইনভয়েজ পেজ</a> খুলুন</li>
                                    <li>সার্চ বক্সে কিছু টাইপ করুন</li>
                                    <li>ব্রাউজার কনসোল (F12) চেক করুন</li>
                                    <li>ডিবাগ তথ্য দেখুন</li>
                                </ol>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <h6>সাধারণ UI সমস্যা:</h6>
                                    <ul>
                                        <li>সার্চ বক্সে টাইপ করার পর কিছু হয় না</li>
                                        <li>লোডিং দেখায় কিন্তু রেজাল্ট আসে না</li>
                                        <li>এরর মেসেজ দেখায়</li>
                                        <li>রেজাল্ট ক্লিক করা যায় না</li>
                                    </ul>
                                </div>
                                
                                <div class="col-md-6">
                                    <h6>চেক করার বিষয়:</h6>
                                    <ul>
                                        <li>JavaScript কনসোল এরর</li>
                                        <li>Network ট্যাবে API কল</li>
                                        <li>API রেসপন্স ডাটা</li>
                                        <li>DOM এলিমেন্ট আপডেট</li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                        
                        <?php elseif ($step == '4'): ?>
                        <!-- Step 4: Solutions -->
                        <div class="step-card">
                            <h5><i class="fas fa-wrench"></i> ধাপ ৪: সমাধান</h5>
                            
                            <div class="accordion" id="solutionAccordion">
                                <div class="accordion-item">
                                    <h2 class="accordion-header">
                                        <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#solution1">
                                            সমস্যা ১: কোন ডাটা পাওয়া যাচ্ছে না
                                        </button>
                                    </h2>
                                    <div id="solution1" class="accordion-collapse collapse show">
                                        <div class="accordion-body">
                                            <strong>সমাধান:</strong>
                                            <ol>
                                                <li><a href="create_demo_students.php">ডেমো ডাটা তৈরি করুন</a></li>
                                                <li>ডাটাবেস কানেকশন চেক করুন</li>
                                                <li>students টেবিলে ডাটা আছে কিনা দেখুন</li>
                                            </ol>
                                        </div>
                                    </div>
                                </div>
                                
                                <div class="accordion-item">
                                    <h2 class="accordion-header">
                                        <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#solution2">
                                            সমস্যা ২: সার্চ কাজ করছে না
                                        </button>
                                    </h2>
                                    <div id="solution2" class="accordion-collapse collapse">
                                        <div class="accordion-body">
                                            <strong>সমাধান:</strong>
                                            <ol>
                                                <li><a href="quick_search_test.php">দ্রুত সার্চ টেস্ট</a> করুন</li>
                                                <li>API ফাইল চেক করুন: <code>/api/get_students_simple.php</code></li>
                                                <li>JavaScript কনসোল এরর দেখুন</li>
                                                <li>Network ট্যাবে API রেসপন্স দেখুন</li>
                                            </ol>
                                        </div>
                                    </div>
                                </div>
                                
                                <div class="accordion-item">
                                    <h2 class="accordion-header">
                                        <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#solution3">
                                            সমস্যা ৩: ভুল রেজাল্ট আসছে
                                        </button>
                                    </h2>
                                    <div id="solution3" class="accordion-collapse collapse">
                                        <div class="accordion-body">
                                            <strong>সমাধান:</strong>
                                            <ol>
                                                <li>সার্চ টাইপ সঠিক আছে কিনা দেখুন</li>
                                                <li>ডাটাবেস ডাটা চেক করুন</li>
                                                <li>SQL কোয়েরি ডিবাগ করুন</li>
                                                <li>Character encoding চেক করুন</li>
                                            </ol>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <?php endif; ?>
                        
                        <!-- Navigation -->
                        <div class="row mt-4">
                            <div class="col-md-12">
                                <div class="d-flex justify-content-between">
                                    <div>
                                        <?php if ($step > 1): ?>
                                        <a href="?step=<?php echo $step - 1; ?>" class="btn btn-secondary">
                                            <i class="fas fa-arrow-left"></i> পূর্ববর্তী
                                        </a>
                                        <?php endif; ?>
                                    </div>
                                    
                                    <div>
                                        <a href="quick_search_test.php" class="btn btn-info">দ্রুত টেস্ট</a>
                                        <a href="invoice.php" class="btn btn-primary">ইনভয়েজ পেজ</a>
                                    </div>
                                    
                                    <div>
                                        <?php if ($step < 4): ?>
                                        <a href="?step=<?php echo $step + 1; ?>" class="btn btn-secondary">
                                            পরবর্তী <i class="fas fa-arrow-right"></i>
                                        </a>
                                        <?php endif; ?>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        function testAPI(searchText, searchBy) {
            const resultsDiv = document.getElementById('api-results');
            resultsDiv.innerHTML = '<div class="alert alert-info">টেস্ট করা হচ্ছে...</div>';
            
            const params = new URLSearchParams({
                search_text: searchText,
                search_by: searchBy,
                debug: '1'
            });
            
            fetch(`../api/get_students_simple.php?${params.toString()}`)
                .then(response => response.text())
                .then(text => {
                    let html = '<div class="test-result">';
                    html += `<strong>টেস্ট: "${searchText}" (${searchBy})</strong><br>`;
                    
                    try {
                        const data = JSON.parse(text);
                        if (data.students && Array.isArray(data.students)) {
                            html += `<div class="test-success">সফল! ${data.students.length} জন পাওয়া গেছে</div>`;
                            if (data.debug) {
                                html += `<small>SQL: ${data.debug.sql_query}</small>`;
                            }
                        } else if (Array.isArray(data)) {
                            html += `<div class="test-success">সফল! ${data.length} জন পাওয়া গেছে</div>`;
                        } else if (data.error) {
                            html += `<div class="test-error">ত্রুটি: ${data.message}</div>`;
                        } else {
                            html += `<div class="test-warning">অজানা রেসপন্স ফরম্যাট</div>`;
                        }
                    } catch (e) {
                        html += `<div class="test-error">JSON Parse Error: ${e.message}</div>`;
                        html += `<pre>${text.substring(0, 200)}...</pre>`;
                    }
                    
                    html += '</div>';
                    resultsDiv.innerHTML = html;
                })
                .catch(error => {
                    resultsDiv.innerHTML = `<div class="test-error">Network Error: ${error.message}</div>`;
                });
        }
        
        function testCustomAPI(event) {
            event.preventDefault();
            const searchText = document.getElementById('custom-search').value;
            const searchBy = document.getElementById('custom-type').value;
            
            if (!searchText) {
                alert('সার্চ টেক্সট দিন');
                return false;
            }
            
            testAPI(searchText, searchBy);
            return false;
        }
    </script>
</body>
</html>