File "debug-quiz.php"

Full path: /home/algopkco/public_html/public/debug-quiz.php
File size: 4.48 B (4.48 KB bytes)
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor &nnbsp; Back

<?php
// Debug script to check quiz questions
require __DIR__ . '/../vendor/autoload.php';

$app = require_once __DIR__ . '/../bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$kernel->bootstrap();

echo "<h1>Quiz Debug Information</h1>";
echo "<style>body { font-family: Arial; padding: 20px; } table { border-collapse: collapse; width: 100%; } th, td { border: 1px solid #ddd; padding: 8px; text-align: left; } th { background-color: #4CAF50; color: white; } .error { color: red; font-weight: bold; } .success { color: green; font-weight: bold; }</style>";

try {
    // Find the quiz
    $quiz = App\Models\Quiz::where('slug', 'mcqaa')->first();
    
    if (!$quiz) {
        echo "<p class='error'>❌ Quiz with slug 'mcqaa' not found!</p>";
        
        // Show available quizzes
        $quizzes = App\Models\Quiz::select('id', 'slug', 'title')->limit(10)->get();
        echo "<h2>Available Quizzes:</h2>";
        echo "<table><tr><th>ID</th><th>Slug</th><th>Title</th></tr>";
        foreach ($quizzes as $q) {
            echo "<tr><td>{$q->id}</td><td>{$q->slug}</td><td>{$q->title}</td></tr>";
        }
        echo "</table>";
        exit;
    }
    
    echo "<p class='success'>✅ Quiz Found!</p>";
    echo "<table>";
    echo "<tr><th>Property</th><th>Value</th></tr>";
    echo "<tr><td>ID</td><td>{$quiz->id}</td></tr>";
    echo "<tr><td>Title</td><td>{$quiz->title}</td></tr>";
    echo "<tr><td>Slug</td><td>{$quiz->slug}</td></tr>";
    echo "<tr><td>Exam Type</td><td>{$quiz->exam_type}</td></tr>";
    echo "<tr><td>Enable Random Questions</td><td>" . ($quiz->enable_random_questions ? 'Yes' : 'No') . "</td></tr>";
    echo "<tr><td>Questions to Display</td><td>{$quiz->questions_to_display}</td></tr>";
    echo "</table>";
    
    // Check questions in database
    $questionsInDB = DB::table('questionbank_quizzes')
        ->where('quize_id', $quiz->id)
        ->get();
    
    echo "<h2>Questions in Database</h2>";
    echo "<p><strong>Total Questions: " . count($questionsInDB) . "</strong></p>";
    
    if (count($questionsInDB) > 0) {
        echo "<table>";
        echo "<tr><th>#</th><th>Question ID</th><th>Subject ID</th><th>Marks</th></tr>";
        $i = 1;
        foreach ($questionsInDB as $q) {
            echo "<tr><td>{$i}</td><td>{$q->questionbank_id}</td><td>{$q->subject_id}</td><td>{$q->marks}</td></tr>";
            $i++;
        }
        echo "</table>";
        
        // Test getQuestions method
        echo "<h2>Testing getQuestions() Method</h2>";
        $questions = $quiz->getQuestions();
        echo "<p><strong>Returned Questions: " . count($questions) . "</strong></p>";
        
        // Test prepareQuestions method
        echo "<h2>Testing prepareQuestions() Method</h2>";
        $user = Auth::user();
        $user_id = $user ? $user->id : null;
        echo "<p>User ID: " . ($user_id ?? 'NULL (Guest)') . "</p>";
        
        try {
            $prepared = $quiz->prepareQuestions($questions, '', $user_id);
            echo "<p class='success'>✅ prepareQuestions() executed successfully</p>";
            echo "<p><strong>Prepared Questions Count: " . count($prepared['questions']) . "</strong></p>";
            echo "<p><strong>Prepared Subjects Count: " . count($prepared['subjects']) . "</strong></p>";
            
            if (count($prepared['questions']) > 0) {
                echo "<h3>First Question Details:</h3>";
                $first = $prepared['questions'][0];
                echo "<pre>";
                echo "ID: " . $first->id . "\n";
                echo "Question: " . substr(strip_tags($first->question), 0, 100) . "...\n";
                echo "Type: " . $first->question_type . "\n";
                echo "Marks: " . $first->marks . "\n";
                echo "</pre>";
            }
        } catch (Exception $e) {
            echo "<p class='error'>❌ Error in prepareQuestions(): " . $e->getMessage() . "</p>";
            echo "<pre>" . $e->getTraceAsString() . "</pre>";
        }
        
    } else {
        echo "<p class='error'>❌ No questions found for this quiz!</p>";
        echo "<p>Please add questions to this quiz from the admin panel.</p>";
    }
    
} catch (Exception $e) {
    echo "<p class='error'>❌ Error: " . $e->getMessage() . "</p>";
    echo "<pre>" . $e->getTraceAsString() . "</pre>";
}

echo "<hr><p><a href='/testapp/exams/student/start-exam/mcqaa'>← Back to Quiz</a></p>";