#!/bin/bash

if [ -e wp-config.php ]; then
    wpconn=($(awk -F"['\"]" '/DB_[PHUN]/ && /^define/{print $4}' wp-config.php))
    PREFIX=$(awk -F"['\"]" '/table_prefix/ && /^\$/{print $2}' wp-config.php)
    DB_NAME=${wpconn[0]}
    DB_USER=${wpconn[1]}
    DB_HOST=${wpconn[3]}
    touch ./temp-config.cnf

    #create .cnf for mysql to store password.
    echo "[client]" >> ./temp-config.cnf
    echo "password = '${wpconn[2]}'" >> ./temp-config.cnf
    chmod 600 ./temp-config.cnf

    #Additional flags
    if [[ $1 == '-n' ]]; then #updates both urls to provided value
        mysql --defaults-extra-file=./temp-config.cnf -u ${DB_USER} -h ${DB_HOST} -D ${DB_NAME} -e "UPDATE ${PREFIX}options SET option_value = '$2' WHERE option_name = 'siteurl' OR option_name = 'home';"
    elif [[ $1 == '-h' ]]; then #updated home url to provided value
        mysql --defaults-extra-file=./temp-config.cnf -u ${DB_USER} -h ${DB_HOST} -D ${DB_NAME} -e "UPDATE ${PREFIX}options SET option_value = '$2' WHERE option_name = 'home';"
    elif [[ $1 == '-s' ]]; then #updates site url to provided value
        mysql --defaults-extra-file=./temp-config.cnf -u ${DB_USER} -h ${DB_HOST} -D ${DB_NAME} -e "UPDATE ${PREFIX}options SET option_value = '$2' WHERE option_name = 'siteurl';"
    fi

    #--defaults-extra-file proivdes cleaner input of password, removing mysql password warnings
    HOME_URL=$(mysql --defaults-extra-file=./temp-config.cnf -u ${DB_USER} -h ${DB_HOST}  -D ${DB_NAME} -se "SELECT option_value FROM ${PREFIX}options WHERE option_name = 'home';" | cut -f2)
    SITE_URL=$(mysql --defaults-extra-file=./temp-config.cnf -u ${DB_USER}  -h ${DB_HOST} -D ${DB_NAME} -se "SELECT option_value FROM ${PREFIX}options WHERE option_name = 'siteurl';" | cut -f2)

    echo -e "${BLUESH}Database${SETSH}: ${DB_NAME}"
    echo -e "${GREEN}Home URL${SET}: $HOME_URL"
    echo -e "${GREEN}Site URL${SET}: ${SITE_URL}"
    rm ./temp-config.cnf
fi