Your IP : 216.73.217.79


Current Path : /var/www/cesa.co.za/crons/
Upload File :
Current File : /var/www/cesa.co.za/crons/awards-from-forminator-debug.php

<?php

// Start output buffering to prevent "headers already sent" warnings
ob_start();

// Enhanced error reporting
ini_set('display_errors', 1);
ini_set('log_errors', 1);
error_reporting(E_ALL);

// Set error log file
ini_set('error_log', '/tmp/awards-debug.log');

// Set required server variables for WordPress
if (!isset($_SERVER['HTTP_HOST'])) {
    $_SERVER['HTTP_HOST'] = 'localhost';
}
if (!isset($_SERVER['REQUEST_URI'])) {
    $_SERVER['REQUEST_URI'] = '/';
}

echo "=== Starting Awards Script Debug ===\n";
echo "PHP Version: " . phpversion() . "\n";
echo "Current working directory: " . getcwd() . "\n";

// Step 1: Set document root
if (!isset($_SERVER['DOCUMENT_ROOT']) || strlen($_SERVER['DOCUMENT_ROOT']) <= 0) {
    $_SERVER['DOCUMENT_ROOT'] = str_replace('/crons', '', getcwd());
}

echo "Document root set to: " . $_SERVER['DOCUMENT_ROOT'] . "\n";

// Step 2: Check if required files exist
$required_files = [
    "/ADOdb/adodb.inc.php",
    "/vendor/autoload.php",
    "/cfg/config.php",
    "/php/includes/sqlFunctions.php",
    "/php/includes/BaseTableClass.php",
    "/php/includes/MemberFirm.php",
    "/wp-load.php"
];

echo "\n=== Checking required files ===\n";
foreach ($required_files as $file) {
    $full_path = $_SERVER['DOCUMENT_ROOT'] . $file;
    if (file_exists($full_path)) {
        echo "✓ Found: $file\n";
    } else {
        echo "✗ Missing: $file\n";
        echo "  Full path: $full_path\n";
    }
}

// Step 3: Include files with error handling
echo "\n=== Including required files ===\n";

try {
    echo "Including ADOdb...\n";
    include_once($_SERVER['DOCUMENT_ROOT'] . "/ADOdb/adodb.inc.php");
    echo "✓ ADOdb included\n";
} catch (Exception $e) {
    echo "✗ Error including ADOdb: " . $e->getMessage() . "\n";
    exit(1);
}

try {
    echo "Including vendor autoload...\n";
    include_once($_SERVER['DOCUMENT_ROOT'] . "/vendor/autoload.php");
    echo "✓ Vendor autoload included\n";
} catch (Exception $e) {
    echo "✗ Error including vendor autoload: " . $e->getMessage() . "\n";
    exit(1);
}

try {
    echo "Including config...\n";
    include_once($_SERVER['DOCUMENT_ROOT'] . "/cfg/config.php");
    echo "✓ Config included\n";
} catch (Exception $e) {
    echo "✗ Error including config: " . $e->getMessage() . "\n";
    exit(1);
}

try {
    echo "Including sqlFunctions...\n";
    include_once($_SERVER['DOCUMENT_ROOT'] . "/php/includes/sqlFunctions.php");
    echo "✓ sqlFunctions included\n";
} catch (Exception $e) {
    echo "✗ Error including sqlFunctions: " . $e->getMessage() . "\n";
    exit(1);
}

try {
    echo "Including BaseTableClass...\n";
    include_once($_SERVER['DOCUMENT_ROOT'] . "/php/includes/BaseTableClass.php");
    echo "✓ BaseTableClass included\n";
} catch (Exception $e) {
    echo "✗ Error including BaseTableClass: " . $e->getMessage() . "\n";
    exit(1);
}

try {
    echo "Including MemberFirm...\n";
    include_once($_SERVER['DOCUMENT_ROOT'] . "/php/includes/MemberFirm.php");
    echo "✓ MemberFirm included\n";
} catch (Exception $e) {
    echo "✗ Error including MemberFirm: " . $e->getMessage() . "\n";
    exit(1);
}

// Step 4: Load WordPress
echo "\n=== Loading WordPress ===\n";
try {
    echo "Loading wp-load.php...\n";
    require_once($_SERVER['DOCUMENT_ROOT'] . '/wp-load.php');
    echo "✓ WordPress loaded successfully\n";

    // Test if WordPress functions are available
    if (function_exists('get_post_meta')) {
        echo "✓ WordPress function get_post_meta is available\n";
    } else {
        echo "✗ WordPress function get_post_meta is NOT available\n";
    }

    if (function_exists('wp_get_current_user')) {
        echo "✓ WordPress function wp_get_current_user is available\n";
    } else {
        echo "✗ WordPress function wp_get_current_user is NOT available\n";
    }
} catch (Exception $e) {
    echo "✗ Error loading WordPress: " . $e->getMessage() . "\n";
    exit(1);
}

// Step 5: Test database connection
echo "\n=== Testing database connections ===\n";

// Check if WordPress DB constants are defined
if (defined('WP_HOST') && defined('WPDB_USER') && defined('WPDB_PASS') && defined('WPDB_DB')) {
    echo "✓ WordPress DB constants are defined\n";
    echo "  Host: " . WP_HOST . "\n";
    echo "  User: " . WPDB_USER . "\n";
    echo "  Database: " . WPDB_DB . "\n";
} else {
    echo "✗ WordPress DB constants are NOT defined\n";
    echo "  WP_HOST defined: " . (defined('WP_HOST') ? 'Yes' : 'No') . "\n";
    echo "  WPDB_USER defined: " . (defined('WPDB_USER') ? 'Yes' : 'No') . "\n";
    echo "  WPDB_PASS defined: " . (defined('WPDB_PASS') ? 'Yes' : 'No') . "\n";
    echo "  WPDB_DB defined: " . (defined('WPDB_DB') ? 'Yes' : 'No') . "\n";
}

try {
    echo "Creating WordPress database connection...\n";
    $sqlfWP = new sqlFunctions(WP_HOST, WPDB_USER, WPDB_PASS, WPDB_DB);
    echo "✓ WordPress database connection created\n";
} catch (Exception $e) {
    echo "✗ Error creating WordPress database connection: " . $e->getMessage() . "\n";
    exit(1);
}

// Step 6: Test WordPress database query
echo "\n=== Testing WordPress database query ===\n";
$wpFormsSQL = "SELECT * FROM wp_posts p "
    . "INNER JOIN wp_postmeta pm ON p.id = pm.post_id "
    . "WHERE p.post_type = 'forminator_forms'";

echo "SQL Query: $wpFormsSQL\n";

try {
    $wpForms = $sqlfWP->getAll($wpFormsSQL);
    echo "✓ Query executed successfully\n";
    echo "Found " . count($wpForms) . " forminator forms\n";

    if (count($wpForms) > 0) {
        echo "First form ID: " . $wpForms[0]['ID'] . "\n";
        echo "First form title: " . $wpForms[0]['post_title'] . "\n";
    }
} catch (Exception $e) {
    echo "✗ Error executing WordPress query: " . $e->getMessage() . "\n";
    exit(1);
}

// Step 7: Test WordPress functions
echo "\n=== Testing WordPress functions ===\n";
if (count($wpForms) > 0) {
    try {
        $firstForm = $wpForms[0];
        echo "Testing get_post_meta with form ID: " . $firstForm['ID'] . "\n";

        $formMeta = get_post_meta($firstForm['ID']);
        echo "✓ get_post_meta executed successfully\n";
        echo "Found " . count($formMeta) . " meta fields\n";

        if (isset($formMeta['forminator_form_meta'])) {
            echo "✓ forminator_form_meta found\n";
            $forminatorMeta = unserialize($formMeta['forminator_form_meta'][0]);
            if ($forminatorMeta) {
                echo "✓ forminator meta unserialized successfully\n";
                if (isset($forminatorMeta['settings']['form_name'])) {
                    echo "Form name: " . $forminatorMeta['settings']['form_name'] . "\n";
                }
            } else {
                echo "✗ Failed to unserialize forminator meta\n";
            }
        } else {
            echo "✗ forminator_form_meta not found in post meta\n";
            echo "Available meta keys: " . implode(', ', array_keys($formMeta)) . "\n";
        }
    } catch (Exception $e) {
        echo "✗ Error testing WordPress functions: " . $e->getMessage() . "\n";
    }
}

echo "\n=== Debug completed ===\n";
echo "If you see this message, the basic setup is working.\n";
echo "Remove the exit statement from the original script to continue processing.\n";

// Flush the output buffer
ob_end_flush();