File: //usr/local/mailchannels/bin/uninstall_old_plugin.sh
#!/usr/bin/env bash
#NOTE ON THIS FILE: This was copied from the old cPanel plugins install / update / uninstall script. The install and update
#parts were removed to make this just an uninstall script.
if [[ "$(whoami)" != root ]]; then
echo You must run this as root.
exit 1
fi
#DB Config
dbHost="127.0.0.1";
dbName="mail_channels";
dbUserName="mail_channels";
dbPassword=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;`
#Config File
configFile='/usr/local/cpanel/etc/MailChannels.ini';
MC_OLD_CONF_FILE="/var/cpanel/apps/MailChannelsWHMPlugin.conf"
declare -a copyFiles=(
'MailChannelsWHM' '/usr/local/cpanel/whostmgr/docroot/cgi/MailChannels'
'MailChannelsIncludes' '/usr/local/cpanel/whostmgr/docroot/cgi/MailChannels'
'MailChannelsBinAdmin' '/usr/local/cpanel/bin/admin/MailChannels'
'MailChannelsCPanelAPI' '/usr/local/cpanel/Cpanel/API/'
'MailChannelsScripts' '/usr/local/cpanel/etc/'
)
declare -a chmodFiles=(
'/usr/local/cpanel/logs/MailChannels' '722'
'/usr/local/cpanel/base/frontend/x3/MailChannels' '755'
'/usr/local/cpanel/whostmgr/docroot/cgi/MailChannels' '755'
'/usr/local/cpanel/bin/admin/MailChannels' '644'
'/usr/local/cpanel/bin/admin/MailChannels/getadmin' '755'
'/usr/local/cpanel/Cpanel/API/MailChannels.pm' '644'
)
# Detect paths
MYSQL=$(which mysql)
CurrentDIR=${PWD}
if [[ -f "$configFile" ]]
then
dbHost=`cat $configFile|grep "db_host"|cut -d'=' -f2 |tr -d '\r'| cut -d "'" -f 2`;
dbName=`cat $configFile|grep "db_user"|cut -d'=' -f2 |tr -d '\r'| cut -d "'" -f 2`;
dbUserName=`cat $configFile|grep "db_name"|cut -d'=' -f2 |tr -d '\r'| cut -d "'" -f 2`;
dbPassword=`cat $configFile|grep "db_pass"|cut -d'=' -f2 |tr -d '\r'| cut -d "'" -f 2`;
else
echo "MailChannels Plugin not installed, exiting..."
exit 0
fi;
data=`$MYSQL -h "$dbHost" -u 'root' -e 'SHOW Databases;'`;
if [ ! "$?" -eq 0 ]
then
echo -n "Please provide MySQL admin username [root]";
read $mysqlRootUser;
echo -n "Please provide MySQL admin password";
read $mysqlRootPassword;
fi;
SQL="DROP DATABASE $dbName; DROP USER $dbUserName@localhost;"
bash /usr/local/cpanel/etc/script uninstall
if [[ $? != 0 ]]; then
echo Error removing MailChannels items from /etc/exim.conf. Please manually remove them and restart exim.
fi
if [ -z "$mysqlRootPassword" ]
then
$MYSQL -h "$dbHost" -u root -e "$SQL"
else
$MYSQL -h "$dbHost" -u '"$dbUserName"' --password="$dbPassword" -e "$SQL"
fi;
for dir in "${copyFiles[@]}"
do
if([[ -z "$source" ]])
then
source=$dir;
else
if [ -d "$dir" ]
then
if [ "$dir" == "/usr/local/cpanel/Cpanel/API/" ]
then
if [ -f "/usr/local/cpanel/Cpanel/API/MailChannels.pm" ]
then
rm -f /usr/local/cpanel/Cpanel/API/MailChannels.pm
fi;
elif [ -d "$dir" ] && [ "$dir" != "/usr/local/cpanel/Cpanel/API/" ] && [ "$dir" != "/usr/local/cpanel/etc/" ]
then
rm -rf "$dir"
fi;
fi;
source='';
fi;
done
rm "$configFile";
if [ -e "${MC_OLD_CONF_FILE}" ]
then
/usr/local/cpanel/bin/unregister_appconfig ${MC_OLD_CONF_FILE}
fi;
if [ -e "/usr/local/cpanel/base/frontend/x3/dynamicui/dynamicui_MailChannels.conf" ]
then
rm -f /usr/local/cpanel/base/frontend/x3/dynamicui/dynamicui_MailChannels.conf
fi;
echo "Removing module in cPanel paper_lanter theme..."
if [ -e "/usr/local/cpanel/base/frontend/paper_lantern/dynamicui/dynamicui_MailChannels.conf" ]
then
rm -f /usr/local/cpanel/base/frontend/paper_lantern/dynamicui/dynamicui_MailChannels.conf
fi;
echo "Successfully uninstalled the MailChannels cPanel plugin";