upskill-event-manager/scripts/fix-template-installation.sh
Ben bb3441c0e6 feat: Complete TEC integration with mobile fixes and comprehensive testing
- Added mobile navigation fix CSS to resolve overlapping elements
- Created TEC integration pages (create, edit, my events)
- Implemented comprehensive Playwright E2E test suites
- Fixed mobile navigation conflicts with z-index management
- Added test runners with detailed reporting
- Achieved 70% test success rate (100% on core features)
- Page load performance optimized to 3.8 seconds
- Cross-browser compatibility verified

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 07:07:06 -03:00

162 lines
No EOL
5.4 KiB
Bash
Executable file

#!/bin/bash
set -e
# Fix TEC Template Installation Script
# Resolves theme detection and template override placement issues
# Colors for output
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
# Load environment variables
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
if [ -f "$PROJECT_ROOT/.env" ]; then
export $(cat "$PROJECT_ROOT/.env" | sed 's/#.*//g' | xargs)
fi
ENVIRONMENT="${1:-staging}"
if [ "$ENVIRONMENT" = "staging" ]; then
SERVER_IP=$UPSKILL_STAGING_IP
SSH_USER=$UPSKILL_STAGING_SSH_USER
SSH_PASS=$UPSKILL_STAGING_PASS
SERVER_PATH=$UPSKILL_STAGING_PATH
SITE_URL=$UPSKILL_STAGING_URL
else
SERVER_IP=$UPSKILL_PROD_IP
SSH_USER=$UPSKILL_PROD_SSH_USER
SSH_PASS=$UPSKILL_PROD_SSH_PASS
SERVER_PATH=$UPSKILL_PROD_PATH
SITE_URL=$UPSKILL_PROD_URL
fi
echo -e "${YELLOW}=== Fixing TEC Template Installation ===${NC}"
echo "Environment: $ENVIRONMENT"
echo "Server: $SERVER_IP"
echo ""
echo -e "${GREEN}Step 1: Detecting active theme and installing template override...${NC}"
sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$SERVER_IP" "
cd $SERVER_PATH
# Get active theme using WordPress database query
ACTIVE_THEME=\$(wp eval 'echo wp_get_theme()->get_stylesheet();' 2>/dev/null | tr -d '\n')
if [ -z \"\$ACTIVE_THEME\" ]; then
echo 'Failed to detect active theme via WP-CLI, trying alternative method...'
ACTIVE_THEME=\$(wp option get stylesheet 2>/dev/null | tr -d '\n')
fi
if [ -z \"\$ACTIVE_THEME\" ]; then
echo 'Using fallback theme detection...'
ACTIVE_THEME='astra'
fi
echo \"Detected active theme: \$ACTIVE_THEME\"
# Create theme template directories
THEME_PATH=\"wp-content/themes/\$ACTIVE_THEME\"
echo \"Creating template directories in: \$THEME_PATH\"
mkdir -p \"\$THEME_PATH/tribe-events/community\"
mkdir -p \"\$THEME_PATH/tribe-events/community/partials\"
# Copy enhanced template files
if [ -f \"wp-content/plugins/hvac-community-events/templates/community-edit-event-enhanced.php\" ]; then
cp wp-content/plugins/hvac-community-events/templates/community-edit-event-enhanced.php \"\$THEME_PATH/tribe-events/community/edit-event.php\"
echo '✅ Enhanced template copied to theme'
else
echo '❌ Enhanced template source file not found'
exit 1
fi
# Copy template partials
if [ -d \"wp-content/plugins/hvac-community-events/templates/partials\" ]; then
cp -r wp-content/plugins/hvac-community-events/templates/partials/* \"\$THEME_PATH/tribe-events/community/partials/\"
echo '✅ Template partials copied'
else
echo '❌ Template partials directory not found'
fi
# Set proper permissions
chmod -R 755 \"\$THEME_PATH/tribe-events\"
echo \"Template installation completed for theme: \$ACTIVE_THEME\"
# Verify installation
if [ -f \"\$THEME_PATH/tribe-events/community/edit-event.php\" ]; then
echo '✅ Template override verified in place'
ls -la \"\$THEME_PATH/tribe-events/community/\"
else
echo '❌ Template override installation failed'
exit 1
fi
"
echo ""
echo -e "${GREEN}Step 2: Testing template override accessibility...${NC}"
# Test if the template is accessible via HTTP
sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$SERVER_IP" "
cd $SERVER_PATH
# Check if TEC Community Events plugin is active
if wp plugin list --name='the-events-calendar-community-events' --status=active --format=count | grep -q '1'; then
echo '✅ TEC Community Events plugin is active'
else
echo '⚠️ TEC Community Events plugin may not be active'
wp plugin list --status=active | grep -i 'events'
fi
# Test basic WordPress functionality
echo 'Testing WordPress functionality...'
wp eval 'echo \"WordPress loaded successfully\";' || echo 'WordPress eval failed'
# Check if we can access the theme
ACTIVE_THEME=\$(wp option get stylesheet 2>/dev/null | tr -d '\n')
echo \"Active theme: \$ACTIVE_THEME\"
# List theme contents to verify template is there
echo 'Theme template structure:'
find wp-content/themes/\$ACTIVE_THEME/tribe-events -type f 2>/dev/null | head -10 || echo 'No tribe-events templates found'
"
echo ""
echo -e "${GREEN}Step 3: Clearing all caches...${NC}"
sshpass -p "$SSH_PASS" ssh -o StrictHostKeyChecking=no "$SSH_USER@$SERVER_IP" "
cd $SERVER_PATH
# Clear WordPress caches
wp cache flush 2>/dev/null && echo 'WordPress cache cleared' || echo 'WordPress cache flush failed'
# Clear object cache if available
wp cache flush 2>/dev/null && echo 'Object cache cleared' || echo 'Object cache not available'
# Clear Breeze cache if available
wp breeze purge --cache=all 2>/dev/null && echo 'Breeze cache cleared' || echo 'Breeze cache not available'
# Clear OPcache if available
wp eval 'if (function_exists(\"opcache_reset\")) { opcache_reset(); echo \"OPcache cleared\"; } else { echo \"OPcache not available\"; }'
# Flush rewrite rules to ensure proper URL routing
wp rewrite flush && echo 'Rewrite rules flushed' || echo 'Rewrite flush failed'
"
echo ""
echo -e "${GREEN}✅ TEC Template Installation Fix Complete!${NC}"
echo ""
echo -e "${YELLOW}Test the enhanced template at:${NC}"
echo "1. Event Creation: $SITE_URL/events/community/add/"
echo "2. Alternative URL: $SITE_URL/community/events/add/"
echo ""
echo -e "${YELLOW}Manual verification steps:${NC}"
echo "1. Login to: $SITE_URL/training-login/"
echo "2. Navigate to event creation"
echo "3. Look for 'Enhanced HVAC Template Active' indicator"
echo "4. Verify excerpt, categories, featured image, and tags fields are present"