File: /volume1/@appstore/MailPlus-Server/hook/MailboxUserDelete.sh
#!/bin/bash
###############################################################
# This script should be hooked when invoking user delete
# Usable environment variable:
# NITEMS, USER_NAME_X, USER_OP_RESULT_X, RESULT
###############################################################
#Include common scripts
. /var/packages/MailPlus-Server/target/scripts/MailPlusServerCommon
. /var/packages/MailPlus-Server/target/backend_hook/hookUtils.conf
#At begining, acquire package settings
PackageInfoGet;
MAILBOX_TOOL="${PRIVATE_LOCATION}/bin/syno_mailbox"
case $1 in
--sdk-mod-ver)
#Print SDK support version
echo "${SDK_MOD_VER}";
;;
--name)
#Print package name
echo "${MAIL_SERVER_PKG_NAME}";
;;
--pkg-ver)
#Print package version
echo "${MAIL_SERVER_PKG_VERSION}";
;;
--vendor)
#Print package vendor
echo "${MAIL_SERVER_PKG_VENDOR}";
;;
--pre)
#noop
;;
--post)
#noop
share_dir=$(${MAILBOX_TOOL} domain-maildir)
usr_idx=1
usr_cnt=$(($NITEMS + 1))
while [ "$usr_idx" != "$usr_cnt" ]
do
uid_key="UID_${usr_idx}"
name_key="USER_NAME_${usr_idx}"
uid_4=${!uid_key: -4}
usr_dir_path="${share_dir}/${uid_4}/${!uid_key}"
usr_info_cache="${usr_dir_path}/cached_info"
if [ ! -z "${!name_key}" ] && [ -d ${usr_dir_path} ]; then
echo "name: ${!name_key}" > ${usr_info_cache}
fi
usr_idx=$(($usr_idx + 1))
done
${MAILBOX_TOOL} "refresh_account_db"
;;
*)
echo "Usage: $0 --sdk-mod-ver|--name|--pkg-ver|--vendor|--pre|--post"
;;
esac