#!/bin/bash

#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================

source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers

#=================================================
# MANAGE SCRIPT FAILURE
#=================================================

# Exit if an error occurs during the execution of the script
ynh_abort_if_errors

#=================================================
# LOAD SETTINGS
#=================================================
ynh_script_progression --message="Loading installation settings..." --weight=2

app=$YNH_APP_INSTANCE_NAME

final_path=$(ynh_app_setting_get --app=$app --key=final_path)
path_url=$(ynh_app_setting_get --app=$app --key=path)
domain=$(ynh_app_setting_get --app=$app --key=domain)

# Get variable from ynh_add_fpm_config
fpm_config_dir=$(ynh_app_setting_get --app=$app --key=fpm_config_dir)

#=================================================
# STANDARD BACKUP STEPS
#=================================================
# BACKUP THE MAIN APP DIRECTORIES
#=================================================
ynh_script_progression --message="Backing up the main app directory..." --weight=5

ynh_backup --src_path="$final_path"
ynh_backup --src_path="/etc/.pihole"
ynh_backup --src_path="/etc/pihole"
ynh_backup --src_path="/opt/pihole"

#=================================================
# BACKUP NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Backing up nginx web server configuration..."

ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"

#=================================================
# BACKUP PHP-FPM CONFIGURATION
#=================================================
ynh_script_progression --message="Backing up php-fpm configuration..."

ynh_backup --src_path="$fpm_config_dir/php-fpm-$app.conf"
ynh_backup --src_path="$fpm_config_dir/pool.d/$app.conf"

#=================================================
# SPECIFIC BACKUP
#=================================================
# BACKUP CRON FILE
#=================================================
ynh_script_progression --message="Backing up cron file..."

ynh_backup --src_path="/etc/cron.d/pihole"

#=================================================
# BACKUP SPECIFIC FILES
#=================================================
ynh_script_progression --message="Backing specific files..."

ynh_backup --src_path="/usr/local/bin/pihole"
ynh_backup --src_path="/etc/bash_completion.d/pihole"

ynh_backup --src_path="/etc/sudoers.d/pihole"

ynh_backup --src_path="/etc/init.d/pihole-FTL"
ynh_backup --src_path="/usr/bin/pihole-FTL"

ynh_backup --src_path="/etc/dnsmasq.d/01-pihole.conf"
if test -e "/etc/dnsmasq.d/02-pihole-dhcp.conf"; then
    ynh_backup --src_path="/etc/dnsmasq.d/02-pihole-dhcp.conf"
fi
if test -e "/etc/dnsmasq.d/03-pihole-wildcard.conf"; then
    ynh_backup --src_path="/etc/dnsmasq.d/03-pihole-wildcard.conf"
fi
if test -e "/etc/dnsmasq.d/04-pihole-static-dhcp.conf"; then
    ynh_backup --src_path="/etc/dnsmasq.d/04-pihole-static-dhcp.conf"
fi

ynh_backup --src_path="/usr/share/yunohost/hooks/conf_regen/50-dnsmasq_$app"

#=================================================
# END OF SCRIPT
#=================================================

ynh_script_progression --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." --last