#!/bin/bash

SCRIPT_VER="1.4"

APP="rTorrent"
APP_CATEGORY="Torrent Clients and Utilities"
APP_SCOPE="user"
APP_ENABLED="yes"
CONFLICTS="ruTorrent (rtorrent 0.9.2)|ruTorrent (rtorrent 0.9.3)|ruTorrent (rtorrent 0.9.4)|ruTorrent (rtorrent 0.9.6)|ruTorrent (rtorrent 0.9.8)|ruTorrent (Latest)"
SUPPORTED_ON="CentOS7,CentOSStream8,Debian9,Debian10,Ubuntu16.04,Ubuntu18.04,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

        # Superuser stuff

        ${PKG_REMOVE} "rtorrent" || break

        while read _dir ; do
            [ -z "${_dir}" ] && continue
            _user="$( echo "${_dir}" | awk -F/ '{print $NF}' )"
            INFO "DBG: ${_dir}:${_user}"
            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
            if RUN_LOG "systemctl is-enabled rtorrent@${_user}" ; then
                SVC_DISABLE "rtorrent@${_user}"
            fi
            if RUN_LOG "systemctl is-active rtorrent@${_user}" ; then
                SVC_STOP "rtorrent@${_user}"
            fi
            [ -e "/home/${_user}/.rtorrent.rc" ] \
                && RM_FILES "/home/${_user}/.rtorrent.rc"
        done < <( find /home/ -maxdepth 1 -type d | awk -F/ '{print $NF}' )

        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

        # Regular user stuff

        SVC_DISABLE "rtorrent@${USERNAME}"
        SVC_STOP    "rtorrent@${USERNAME}"

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

        # -- monit configs
        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
