upskill-event-manager/wordpress-dev/bin/direct-deploy-zoho.sh

111 lines
No EOL
4.6 KiB
Bash
Executable file

#!/bin/bash
# A direct deployment script for Zoho CRM integration fixes
# This script runs the patch-zoho.php locally and then uploads the patched files
# Colors for output
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${YELLOW}=== Patching Zoho CRM Integration Locally ===${NC}"
# Run the PHP patcher script
php "$(dirname "$0")/patch-zoho.php"
if [ $? -ne 0 ]; then
echo -e "${RED}Error: Failed to patch Zoho CRM integration locally. Aborting.${NC}"
exit 1
fi
echo -e "${GREEN}Local patching completed successfully.${NC}"
# Load environment variables
source "$(dirname "$0")/../.env"
# Check if environment variables are loaded
if [ -z "$UPSKILL_STAGING_IP" ] || [ -z "$UPSKILL_STAGING_SSH_USER" ]; then
echo -e "${RED}Error: Missing required environment variables${NC}"
echo "Please ensure .env file exists and contains UPSKILL_STAGING_IP and UPSKILL_STAGING_SSH_USER"
exit 1
fi
# Set variables
REMOTE_HOST="${UPSKILL_STAGING_IP}"
REMOTE_USER="${UPSKILL_STAGING_SSH_USER}"
REMOTE_PASS="${UPSKILL_STAGING_PASS}"
REMOTE_PATH="/home/974670.cloudwaysapps.com/uberrxmprk/public_html"
PLUGIN_PATH="${REMOTE_PATH}/wp-content/plugins/hvac-community-events"
SRC_DIR="$(dirname "$0")/../wordpress/wp-content/plugins/hvac-community-events"
echo -e "${YELLOW}=== Deploying Patched Files to Staging ===${NC}"
echo -e "${YELLOW}Target: ${REMOTE_USER}@${REMOTE_HOST}:${PLUGIN_PATH}${NC}"
# Create backup of current Zoho files on the remote server
echo -e "${YELLOW}Creating backup of current Zoho files...${NC}"
sshpass -p "$REMOTE_PASS" ssh -o StrictHostKeyChecking=no "$REMOTE_USER@$REMOTE_HOST" <<EOSSH
mkdir -p $PLUGIN_PATH/backups/zoho-$(date +%Y%m%d%H%M%S)/includes/zoho
mkdir -p $PLUGIN_PATH/backups/zoho-$(date +%Y%m%d%H%M%S)/includes/admin
mkdir -p $PLUGIN_PATH/backups/zoho-$(date +%Y%m%d%H%M%S)/assets/js
mkdir -p $PLUGIN_PATH/backups/zoho-$(date +%Y%m%d%H%M%S)/assets/css
mkdir -p $PLUGIN_PATH/includes/logs
cp $PLUGIN_PATH/includes/zoho/*.php $PLUGIN_PATH/backups/zoho-$(date +%Y%m%d%H%M%S)/includes/zoho/ 2>/dev/null || true
cp $PLUGIN_PATH/includes/admin/class-zoho-admin.php $PLUGIN_PATH/backups/zoho-$(date +%Y%m%d%H%M%S)/includes/admin/ 2>/dev/null || true
cp $PLUGIN_PATH/assets/js/zoho-admin.js $PLUGIN_PATH/backups/zoho-$(date +%Y%m%d%H%M%S)/assets/js/ 2>/dev/null || true
cp $PLUGIN_PATH/assets/css/zoho-admin.css $PLUGIN_PATH/backups/zoho-$(date +%Y%m%d%H%M%S)/assets/css/ 2>/dev/null || true
EOSSH
# Upload patched files
echo -e "${YELLOW}Uploading patched files...${NC}"
# Create the list of files to upload
FILES_TO_UPLOAD=(
"$SRC_DIR/includes/zoho/class-zoho-crm-auth.php"
"$SRC_DIR/includes/zoho/zoho-config.php"
"$SRC_DIR/includes/zoho/diagnostics.php"
"$SRC_DIR/includes/zoho/check-permissions.php"
"$SRC_DIR/includes/admin/class-zoho-admin.php"
"$SRC_DIR/assets/js/zoho-admin.js"
"$SRC_DIR/assets/css/zoho-admin.css"
)
# Upload each file individually to ensure correct paths
for file in "${FILES_TO_UPLOAD[@]}"; do
rel_path=${file#$SRC_DIR/}
target_path="$PLUGIN_PATH/$rel_path"
target_dir=$(dirname "$target_path")
echo "Uploading $file to $target_path"
# Ensure target directory exists
sshpass -p "$REMOTE_PASS" ssh -o StrictHostKeyChecking=no "$REMOTE_USER@$REMOTE_HOST" "mkdir -p $target_dir"
# Upload file if it exists
if [ -f "$file" ]; then
sshpass -p "$REMOTE_PASS" scp -o StrictHostKeyChecking=no "$file" "$REMOTE_USER@$REMOTE_HOST:$target_path"
if [ $? -ne 0 ]; then
echo -e "${RED}Error: Failed to upload $file. Continuing...${NC}"
else
echo -e "${GREEN}Successfully uploaded $file${NC}"
fi
else
echo -e "${RED}File not found: $file${NC}"
fi
done
echo -e "${GREEN}Files uploaded process completed.${NC}"
# Clear cache
echo -e "${YELLOW}Clearing cache...${NC}"
sshpass -p "$REMOTE_PASS" ssh -o StrictHostKeyChecking=no "$REMOTE_USER@$REMOTE_HOST" "cd $REMOTE_PATH && wp cache flush" || true
echo -e "${GREEN}=== Zoho CRM integration fixes deployed successfully! ===${NC}"
echo -e "${YELLOW}You can now test the connection in the WordPress admin panel.${NC}"
echo -e "${YELLOW}If issues persist, check the logs at: ${PLUGIN_PATH}/includes/logs/zoho-debug.log${NC}"
echo -e "${YELLOW}Or run the diagnostic tool at: https://wordpress-974670-5399585.cloudwaysapps.com/wp-content/plugins/hvac-community-events/includes/zoho/diagnostics.php?run_diagnostics=true${NC}"
echo -e "${YELLOW}Or check permissions at: https://wordpress-974670-5399585.cloudwaysapps.com/wp-content/plugins/hvac-community-events/includes/zoho/check-permissions.php?check=true${NC}"
exit 0