#!/usr/bin/with-contenv bash
echo '------------------------------'
echo '| qBittorrent theme.park Mod |'
echo '------------------------------'
APP_FILEPATH='/config/qBittorrent/qBittorrent.conf'
if [ "${TP_HOTIO}" = true ]; then
    echo 'Changing to Hotio file path!'
    APP_FILEPATH='/config/config/qBittorrent.conf'
fi
# Backup config
if [[ ! -f "${APP_FILEPATH}.bak" ]]; then
    echo "Creating qBittorrent.conf backup in /config."
	cp -p ${APP_FILEPATH} "${APP_FILEPATH}.bak"
fi
# Restore qBittorrent.conf
if [ "${TP_DISABLE_THEME}" = true ]; then
  echo "Restoring backup of qBittorrent.conf" 
  sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=false/g" "${APP_FILEPATH}";
  exit 0
fi
if ! [[ -x "$(command -v svn)" ]]; then
echo '--------------------------'
echo '| Installing svn package |'
echo '--------------------------'
 apt-get update && \
 apt-get install -y subversion
fi
# Display variables for troubleshooting 
echo -e "Variables set:\\n\
'APP_FILEPATH'=${APP_FILEPATH}\\n\
'TP_DISABLE_THEME'=${TP_DISABLE_THEME}\\n\
'TP_HOTIO'=${TP_HOTIO}\\n\
'TP_DOMAIN'=${TP_DOMAIN}\\n\
'TP_THEME'=${TP_THEME}\\n"
# Set default
if [[ -z ${TP_DOMAIN} ]]; then
    echo 'No domain set, defaulting to theme-park.dev'
    TP_DOMAIN='theme-park.dev'
fi
case ${TP_DOMAIN} in
  *"github.io"*)
  echo "Switching to github.io URL style"
    TP_DOMAIN="${TP_DOMAIN}\/theme.park"
    ;;
esac
if [[ -z ${TP_THEME} ]]; then
    echo 'No theme set, defaulting to organizr-dark'
    TP_THEME='organizr-dark'
fi
# Downloading fresh webui files from source.
if [[ ! -d /themepark ]]; then
    echo '---------------------------------------'
    echo '| Downloading WebUI files from github |'
    echo '---------------------------------------'
    printf '\nDownloading qBittorrent webui to "/themepark"..please wait\n'
    svn export --quiet https://github.com/qbittorrent/qBittorrent/trunk/src/webui/www /themepark
    printf '\nDownload finished\n\n'
    printf '\nDownloading qBittorrent webui icons to "/themepark/xxx"..please wait\n'
    svn export --force --quiet https://github.com/qbittorrent/qBittorrent/trunk/src/icons /temp
    cp -a /temp/. /themepark/public/icons
    cp -a /temp/. /themepark/private/icons
    rm -rf /temp
    printf '\nDownload finished\n\n'
fi
sed_file(){
	sed -i "s/<\/head>/<\/head> /g" $1
    sed -i "s/<\/head>/<\/head> /g" $1
	printf 'Stylesheet set to %s on %s\n\n' "${TP_THEME}" "$1"
}
# Adding stylesheets
echo '---------------------------------------'
echo '| Adding the stylesheet to html files |'
echo '---------------------------------------'
if ! grep -q "${TP_DOMAIN}" /themepark/public/index.html; then
    sed_file /themepark/public/index.html
fi
if ! grep -q "${TP_DOMAIN}" /themepark/private/index.html; then
    find ./themepark/private -type f -iname *.html | while read fname
	do
		sed_file $fname
	done
fi
if ! grep -q "WebUI\\\RootFolder" "${APP_FILEPATH}"; then
    echo '--------------------------------------'
    echo '| Adding WebUI\RootFolder=/themepark |'
    echo '--------------------------------------'
    sed -i -e '$aWebUI\\RootFolder=/themepark' "${APP_FILEPATH}";
fi
if ! grep -q "WebUI\\\AlternativeUIEnabled" "${APP_FILEPATH}"; then
    echo '------------------------------------------'
    echo '| Adding WebUI\AlternativeUIEnabled=true |'
    echo '------------------------------------------'
    sed -i -e '$aWebUI\\AlternativeUIEnabled=true' "${APP_FILEPATH}";
fi
if  ! grep -q "WebUI\\\RootFolder=/themepark" "${APP_FILEPATH}" || ! grep -q "WebUI\\\AlternativeUIEnabled=true" "${APP_FILEPATH}"; then
    echo '-------------------------------------------------------'
    echo '| Updating RootFolder and AlternativeUIEnabled values |'
    echo '-------------------------------------------------------'
    sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=true/g" "${APP_FILEPATH}";
    sed -i "s/WebUI\\\RootFolder=.*$/WebUI\\\RootFolder=\/themepark/g" "${APP_FILEPATH}";
fi