#!/bin/bash

SCRIPT_VER="2.0"

APP="rTorrent"
APP_CATEGORY="Torrent Clients and Utilities"
APP_SCOPE="user"
APP_ENABLED="yes"
#><#APP_CHECK_VER_CMD="${PKG_VER} rtorrent"
SUPPORTED_ON="Ubuntu20.04,Ubuntu22.04,Ubuntu24.04"
LIBRARY="functions4.sh"

if [ "${SUPPORT-}" = '' ]; then
    SUPPORT="https://installers.rapidseedbox.com/scripts/whmcs_client_installers/support"
fi

LOGFILE="/var/log/whmcs_client_installers/${0}.log"
[ ! -d "/var/log/whmcs_client_installers" ] && mkdir -p "/var/log/whmcs_client_installers"

wget -4 -nc -q --no-check-certificate --timeout=20 --tries=5 "${SUPPORT}/${LIBRARY}" >> "${LOGFILE}" 2>&1
if [ ! -f "./${LIBRARY}" ] ; then
    echo "55"
    echo "Error downloading \"${SUPPORT}/${LIBRARY}\"" >> "${LOGFILE}"
    exit 55
fi

# shellcheck source=support/functions4.sh
. "./${LIBRARY}"
SCRIPTENTRY

VALIDATE_USER

APP_SESSION_DIRECTORY="/var/www/session"

while : ; do

    main_rc=1

    CHECK_APP ; _rc=$?
    if [ ${_rc} -ne 0 ] ; then
        main_rc=${_rc}
        break
    fi

    if [ "${USERUID}" = "${FIRST_UID}" ] ; then
        ${PKG_REMOVE} "rtorrent" || break

        while read -r _dir ; do
            [ -z "${_dir}" ] && continue
            _user="$( basename "${_dir}" )"
            if [ -d "/etc/monit/conf.d" ] ; then
                RM_FILES "/etc/monit/conf.d/rtorrent@${_user}" \
                         "/etc/monit/scripts/start/rtorrent@${_user}.start"
                MONIT_RELOAD
            fi
            systemctl is-enabled "rtorrent@${_user}" > /dev/null 2>&1 \
                && SVC_DISABLE "rtorrent@${_user}"
            systemctl is-active "rtorrent@${_user}" > /dev/null 2>&1 \
                && SVC_STOP "rtorrent@${_user}"
            [ -e "/home/${_user}/.rtorrent.rc" ] \
                && RM_FILES "/home/${_user}/.rtorrent.rc"
        done < <( find /home -mindepth 1 -maxdepth 1 -type d | sort )

        RM_FILES "/etc/systemd/system/rtorrent@.service"
        [ -d "/etc/systemd/system/rtorrent@.service.d" ] \
            && RM_DIRS "/etc/systemd/system/rtorrent@.service.d"
        SYSTEMD_RELOAD
    else
        SVC_DISABLE "rtorrent@${USERNAME}"
        SVC_STOP    "rtorrent@${USERNAME}"

        RM_FILES "${USERHOME}/.rtorrent.rc"

        if [ -d "/etc/monit/conf.d" ] ; then
            RM_FILES "/etc/monit/conf.d/rtorrent@${USERNAME}" \
                     "/etc/monit/scripts/start/rtorrent@${USERNAME}.start"
            MONIT_RELOAD
        fi
    fi

    main_rc=0
    break

done


SCRIPTEXIT
