This commit addresses the 500 error on the certificate-reports page by: 1. Adding proper error handling to certificate templates 2. Ensuring required classes are loaded in the right order 3. Adding try-catch blocks for better error reporting 4. Creating diagnostic and troubleshooting tools 5. Fixing method signature issues in the certificate manager The issues were caused by missing database tables or classes not being loaded in the correct order. Additional improvements: - Added certificate system diagnostic scripts - Added comprehensive troubleshooting documentation - Added automated fix deploy script
108 lines
No EOL
3.4 KiB
Bash
Executable file
108 lines
No EOL
3.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Debug Certificate System
|
|
# This script helps debug issues with the certificate functionality in the HVAC Community Events plugin.
|
|
|
|
# Colors
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
YELLOW='\033[0;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Function to print colored messages
|
|
print_message() {
|
|
local type=$1
|
|
local message=$2
|
|
local color=$BLUE
|
|
|
|
case $type in
|
|
"info")
|
|
color=$BLUE
|
|
;;
|
|
"success")
|
|
color=$GREEN
|
|
;;
|
|
"warning")
|
|
color=$YELLOW
|
|
;;
|
|
"error")
|
|
color=$RED
|
|
;;
|
|
esac
|
|
|
|
echo -e "${color}${message}${NC}"
|
|
}
|
|
|
|
# Check if we have a WordPress installation
|
|
if [ ! -d "wordpress" ]; then
|
|
print_message "error" "No WordPress installation found in ./wordpress directory."
|
|
print_message "info" "Please run this script from the wordpress-dev directory."
|
|
exit 1
|
|
fi
|
|
|
|
# Check that we're in the right directory
|
|
if [ ! -f "bin/debug-certificate-system.sh" ]; then
|
|
print_message "error" "Please run this script from the wordpress-dev directory."
|
|
exit 1
|
|
fi
|
|
|
|
print_message "info" "=== HVAC Certificate System Debug ==="
|
|
print_message "info" ""
|
|
|
|
# Step 1: Check plugin files
|
|
print_message "info" "Step 1: Checking plugin files..."
|
|
if [ -d "wordpress/wp-content/plugins/hvac-community-events" ]; then
|
|
print_message "success" "✓ Plugin directory found."
|
|
else
|
|
print_message "error" "✗ Plugin directory not found."
|
|
exit 1
|
|
fi
|
|
|
|
# Check critical files
|
|
critical_files=(
|
|
"wordpress/wp-content/plugins/hvac-community-events/hvac-community-events.php"
|
|
"wordpress/wp-content/plugins/hvac-community-events/includes/certificates/class-certificate-manager.php"
|
|
"wordpress/wp-content/plugins/hvac-community-events/includes/certificates/class-certificate-installer.php"
|
|
"wordpress/wp-content/plugins/hvac-community-events/templates/certificates/template-certificate-reports.php"
|
|
"wordpress/wp-content/plugins/hvac-community-events/templates/certificates/template-generate-certificates.php"
|
|
)
|
|
|
|
missing_files=0
|
|
for file in "${critical_files[@]}"; do
|
|
if [ -f "$file" ]; then
|
|
print_message "success" "✓ Found: $file"
|
|
else
|
|
print_message "error" "✗ Missing: $file"
|
|
missing_files=$((missing_files+1))
|
|
fi
|
|
done
|
|
|
|
if [ $missing_files -gt 0 ]; then
|
|
print_message "warning" "! $missing_files critical files are missing."
|
|
else
|
|
print_message "success" "All critical files are present."
|
|
fi
|
|
|
|
# Step 2: Check and fix database tables
|
|
print_message "info" ""
|
|
print_message "info" "Step 2: Checking database tables..."
|
|
php bin/check-and-fix-certificate-tables.php
|
|
|
|
# Step 3: Debug certificate reports
|
|
print_message "info" ""
|
|
print_message "info" "Step 3: Debugging certificate reports functionality..."
|
|
php bin/debug-certificate-reports.php
|
|
|
|
# Final summary
|
|
print_message "info" ""
|
|
print_message "info" "=== Debug Summary ==="
|
|
print_message "info" "1. Check the output above for errors or warnings."
|
|
print_message "info" "2. If there are database issues, try deactivating and reactivating the plugin."
|
|
print_message "info" "3. Check PHP error logs for detailed error messages."
|
|
print_message "info" "4. If issues persist, the problem might be in the frontend JavaScript or CSS."
|
|
print_message "info" ""
|
|
print_message "success" "Debug process completed."
|
|
|
|
chmod +x bin/check-and-fix-certificate-tables.php
|
|
chmod +x bin/debug-certificate-reports.php |