Sindbad~EG File Manager

Current Path : /home/copmadinaarea/thecopmadinaarea.org/portal/
Upload File :
Current File : /home/copmadinaarea/thecopmadinaarea.org/portal/debug_codes.php

<?php
require_once 'config/config.php';

echo "<h2>Debug Member Codes System</h2>";

try {
    $db = Database::getInstance()->getConnection();
    
    // Check if tables exist
    echo "<h3>1. Table Existence Check</h3>";
    
    $tables = ['events', 'memberuser_codes', 'members'];
    foreach ($tables as $table) {
        $stmt = $db->query("SHOW TABLES LIKE '{$table}'");
        if ($stmt->fetch()) {
            echo "<p style='color: green;'>✅ Table '{$table}' exists</p>";
        } else {
            echo "<p style='color: red;'>❌ Table '{$table}' does not exist</p>";
        }
    }
    
    // Check events
    echo "<h3>2. Events Data</h3>";
    try {
        $stmt = $db->query("SELECT COUNT(*) as count FROM events");
        $result = $stmt->fetch();
        echo "<p>Events count: " . $result['count'] . "</p>";
        
        if ($result['count'] > 0) {
            $stmt = $db->query("SELECT id, name FROM events LIMIT 5");
            $events = $stmt->fetchAll();
            echo "<ul>";
            foreach ($events as $event) {
                echo "<li>ID: {$event['id']}, Name: {$event['name']}</li>";
            }
            echo "</ul>";
        }
    } catch (Exception $e) {
        echo "<p style='color: red;'>Error checking events: " . $e->getMessage() . "</p>";
    }
    
    // Check member codes
    echo "<h3>3. Member Codes Data</h3>";
    try {
        $stmt = $db->query("SELECT COUNT(*) as count FROM memberuser_codes WHERE code_type = 'member'");
        $result = $stmt->fetch();
        echo "<p>Member codes count: " . $result['count'] . "</p>";
        
        if ($result['count'] > 0) {
            $stmt = $db->query("SELECT mc.id, mc.tracking_code, mc.member_id, m.first_name, m.last_name FROM memberuser_codes mc JOIN members m ON mc.member_id = m.id WHERE mc.code_type = 'member' LIMIT 5");
            $codes = $stmt->fetchAll();
            echo "<ul>";
            foreach ($codes as $code) {
                echo "<li>ID: {$code['id']}, Code: {$code['tracking_code']}, Member: {$code['first_name']} {$code['last_name']}</li>";
            }
            echo "</ul>";
        }
    } catch (Exception $e) {
        echo "<p style='color: red;'>Error checking member codes: " . $e->getMessage() . "</p>";
    }
    
    // Check members
    echo "<h3>4. Members Data</h3>";
    try {
        $stmt = $db->query("SELECT COUNT(*) as count FROM members WHERE is_active = 1");
        $result = $stmt->fetch();
        echo "<p>Active members count: " . $result['count'] . "</p>";
        
        if ($result['count'] > 0) {
            // Check if membershipcard_id column exists
            $columnExists = false;
            try {
                $checkStmt = $db->query("SHOW COLUMNS FROM members LIKE 'membershipcard_id'");
                $columnExists = $checkStmt->fetch() !== false;
            } catch (PDOException $e) {
                // Column doesn't exist
            }
            
            $memberIdField = $columnExists ? 'm.membershipcard_id' : 'CONCAT("MC", YEAR(CURDATE()), LPAD(m.id, 6, "0")) as membershipcard_id';
            
            $stmt = $db->query("SELECT m.id, m.first_name, m.last_name, {$memberIdField} FROM members m WHERE m.is_active = 1 LIMIT 5");
            $members = $stmt->fetchAll();
            echo "<ul>";
            foreach ($members as $member) {
                echo "<li>ID: {$member['id']}, Name: {$member['first_name']} {$member['last_name']}, Card ID: {$member['membershipcard_id']}</li>";
            }
            echo "</ul>";
        }
    } catch (Exception $e) {
        echo "<p style='color: red;'>Error checking members: " . $e->getMessage() . "</p>";
    }
    
    // Test API endpoint
    echo "<h3>5. API Test</h3>";
    if (isset($_GET['test_member_id'])) {
        $memberId = $_GET['test_member_id'];
        echo "<p>Testing API for member ID: {$memberId}</p>";
        
        // Simulate API call
        $_GET['member_id'] = $memberId;
        ob_start();
        include 'api/get-member-codes.php';
        $apiResponse = ob_get_clean();
        
        echo "<pre style='background: #f5f5f5; padding: 10px; border: 1px solid #ddd;'>";
        echo htmlspecialchars($apiResponse);
        echo "</pre>";
    } else {
        // Show first member ID for testing
        try {
            $stmt = $db->query("SELECT id FROM members WHERE is_active = 1 LIMIT 1");
            $member = $stmt->fetch();
            if ($member) {
                echo "<p><a href='?test_member_id={$member['id']}'>Test API with Member ID: {$member['id']}</a></p>";
            }
        } catch (Exception $e) {
            echo "<p style='color: red;'>Error getting test member: " . $e->getMessage() . "</p>";
        }
    }
    
} catch (Exception $e) {
    echo "<p style='color: red;'>Database connection error: " . $e->getMessage() . "</p>";
}

echo "<hr>";
echo "<p><a href='modules/membership/cards.php'>← Back to Cards</a> | <a href='modules/membership/codes.php'>Codes Page</a></p>";
?>

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists