#!/bin/bash
# info: Add a WordPress admin user to a specific domain
# options: DOMAIN USERNAME PASSWORD EMAIL

#----------------------------------------------------------#
#                    Variable&Function                     #
#----------------------------------------------------------#

whoami=$(whoami)
if [ "$whoami" != "root" ]; then
    echo "You must be root to execute this script"
    exit 1
fi

# Importing system environment
source /etc/profile

SILENT_MODE=1

# Argument definition
domain=$1
username=$2
password=$3
email=$4

user=$(/usr/local/vesta/bin/v-search-domain-owner $domain)
USER=$user

# Includes
source /usr/local/vesta/func/main.sh
source /usr/local/vesta/func/domain.sh

if [ -z "$user" ]; then
    check_result $E_NOTEXIST "domain $domain doesn't exist"
fi

#----------------------------------------------------------#
#                    Verifications                         #
#----------------------------------------------------------#

check_args '4' "$#" 'DOMAIN USERNAME PASSWORD EMAIL'
is_format_valid 'domain'
is_object_valid 'user' 'USER' "$user"
is_object_unsuspended 'user' 'USER' "$user"

if [ ! -d "/home/$user" ]; then
    echo "User doesn't exist";
    exit 1;
fi

if [ ! -d "/home/$user/web/$domain/public_html" ]; then
    echo "Domain doesn't exist";
    exit 1;
fi

if [ ! -f "/home/$user/web/$domain/public_html/wp-config.php" ]; then
    echo 'Please install WordPress first.'
    exit 1;
fi

if ! command -v wp &> /dev/null; then
    echo "WP CLI is not installed. Installing..."
    wget -nv https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
    chmod +x /usr/local/bin/wp
    echo "WP CLI installed successfully."
fi

phpver=$(/usr/local/vesta/bin/v-get-php-version-of-domain "$domain")

#----------------------------------------------------------#
#                       Action                             #
#----------------------------------------------------------#

cd /home/$USER/web/$domain/public_html
sudo -u $USER /usr/bin/php$phpver /usr/local/bin/wp user create $username $email --role=administrator --user_pass="$password" --skip-plugins=$(sudo -H -u$USER /usr/bin/php$phpver /usr/local/bin/wp plugin list --field=name | tr '\n' ',') --skip-themes;

#----------------------------------------------------------#
#                       Vesta                              #
#----------------------------------------------------------#

exit 0;