upskill-event-manager/wordpress-dev/bin/debug-certificate-system.sh
bengizmo 31dae475a6 Fix certificate reports page 500 error
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
2025-05-20 23:29:41 -03:00

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