#!/bin/sh

. /var/packages/MailPlus-Server/target/scripts/UpgradeUtil.sh

PRIVATE_LOCATION="/var/packages/MailPlus-Server/target"
# hook
PKG_HOOK_DIR="/usr/local/libexec/"
USER_SET_HOOK_DIR="${PKG_HOOK_DIR}user_set/"
USER_DELETE_HOOK_DIR="${PKG_HOOK_DIR}user_delete/"
GROUP_SET_HOOK_DIR="${PKG_HOOK_DIR}group_set/"
GROUP_DELETE_HOOK_DIR="${PKG_HOOK_DIR}group_delete/"
DOMAIN_LEAVE_HOOK_DIR="${PKG_HOOK_DIR}dirsvs_leave/"
DOMAIN_DB_REFRESH_HOOK_DIR="${PKG_HOOK_DIR}dirsvs_db_refresh/"
SHARE_SET_HOOK_DIR="${PKG_HOOK_DIR}share_set/"
CERT_CHANGE_DIR="${PKG_HOOK_DIR}/certificate/change"
SYNONET_BINARY="/usr/syno/sbin/synonet"
MAILPLUS_SERVER_BACKEND_BINARY="${PRIVATE_LOCATION}/bin/syno_mailserver_backend"
SERVICETOOL="/usr/syno/bin/servicetool"
FEASIBILITY_LINK_DIR="/usr/local/share/feasibilitycheck"

#maillog utility config file
LOG_CENTER_CONF_DEST_FOLDER="/usr/local/etc/syslog-ng/patterndb.d/synolog/"
MAILPLUS_SERVER_EVENT_LOG_CONF="${LOG_CENTER_CONF_DEST_FOLDER}/mailplus_server_event_log.conf"
ROTATE_CONF_DEST_FOLDER="/usr/local/etc/logrotate.d/"
MAILPLUS_SERVER_EVENT_LOG_ROTATE_CONF="${ROTATE_CONF_DEST_FOLDER}/mailplus_server_event_rotate.conf"

#license
UPGRADE_LICENSE_FLAG="/tmp/mailplus_server.upgrade_to_license_version"

# customized info for different package

# general routine

# special action for real-uninstall

# remove @postfix and link
rm -rf /var/spool/@MailPlus-Server/postfix
VOLUME=`/usr/bin/readlink ${PRIVATE_LOCATION} | /usr/bin/cut -d'/' -f2`
mv /${VOLUME}/@MailPlus-Server/postfix /${VOLUME}/@tmp/
rm -rf /${VOLUME}/@tmp/postfix &
rm -rf /var/spool/@MailPlus-Server

RemoveUnistallFile()
{
	local auditSearch="${VOLUME}/@MailPlus-Server/audit"

	rm -rf "${auditSearch}"
}


# uninstall would clean backend related dir
if [ ! -e ${UPGRADE_FILE} ]; then
	## TODO: should we remain config for backup/recover
	rm -fr "/usr/syno/etc/packages/MailPlus-Server/"

	RemoveUnistallFile

	# unblock register iterface
	hostInetList=$(synonet --show | grep "Network interface:" | awk -F": " '{print $2}')
	for inet in ${hostInetList}; do
		${SYNONET_BINARY} --set_block ${inet} mailplus false 2>/dev/null
	done

	[ -e ${UPGRADE_LICENSE_FLAG} ] && rm -rf ${UPGRADE_LICENSE_FLAG}

fi

#remove maillog utility config file
if [ -d "${LOG_CENTER_CONF_DEST_FOLDER}" ]; then
	rm -rf ${MAILPLUS_SERVER_EVENT_LOG_CONF}
fi
if [ -d "${ROTATE_CONF_DEST_FOLDER}" ]; then
	rm -rf ${MAILPLUS_SERVER_EVENT_LOG_ROTATE_CONF}
fi

exit 0
