# !/bin/sh
source vaosyncconfig.sh

IMPORT_TYPE=$1;

# Color
GREEN=$(tput setaf 2)
CYAN=$(tput setaf 6)
BLUE=$(tput setaf 4)
NC=$(tput sgr0)

echo "${NC}Database or Files import from external server: $REMOTE_SERVER_NAME"

#echo "Type of import: $IMPORT_TYPE"
if [ $IMPORT_TYPE = "database" ]
then
echo "${NC}Type of import: database dump and sync ${NC}"

echo "${CYAN}1. Removing old local database dump if exists ${NC}"
rm -f dump_local.sql

echo "${CYAN}2. Removing old remote database dump if exists ${NC}"
rm -f dump_remote.sql

echo "${CYAN}3. Dumping remote database (scripts/dump_remote.sql)...${NC}"
ssh $REMOTE_SERVER_SSH_USERNAME@$REMOTE_SERVER_SSH_HOST "mysqldump -y -h localhost -u $REMOTE_SERVER_DB_USERNAME -p$REMOTE_SERVER_DB_PASSWORD $REMOTE_SERVER_DB_NAME" > dump_remote.sql
echo "${GREEN}4. Remote database dumped${NC}"

echo "${CYAN}5. Dumping local database (scripts/dump_local.sql)...${NC}"
mysqldump -y -h $LOCAL_SERVER_DB_HOST -u $LOCAL_SERVER_DB_USERNAME -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME > dump_local.sql
echo "${GREEN}6. Local database dumped${NC}"


echo "${CYAN}7. Clearing local database...${NC}"
echo "show tables like '%%'" | mysql -u $LOCAL_SERVER_DB_USERNAME -h $LOCAL_SERVER_DB_HOST -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME | tail -n +2 | while read t; do echo "drop table \`$t\`;"; done | mysql -u $LOCAL_SERVER_DB_USERNAME -h $LOCAL_SERVER_DB_HOST -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME
echo "${GREEN}8. Local database cleared${NC}"

echo "${CYAN}9. Replacing local database with remote one...${NC}"
mysql -u $LOCAL_SERVER_DB_USERNAME -h $LOCAL_SERVER_DB_HOST -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME < dump_remote.sql
echo "${GREEN}10. Database replaced${NC}"

echo "${CYAN}11. Starting clear cache${NC}"
../vendor/bin/drush cache-rebuild
echo "${GREEN}12. Cache cleared${NC}"
echo "${NC}Database synced!!! ENJOY!!!"
fi

if [ $1 == "files" ]
then
echo "Type of import: files"
echo "Downloading files from remote server and update local files..."
rsync -azP --exclude 'js' --exclude 'css' $REMOTE_SERVER_SSH_USERNAME@$REMOTE_SERVER_SSH_HOST:$REMOTE_SERVER_SSH_SYNC_FOLDER $LOCAL_SERVER_SYNC_FOLDER
echo "Files synced!!! ENJOY!!!"
fi

if [ $1 == "dump_local" ]
then
echo "Type of import: dump local database: dump_local_current.sql"
echo "Remeoving old local database dump if exists"
rm -f dump_local_current.sql
echo "Dumping local database (scripts/dump_local_current.sql)..."
mysqldump -y -h $LOCAL_SERVER_DB_HOST -u $LOCAL_SERVER_DB_USERNAME -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME > dump_local_current.sql
echo "Local database dumped!!! ENJOY!!!"
fi

if [ $1 == "dump_remote" ]
then
echo "Type of import: dump local database: dump_remote_current.sql"
echo "Remeoving old remote database dump if exists"
rm -f dump_remote_current.sql
echo "Dumping remote database (scripts/dump_remote_current.sql)..."
ssh $REMOTE_SERVER_SSH_USERNAME@$REMOTE_SERVER_SSH_HOST "mysqldump -y -h $LOCAL_SERVER_DB_HOST -u $REMOTE_SERVER_DB_USERNAME -p$REMOTE_SERVER_DB_PASSWORD $REMOTE_SERVER_DB_NAME" > dump_remote_current.sql
echo "Remote database dumped!!! ENJOY!!!"
fi

if [ $1 == "clear_local" ]
then
echo "Clear local database..."
echo "show tables like '%%'" | mysql -u $LOCAL_SERVER_DB_USERNAME -h $LOCAL_SERVER_DB_HOST -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME | tail -n +2 | while read t; do echo "drop table \`$t\`;"; done | mysql -u $LOCAL_SERVER_DB_USERNAME -h $LOCAL_SERVER_DB_HOST -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME
fi

if [ $1 == "import_local" ]
then
echo "Type of import: import local database: dump_local_current.sql"
echo "Clear local database..."
echo "show tables like '%%'" | mysql -u $LOCAL_SERVER_DB_USERNAME -h $LOCAL_SERVER_DB_HOST -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME | tail -n +2 | while read t; do echo "drop table \`$t\`;"; done | mysql -u $LOCAL_SERVER_DB_USERNAME -h $LOCAL_SERVER_DB_HOST -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME
echo "Replacing local database with the one from backup..."
mysql -u $LOCAL_SERVER_DB_USERNAME -p$LOCAL_SERVER_DB_PASSWORD $LOCAL_SERVER_DB_NAME < dump_local_current.sql
fi
