#!/bin/bash

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

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

#=================================================
# INITIALIZE AND STORE SETTINGS
#=================================================

admin_password=$(ynh_string_random 24)
admin_password_hashed=$(mkpasswd -m md5crypt --stdin <<< "$admin_password")

ynh_app_setting_set --app="$app" --key="admin_password" --value="$admin_password"

#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Setting up source files..."

# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir"

chmod -R 700 "$install_dir/data"
chmod -R o-rwx "$install_dir"
chown -R "$app:www-data" "$install_dir"

#=================================================
# APP INITIAL CONFIGURATION
#=================================================
ynh_script_progression --message="Adding $app's configuration files..." --weight=1

# Adding the details of the database to the config file
ynh_add_config --template="config.ini.php" --destination="$install_dir/data/config.ini.php"

# Load initial SQL into the new database
ynh_add_config --template="sql/webtrees.sql" --destination="$install_dir/webtrees.sql"
ynh_add_config --template="sql/admin.sql" --destination="$install_dir/admin.sql"

ynh_mysql_connect_as --user="$db_user" --password="$db_pwd" --database="$db_name" < "$install_dir/webtrees.sql"
ynh_mysql_connect_as --user="$db_user" --password="$db_pwd" --database="$db_name" < "$install_dir/admin.sql"

ynh_secure_remove --file="$install_dir/webtrees.sql"
ynh_secure_remove --file="$install_dir/admin.sql"

#=================================================
# SYSTEM CONFIGURATION
#=================================================
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1

# Create a dedicated NGINX config
ynh_add_nginx_config

# Create a dedicated PHP-FPM config
ynh_add_fpm_config

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

ynh_script_progression --message="Installation of $app completed"