upskill-event-manager/wordpress-dev/bin/clear-certificate-test-data.sh
bengizmo 3d9599ef74 feat: Update help system with clearer content and recent improvements
- Revise welcome modal cards to focus on practical features
- Emphasize dashboard as central hub, no WordPress admin needed
- Highlight new certificate features including clickable links
- Rewrite documentation with simpler, action-oriented language
- Update FAQ section with common trainer questions
- Add tooltip text library for consistent help messages
- Include certificate clearing utility and scripts

Co-Authored-By: Ben Reed <ben@tealmaker.com>
2025-05-24 16:36:28 -03:00

139 lines
No EOL
4.3 KiB
Bash
Executable file

#!/bin/bash
# Script to clear certificate test data on staging server
# This script should be run on the staging server
echo "=== Certificate Test Data Cleanup Script ==="
echo "This script will clear certificate test data from the staging server."
echo ""
# Check if wp-cli is available
if ! command -v wp &> /dev/null; then
echo "Error: wp-cli is not installed or not in PATH"
exit 1
fi
# Navigate to WordPress directory
cd /home/uberrxmprk/cloudwaysapps.com/rfymqitokx/public_html
echo "1. Checking current certificate count..."
CERT_COUNT=$(wp db query "SELECT COUNT(*) FROM wp_hvac_certificates" --skip-column-names 2>/dev/null || echo "0")
echo " Found $CERT_COUNT certificates in database"
echo ""
echo "2. Checking certificate files..."
CERT_DIR="/home/uberrxmprk/cloudwaysapps.com/rfymqitokx/public_html/wp-content/uploads/hvac-certificates"
if [ -d "$CERT_DIR" ]; then
FILE_COUNT=$(find "$CERT_DIR" -type f -name "*.pdf" 2>/dev/null | wc -l)
echo " Found $FILE_COUNT PDF files in certificate directory"
else
echo " Certificate directory not found"
FILE_COUNT=0
fi
echo ""
echo "What would you like to do?"
echo "1) Clear ALL certificates (database and files)"
echo "2) Clear only TEST certificates (generated by test_trainer)"
echo "3) Clear only certificate FILES (keep database records)"
echo "4) Clear only certificate DATABASE records (keep files)"
echo "5) Exit without changes"
echo ""
read -p "Enter your choice (1-5): " choice
case $choice in
1)
echo ""
echo "Clearing ALL certificates..."
# Clear database
wp db query "TRUNCATE TABLE wp_hvac_certificates"
echo "✓ Database cleared"
# Clear files
if [ -d "$CERT_DIR" ]; then
rm -rf "$CERT_DIR"/*
echo "✓ Certificate files cleared"
fi
# Clear any certificate tokens
wp db query "DELETE FROM wp_options WHERE option_name LIKE '_transient_hvac_cert_%' OR option_name LIKE '_transient_timeout_hvac_cert_%'"
echo "✓ Certificate tokens cleared"
echo ""
echo "All certificate data has been cleared!"
;;
2)
echo ""
echo "Clearing TEST certificates only..."
# Get test_trainer user ID
TEST_USER_ID=$(wp user get test_trainer --field=ID 2>/dev/null)
if [ -z "$TEST_USER_ID" ]; then
echo "Error: test_trainer user not found"
exit 1
fi
echo "Found test_trainer user ID: $TEST_USER_ID"
# Get certificate IDs for test_trainer
CERT_IDS=$(wp db query "SELECT certificate_id FROM wp_hvac_certificates WHERE generated_by = $TEST_USER_ID" --skip-column-names)
if [ -n "$CERT_IDS" ]; then
# Delete certificates from database
wp db query "DELETE FROM wp_hvac_certificates WHERE generated_by = $TEST_USER_ID"
echo "✓ Test certificates removed from database"
# Delete certificate files (if we can identify them)
# This is more complex as we need to match certificate numbers to files
echo "✓ Note: Certificate files should be manually reviewed in $CERT_DIR"
else
echo "No test certificates found"
fi
;;
3)
echo ""
echo "Clearing certificate FILES only..."
if [ -d "$CERT_DIR" ]; then
rm -rf "$CERT_DIR"/*
echo "✓ Certificate files cleared"
echo "Note: Database records remain intact"
else
echo "Certificate directory not found"
fi
;;
4)
echo ""
echo "Clearing certificate DATABASE records only..."
wp db query "TRUNCATE TABLE wp_hvac_certificates"
echo "✓ Database cleared"
echo "Note: Certificate files remain in $CERT_DIR"
;;
5)
echo ""
echo "Exiting without changes."
exit 0
;;
*)
echo ""
echo "Invalid choice. Exiting."
exit 1
;;
esac
echo ""
echo "=== Cleanup Complete ==="
echo ""
echo "To regenerate test certificates:"
echo "1. Log in as test_trainer"
echo "2. Navigate to Generate Certificates page"
echo "3. Select an event and attendees"
echo "4. Generate new certificates"