#!/bin/bash

. /var/packages/MailPlus-Server/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"

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

# customized info for different package

# general routine

# special action for real-uninstall

# 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/"
	rm -rf /var/spool/@MailPlus-Server/postfix/
	rm -rf /var/spool/@MailPlus-Server/audit/

	# 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 link
rm -rf /var/spool/@MailPlus-Server

RemoveConfigurationFiles()
{
	# maillog utility config file
	local MAILPLUS_SERVER_EVENT_LOG_CONF="/usr/local/etc/syslog-ng/patterndb.d/synolog/mailplus_server_event_log.conf"
	local MAILPLUS_SERVER_EVENT_LOG_ROTATE_CONF="/usr/local/etc/logrotate.d/mailplus_server_event_rotate.conf"
	rm -f "${MAILPLUS_SERVER_EVENT_LOG_CONF}"
	rm -f "${MAILPLUS_SERVER_EVENT_LOG_ROTATE_CONF}"

	# libmailplus
	local LIB_MAILPLUS_DIR="/usr/local/lib/mailplus"
	rm -f "${LIB_MAILPLUS_DIR}"
}

RemoveConfigurationFiles

exit 0
