#!/usr/bin/env bash

if [[ ! ${EUID} -eq 0 ]]; then
  echo "You must run the installer as a superuser"
  exit 1
fi

VERSION=$1
if [[ -z ${VERSION} ]]; then
    VERSION="latest"
fi

runFatal() {
    ${RUN_FATAL} "$1" "$2"
    if [[ $? != 0 ]]; then
        exit 1
    fi
}

PLUGIN_FILE_NAME="SMTP2GO-whm-${VERSION}.tar.gz"
PLUGIN_DIR=/var/cpanel/addons
SMTP2GO_PLUGIN_DIR="${PLUGIN_DIR}/SMTP2GO"
INSTALL_DIR=/usr/local/SMTP2GO
INSTALL_FILE="${INSTALL_DIR}/bin/install.sh"
VERSION_FILE="${SMTP2GO_PLUGIN_DIR}/version.txt"

STARTING_INSTALLATION_MESSAGE="Starting SMTP2GO WHM Plugin installation..."
PLUGIN_TAR_EXISTS_MESSAGE="${PLUGIN_FILE_NAME} exists, removing it"
PLUGIN_DOWNLOAD_MESSAGE="Downloading latest plugin version."
FAILED_PLUGIN_DOWNLOAD_MESSAGE="Failed to download the SMTP2GO cPanel plugin, aborting installation"
FAILED_PLUGIN_UNPACK_MESSAGE="Failed to unpack ${PLUGIN_FILE_NAME} to ${PLUGIN_DIR}. Aborting installation."
RUNNING_INSTALL_MESSAGE="Running ${INSTALL_FILE}..."
INSTALLATION_FAILED_MESSAGE="Failed to install the SMTP2GO plugin."

echo ${STARTING_INSTALLATION_MESSAGE}

if [[ -f ${PLUGIN_FILE_NAME} ]]; then
    echo ${PLUGIN_TAR_EXISTS_MESSAGE}
    rm ${PLUGIN_FILE_NAME}
fi

echo ${PLUGIN_DOWNLOAD_MESSAGE}
wget https://cpanelservice2.smtp2go.com/storage/${PLUGIN_FILE_NAME} &>/dev/null

if [[ $? != 0 ]]
then
    echo ${FAILED_PLUGIN_DOWNLOAD_MESSAGE}
    exit 1
fi

rm -rf ${INSTALL_DIR}
mkdir ${INSTALL_DIR}
chmod 0755 ${INSTALL_DIR}

tar -xf ${PLUGIN_FILE_NAME} -C ${INSTALL_DIR}

/usr/bin/chown -R root:root ${INSTALL_DIR}


if [[ $? != 0 ]]
then
    echo ${FAILED_PLUGIN_UNPACK_MESSAGE}
    exit 1
fi

rm ${PLUGIN_FILE_NAME}

echo ${RUNNING_INSTALL_MESSAGE}

${INSTALL_FILE}
if [[ $? != 0 ]]; then
    echo ${INSTALLATION_FAILED_MESSAGE}
    exit 1
fi

VERSION=$(cat ${VERSION_FILE})
INSTALL_SUCCESS_MESSAGE="Version ${VERSION} of the SMTP2GO plugin has been successfully installed."

echo
echo ${INSTALL_SUCCESS_MESSAGE}
