<?php
/**
 * Debug which shortcode is actually registered
 * Quick test script
 */

// WordPress bootstrap  
define('WP_USE_THEMES', false);

// Try multiple possible paths to find wp-load.php
$possible_paths = [
    __DIR__ . '/wp-load.php',
    __DIR__ . '/../wp-load.php', 
    __DIR__ . '/../../wp-load.php',
    __DIR__ . '/../../../wp-load.php',
    __DIR__ . '/../../../../wp-load.php'
];

$wp_loaded = false;
foreach ($possible_paths as $path) {
    if (file_exists($path)) {
        require_once($path);
        $wp_loaded = true;
        break;
    }
}

if (!$wp_loaded) {
    die('Could not find wp-load.php');
}

header('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html>
<html>
<head>
    <title>Shortcode Debug</title>
    <style>
        body { font-family: Arial, sans-serif; margin: 20px; }
        .pass { color: green; } .fail { color: red; } .info { color: blue; }
        pre { background: #f5f5f5; padding: 10px; border-radius: 4px; }
    </style>
</head>
<body>

<h1>Shortcode Registration Debug</h1>

<?php
global $shortcode_tags;

echo "<h2>Registered Shortcodes</h2>";
$hvac_shortcodes = [];
foreach ($shortcode_tags as $tag => $callback) {
    if (strpos($tag, 'hvac_') === 0 || strpos($tag, 'tribe_') === 0) {
        $hvac_shortcodes[$tag] = $callback;
    }
}

if (empty($hvac_shortcodes)) {
    echo "<p class='fail'>No HVAC or TEC shortcodes found!</p>";
} else {
    echo "<table border='1' style='border-collapse: collapse;'>";
    echo "<tr><th>Shortcode</th><th>Callback</th><th>Test</th></tr>";
    
    foreach ($hvac_shortcodes as $tag => $callback) {
        echo "<tr>";
        echo "<td><code>[$tag]</code></td>";
        
        if (is_array($callback)) {
            $class = is_object($callback[0]) ? get_class($callback[0]) : $callback[0];
            echo "<td><code>$class::{$callback[1]}()</code></td>";
        } else {
            echo "<td><code>$callback</code></td>";
        }
        
        // Test the shortcode
        echo "<td>";
        if ($tag === 'hvac_create_event' || $tag === 'hvac_edit_event') {
            ob_start();
            $output = do_shortcode("[$tag]");
            $errors = ob_get_clean();
            
            if ($errors) {
                echo "<span class='fail'>PHP Errors</span>";
            } elseif (strlen($output) > 100) {
                echo "<span class='pass'>Renders (" . strlen($output) . " chars)</span>";
            } elseif (strlen($output) > 0) {
                echo "<span class='info'>Short output (" . strlen($output) . " chars)</span>";
            } else {
                echo "<span class='fail'>No output</span>";
            }
        } else {
            echo "<span class='info'>Not tested</span>";
        }
        echo "</td>";
        
        echo "</tr>";
    }
    echo "</table>";
}

// Test specific shortcodes
echo "<h2>Direct Tests</h2>";

echo "<h3>Testing [hvac_create_event]</h3>";
if (shortcode_exists('hvac_create_event')) {
    ob_start();
    $create_output = do_shortcode('[hvac_create_event]');
    $create_errors = ob_get_clean();
    
    if ($create_errors) {
        echo "<div class='fail'><strong>Errors:</strong><pre>" . esc_html($create_errors) . "</pre></div>";
    }
    
    if (strlen($create_output) > 0) {
        echo "<div class='pass'><strong>Output length:</strong> " . strlen($create_output) . " characters</div>";
        echo "<div><strong>Contains TEC form:</strong> " . (strpos($create_output, 'tribe-events') !== false ? 'Yes' : 'No') . "</div>";
        echo "<div><strong>Contains error:</strong> " . (strpos($create_output, 'required but not active') !== false ? 'Yes' : 'No') . "</div>";
    } else {
        echo "<div class='fail'>No output generated</div>";
    }
} else {
    echo "<p class='fail'>hvac_create_event shortcode not registered</p>";
}

echo "<h3>Testing [hvac_edit_event]</h3>";
if (shortcode_exists('hvac_edit_event')) {
    ob_start();
    $edit_output = do_shortcode('[hvac_edit_event]');
    $edit_errors = ob_get_clean();
    
    if ($edit_errors) {
        echo "<div class='fail'><strong>Errors:</strong><pre>" . esc_html($edit_errors) . "</pre></div>";
    }
    
    if (strlen($edit_output) > 0) {
        echo "<div class='pass'><strong>Output length:</strong> " . strlen($edit_output) . " characters</div>";
        echo "<div><strong>Contains TEC form:</strong> " . (strpos($edit_output, 'tribe-events') !== false ? 'Yes' : 'No') . "</div>";
        echo "<div><strong>Contains error:</strong> " . (strpos($edit_output, 'required but not active') !== false ? 'Yes' : 'No') . "</div>";
    } else {
        echo "<div class='fail'>No output generated</div>";
    }
} else {
    echo "<p class='fail'>hvac_edit_event shortcode not registered</p>";
}

echo "<h3>Testing [tribe_community_events]</h3>";
if (shortcode_exists('tribe_community_events')) {
    echo "<p class='pass'>tribe_community_events shortcode is registered</p>";
    
    ob_start();
    $tec_output = do_shortcode('[tribe_community_events view="submission_form"]');
    $tec_errors = ob_get_clean();
    
    if ($tec_errors) {
        echo "<div class='fail'><strong>Errors:</strong><pre>" . esc_html($tec_errors) . "</pre></div>";
    }
    
    echo "<div><strong>Output length:</strong> " . strlen($tec_output) . " characters</div>";
    if (strlen($tec_output) > 500) {
        echo "<div class='pass'>Substantial output generated - likely working</div>";
    } elseif (strlen($tec_output) > 0) {
        echo "<div class='info'>Some output generated</div>";
    } else {
        echo "<div class='fail'>No output from TEC shortcode</div>";
    }
} else {
    echo "<p class='fail'>tribe_community_events shortcode NOT registered - TEC plugin issue</p>";
}

?>

</body>
</html>
<?php