File: //usr/local/mailchannels/bin/uninstall.sh
#!/usr/bin/env bash
if [[ ! ${EUID} -eq 0 ]]; then
echo "You must run the uninstall as a superuser"
exit 1
fi
PURGE=0
while [[ $# -gt 0 ]]
do
ARG=$1
if [[ ${ARG} == "--purge" ]]; then
PURGE=1
fi
shift
done
MC_LOGS_DIR=/var/log/mailchannels
MC_CONF_DIR=/etc/mailchannels
MC_PLUGIN_DIR=/usr/local/mailchannels
MC_BIN="${MC_PLUGIN_DIR}/bin"
MC_BIN_LIB="${MC_BIN}/lib"
RUN_FATAL="${MC_BIN_LIB}/run_fatal.sh"
VERSION_FILE="${MC_PLUGIN_DIR}/version.txt"
PHP_UNINSTALL_SCRIPT="${MC_BIN}/uninstall.php"
MC_CPANEL_PLUGIN_DIR="${MC_PLUGIN_DIR}/cpanel-plugin"
CPANEL_UNINSTALL_FILE="${MC_CPANEL_PLUGIN_DIR}/uninstall"
UNINSTALL_CONFIRMATION_MESSAGE="Are you sure you want to uninstall the MailChannels plugin? (yes/no):"
ABORTING_UNINSTALL_MESSAGE="Aborting uninstall"
PURGING_MESSAGE="Purge flag has been set, purging remaining plugin files..."
REMOVING_LOGS_MESSAGE="Removing logs (/var/log/mailchannels)..."
REMOVING_CONF_MESSAGE="Removing configuration files (/etc/mailchannels)..."
runFatal() {
${RUN_FATAL} "$1" "$2"
if [[ $? != 0 ]]; then
exit 1
fi
}
echo ${UNINSTALL_CONFIRMATION_MESSAGE}
read UNINSTALL_PLUGIN
if [[ "${UNINSTALL_PLUGIN}" != "yes" ]]; then
echo ${ABORTING_UNINSTALL_MESSAGE}
exit 1
fi
if [[ ${PURGE} == 1 ]]; then
runFatal "php -q ${PHP_UNINSTALL_SCRIPT} --purge"
else
runFatal "php -q ${PHP_UNINSTALL_SCRIPT}"
fi
runFatal "chmod +x ${CPANEL_UNINSTALL_FILE}"
runFatal "${CPANEL_UNINSTALL_FILE}"
runFatal "rm -rf /var/lib/mailchannels"
runFatal "/usr/local/cpanel/bin/unregister_appconfig /etc/mailchannels/mailchannels.conf"
if [[ ${PURGE} -eq 1 ]]; then
echo ${PURGING_MESSAGE}
echo ${REMOVING_LOGS_MESSAGE}
runFatal "rm -rf ${MC_LOGS_DIR}"
echo ${REMOVING_CONF_MESSAGE}
runFatal "rm -rf ${MC_CONF_DIR}"
fi
runFatal "rm -rf /usr/local/cpanel/whostmgr/docroot/cgi/mailchannels"
runFatal "rm -rf /usr/local/mailchannels"
UNINSTALL_SUCCESS_MESSAGE="The MailChannels plugin has been successfully uninstalled."
echo
echo ${UNINSTALL_SUCCESS_MESSAGE}