#!/bin/bash

set -eu

# Get multi-instances specific variables
app=$YNH_APP_INSTANCE_NAME

# Set app specific variables
dbname=$app
dbuser=$app

# Source app helpers
source /usr/share/yunohost/helpers

# Retrieve app settings
domain=$(ynh_app_setting_get "$app" domain)
path=$(ynh_app_setting_get "$app" path)
dbpass=$(ynh_app_setting_get "$app" mysqlpwd)

# Copy the app source files
DESTDIR="/var/www/$app"
ynh_backup "$DESTDIR" "www"

# Copy the data directory
backup_core_only=$(ynh_app_setting_get "$app" backup_core_only)
if [ -z $backup_core_only ]	# Si backup_core_only a une valeur dans le fichier settings.yml, ne sauvegarde pas le dossier data
then
	DATADIR="/home/yunohost.app/${app}/data"
	ynh_backup "$DATADIR" "data" 1
else
	echo "Data dir will not saved, because backup_core_only is set." >&2
fi

# Copy the conf files
mkdir ./conf
ynh_backup "/etc/nginx/conf.d/${domain}.d/${app}.conf" "conf/nginx.conf"
ynh_backup "/etc/php5/fpm/pool.d/${app}.conf" "conf/php-fpm.conf"
ynh_backup "/etc/cron.d/${app}" "conf/cron"

# Dump the database
mysqldump -u "$dbuser" -p"$dbpass" --no-create-db "$dbname" > ./db.sql

# Copy the control file of the dependency package
# FIXME: find a way to retrieve package name from _common.sh?
dpkg-query -s nextcloud-deps > ./nextcloud-deps.control

# Backup the logrotate configuration file
ynh_backup "/etc/logrotate.d/$app" "logrotate"