#!/bin/bash
dbpasswd="xxxx"
dbuser="wordpress"
dbname="wordpress-stage"
datetime=`date +'%m%d%Y_%H:%M'`
base="/home/hchadmin/Migrate_Dev2Prod"
logfile="$base/logs/deploy_stage.out.$datetime"
test ! -d "$base/logs" && mkdir "$base/logs"

printf "$dbpasswd\n" >>$logfile
printf "\nSTAGE: Backing up [wordpress] Database\n" >>$logfile
/usr/bin/mysqldump -u $dbuser -p$dbpasswd $dbname > $base/backup_db/wordpress_stage.sql.$datetime  2>/dev/null

printf "\nSTAGE: Backing up [wordpress] Directory\n" >>$logfile
zip -r $base/backup_wordpress/wordpress_stage_$datetime.zip /var/www/wordpress-stage >>$logfile

# sshpass -p'hchsupp0rt#' ssh -o StrictHostKeyChecking=no hchadmin@10.242.12.92 date
printf "\nSTAGE: Date [$datetime]  to Import Database from STAGE\n" >>$logfile
printf $datetime > $base/datetime.txt


# Need to 'drop' STAGE database
printf "\nSTAGE: DROP [wordpress] Database\n" >>$logfile
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "DROP DATABASE $dbname"; 2>/dev/null


# Might have to create database name wordpress before importing it.
printf "\nSTAGE: Create WORDPRESS Database\n" >>$logfile
/usr/bin/mysql -u $dbuser -p$dbpasswd -e "CREATE DATABASE $dbname"; 2>/dev/null


printf "\nSTAGE: Import DEV Database\n" >>$logfile
date2import=`cat $base/datetime.txt`
cp $base/backup_db/wordpress_dev.sql.$datetime $base/deploy_db
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname < $base/deploy_db/wordpress_dev.sql.$date2import


# UPDATE DATABASE
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_options SET option_value = REPLACE(option_value, 'devsvr', 'stagesvr')";
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'devsvr', 'stagesvr')";
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_posts SET guid = REPLACE(guid, 'devsvr', 'stagesvr')";
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_posts SET post_content = REPLACE(post_content, 'devsvr', 'stagesvr')";
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_indexable SET permalink = REPLACE(permalink, 'devsvr', 'stagesvr')";
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_indexable SET twitter_image = REPLACE(twitter_image, 'devsvr', 'stagesvr')";
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_indexable SET open_graph_image = REPLACE(open_graph_image, 'devsvr', 'stagesvr')";
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_indexable SET open_graph_image_meta = REPLACE(open_graph_image_meta, 'devsvr', 'stagesvr')";
/usr/bin/mysql -u $dbuser -p$dbpasswd $dbname -e "UPDATE wp_yoast_seo_links SET url = REPLACE(url, 'devsvr', 'stagesvr')";


# Need to copy wp-content directory to STAGE from STAGE
printf "\nSTAGE: Copying wp-content directory from DEV \n" >>$logfile
cp -r /usr/share/wordpress/wp-content /var/www/wordpress-stage


printf "\nSTAGE: REPLACE devsvr WITH stagesvr \n" >>$logfile
dir=/var/www/wordpress-stage/wp-content/uploads/elementor/css
for file in `ls $dir`
do printf "$file\n"
   grep -RiIl devsvr $dir/$file | xargs sed 's/devsvr/stagesvr/g' > /tmp/$file
   cp /tmp/$file $dir/$file
done


printf "\nSTAGE: FIND any occurances of devsvr \n" >>$logfile
find /var/www/wordpress-stage -iname "*" -type f -print0  |  xargs -0 grep -H "devsvr" >>$logfile  # /tmp/stage.out