2015-05-31 13:46:25 +02:00
#!/bin/bash
2018-03-13 21:49:11 +01:00
#=================================================
# GENERIC STARTING
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
2017-02-06 23:40:55 +01:00
source /usr/share/yunohost/helpers
source _common.sh
2015-05-31 13:46:25 +02:00
2018-03-13 21:49:11 +01:00
#=================================================
# LOAD SETTINGS
#=================================================
2017-02-06 23:40:55 +01:00
export app=$YNH_APP_INSTANCE_NAME
2017-02-06 23:50:47 +01:00
export domain=$(ynh_app_setting_get $app domain)
2018-03-13 21:49:11 +01:00
export path_url=$(ynh_app_setting_get $app path)
2017-02-06 23:50:47 +01:00
export admin=$(ynh_app_setting_get $app admin)
2018-03-13 21:49:11 +01:00
export final_path=$(ynh_app_setting_get $app final_path)
2017-02-10 00:50:37 +01:00
export is_public=$(ynh_app_setting_get $app is_public)
export prefix=$(ynh_app_setting_get $app prefix)
2018-03-13 21:49:11 +01:00
export db_pwd=$(ynh_app_setting_get $app mysqlpwd)
export db_name=$(ynh_app_setting_get $app db_name)
export db_user=$(ynh_app_setting_get $app db_user)
#=================================================
# CHECK VERSION
#=================================================
ynh_abort_if_up_to_date
#=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#=================================================
# Backup the current version of the app
ynh_backup_before_upgrade
ynh_clean_setup () {
# restore it if the upgrade fails
ynh_restore_upgradebackup
}
# Exit if an error occurs during the execution of the script
ynh_abort_if_errors
#=================================================
# CHECK THE PATH
#=================================================
path_url=$(ynh_normalize_url_path $path_url) # Vérifie et corrige la syntaxe du path.
#=================================================
# STEP Migrations
#=================================================
if ynh_version_le "2.0.5" ; then
is_public=${is_public:-0}
prefix=${prefix:-prefix_}
db_name=${db_name:-$app}
final_path=$(ynh_app_setting_get $app local_path)
ynh_save_args path_url is_public prefix db_name final_path db_user
ynh_install_app_dependencies $pkg_dependencies
# Move the upload dir to final_path if needed
2017-02-06 23:40:55 +01:00
# The upload dir can't be symlinked in home (not supported by LS)
upload_path=/home/yunohost.app/$app/upload
2018-03-13 21:49:11 +01:00
if [ -h $final_path/upload ]; then
rm $final_path/upload
mv $upload_path $final_path/
2015-06-01 00:00:38 +02:00
fi
2017-02-06 23:40:55 +01:00
2017-02-07 03:09:09 +01:00
ynh_app_setting_delete $app skipped_uris
2017-02-06 23:40:55 +01:00
ynh_sso_access "/index.php?r=admin,/index.php?r=plugins,/scripts"
ynh_configure migrations/2.0.5.sql ./2.0.5.sql
2018-03-13 21:49:11 +01:00
mysql -u $app -p$db_pwd $db_name < ./2.0.5.sql
2017-02-06 23:40:55 +01:00
fi
2018-03-14 14:43:51 +01:00
if ynh_version_le "2.62.2-2" ; then
# Move old templates in backup dir
mv $final_path/upload/templates /home/yunohost.backup/$app-old-templates
fi
2017-02-06 23:40:55 +01:00
2018-03-13 21:49:11 +01:00
#=================================================
# STANDARD UPGRADE STEPS
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
2017-02-06 23:40:55 +01:00
# Backup config, plugins and themes and delete previous files
ynh_save_persistent modules themes plugins
ynh_save_persistent data application/config/config.php upload
# Copie new files and restore config, plugins, upload and themes
2018-03-13 21:49:11 +01:00
ynh_secure_remove $final_path
ynh_setup_source "$final_path" # Télécharge la source, décompresse et copie dans $final_path
2018-03-14 03:32:46 +01:00
# Restore config, plugins and themes
ynh_restore_persistent modules
ynh_restore_persistent data
2018-03-13 21:49:11 +01:00
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_add_nginx_config
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_system_user_create $app # Create the dedicated user, if not exist
2015-06-01 00:00:38 +02:00
2018-03-13 21:49:11 +01:00
#=================================================
# PHP-FPM CONFIGURATION
#=================================================
ynh_add_fpm_config # Créer le fichier de configuration du pool php-fpm et le configure.
#=================================================
# SECURING FILES AND DIRECTORIES
#=================================================
set_permissions
#=================================================
# UPGRADE DB
#=================================================
2015-06-01 00:00:38 +02:00
2017-02-06 23:40:55 +01:00
# Migrate DB
2018-03-13 21:49:11 +01:00
cd $final_path/application/commands
2017-02-06 23:40:55 +01:00
ynh_exec_as "$app" php console.php update
2015-05-31 13:46:25 +02:00
2018-03-13 21:49:11 +01:00
#=================================================
# RELOAD NGINX
#=================================================
ynh_system_reload nginx
2018-03-14 14:43:51 +01:00
#=================================================
# Send message to the admin
#=================================================
if ynh_version_le "2.62.2-2" ; then
message="LimeSurvey has been upgraded from version to version 3, note this new version change completely the survey themes system. If you have added or created manually some templates they won't be available in your LimeSurvey, a copy of their source code has been done in /home/yunohost.backup/$app-old-templates/. See https://manual.limesurvey.org/New_Template_System_in_LS3.x"
ynh_warn "$message"
ynh_send_readme_to_admin "$message" "$admin"
fi