| Current Path : /var/www/cesa.co.za/crons/ |
| 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();