#!/bin/bash # A simplified version of the Zoho deployment script that uses rsync directly # 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 "Error: Missing required environment variables" 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" # Colors for output GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' NC='\033[0m' # No Color echo -e "${YELLOW}=== Deploying Zoho CRM Integration Fixes ===${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" "cd $PLUGIN_PATH && cp -r includes/zoho includes/zoho-backup-$(date +%Y%m%d%H%M%S) && cp includes/admin/class-zoho-admin.php includes/zoho-backup-admin-$(date +%Y%m%d%H%M%S).php && cp assets/js/zoho-admin.js includes/zoho-backup-js-$(date +%Y%m%d%H%M%S).js && cp assets/css/zoho-admin.css includes/zoho-backup-css-$(date +%Y%m%d%H%M%S).css" # Create local directories for files SRC_DIR="$(dirname "$0")/../wordpress/wp-content/plugins/hvac-community-events" TEMP_DIR=$(mktemp -d) # Copy files to deploy echo -e "${YELLOW}Preparing files for deployment...${NC}" mkdir -p "$TEMP_DIR/includes/zoho" mkdir -p "$TEMP_DIR/includes/admin" mkdir -p "$TEMP_DIR/assets/js" mkdir -p "$TEMP_DIR/assets/css" cp "$SRC_DIR/includes/zoho/class-zoho-crm-auth.php" "$TEMP_DIR/includes/zoho/" cp "$SRC_DIR/includes/zoho/diagnostics.php" "$TEMP_DIR/includes/zoho/" cp "$SRC_DIR/includes/zoho/check-permissions.php" "$TEMP_DIR/includes/zoho/" cp "$SRC_DIR/includes/admin/class-zoho-admin.php" "$TEMP_DIR/includes/admin/" cp "$SRC_DIR/assets/js/zoho-admin.js" "$TEMP_DIR/assets/js/" cp "$SRC_DIR/assets/css/zoho-admin.css" "$TEMP_DIR/assets/css/" # Deploy with rsync echo -e "${YELLOW}Deploying files to staging server...${NC}" sshpass -p "$REMOTE_PASS" rsync -avz --no-perms --no-owner --no-group -e "ssh -o StrictHostKeyChecking=no" "$TEMP_DIR/" "$REMOTE_USER@$REMOTE_HOST:$PLUGIN_PATH/" if [ $? -ne 0 ]; then echo -e "${RED}Error: Failed to deploy files. Aborting.${NC}" rm -rf "$TEMP_DIR" exit 1 fi echo -e "${GREEN}Files deployed successfully.${NC}" # Create a PHP script to update the zoho-config.php file cat > "$TEMP_DIR/patch-config.php" << 'EOL'