#!/bin/bash app="limesurvey" domain=$(sudo yunohost app setting $app domain) path=$(sudo yunohost app setting $app path) admin=$(sudo yunohost app setting $app admin) db_pwd=$(sudo yunohost app setting $app mysqlpwd) db_user=$app # Remove trailing "/" for next commands path=${path%/} final_path=/var/www/$app upload_path=/home/yunohost.app/$app/upload sudo mkdir -p $final_path sudo mkdir -p $upload_path # Backup config, plugins and themes and delete previous files sudo mv $final_path/application/config/config.php $final_path/ old_pwd=$(pwd) cd $final_path sudo mkdir -p old_plugins sudo mv plugins/* old_plugins \ || echo "No app to backup" sudo mkdir -p old_themes sudo mv themes/* old_themes \ || echo "No themes to backup" if [ ! -h $final_path/upload ]; then sudo mv $final_path/upload/* $upload_path/ \ || echo "No upload to move" fi shopt -s extglob sudo rm -Rf !(old_plugins|old_themes|config.php) shopt -u extglob # Copie new files and restore config, plugins and themes cd $old_pwd sudo cp -a ../sources/* $final_path cd $final_path/old_plugins sudo rm -Rf $(ls $final_path/plugins) cd $final_path/old_themes sudo rm -Rf $(ls $final_path/themes) cd $old_pwd sudo cp -a $final_path/old_plugins/* $final_path/plugins/ \ || echo "No plugin to restore" sudo cp -a $final_path/old_themes/* $final_path/themes/ \ || echo "No theme to restore" sudo mv $final_path/config.php $final_path/application/config/ # Reset Upload symbolic link sudo rm -Rf $final_path/upload sudo ln -s $upload_path ../sources/upload # Create user for user in $(sudo yunohost user list | grep '^ [^ ]*:' | sed -e "s/^ \([^ ]*\):/\1/g") do if [ $user != $admin ]; then mysql -u $db_user -p$db_pwd $db_user -e "INSERT IGNORE INTO prefix_users (users_name) VALUES ('$user');INSERT IGNORE INTO prefix_permissions (entity,entity_id,uid,permission,create_p,read_p,update_p,delete_p,import_p,export_p) SELECT 'global',0,uid,'surveys',1,1,1,1,0,1 FROM prefix_users WHERE users_name='$user'" fi done # Set permissions sudo chown -R www-data:www-data $final_path sudo chown -R www-data:www-data $upload_path sudo chmod -R 664 $final_path sudo find $final_path -type d -print0 | xargs -0 sudo chmod 775 \ || echo "No file to modify" sudo chmod -R 664 $upload_path sudo find $upload_path -type d -print0 | xargs -0 sudo chmod 775 \ || echo "No file to modify" sudo chmod u+w $final_path/tmp sudo chmod u+w $upload_path sudo chmod u+w $final_path/application/config/