#!/bin/bash #================================================= # GENERIC STARTING #================================================= # IMPORT GENERIC HELPERS #================================================= source scripts/_common.sh source /usr/share/yunohost/helpers #================================================= # RETRIEVE ARGUMENTS #================================================= # Get is_public is_public=${YNH_ACTION_IS_PUBLIC} app=${YNH_APP_INSTANCE_NAME:-$YNH_APP_ID} domain=$(ynh_app_setting_get $app domain) path_url=$(ynh_app_setting_get $app path) port=$(ynh_app_setting_get $app port) final_path=$(ynh_app_setting_get $app final_path) secret=$(ynh_app_setting_get $app secret) db_name=$(ynh_app_setting_get $app db_name) db_user=$db_name db_pwd=$(ynh_app_setting_get $app psqlpwd) theme=$(ynh_app_setting_get $app theme) hashed_password=$(ynh_app_setting_get $app hashed_password) #================================================= # CHECK IF ARGUMENTS ARE CORRECT #================================================= #================================================= # CHECK IF AN ACTION HAS TO BE DONE #================================================= is_public_old=$(ynh_app_setting_get $app is_public) if [ $is_public -eq $is_public_old ] then ynh_die --message="is_public is already set as $is_public." --ret_code=0 fi #================================================= # SPECIFIC ACTION #================================================= # MOVE TO PUBLIC OR PRIVATE #================================================= if [ $is_public -eq 0 ]; then ynh_add_config --template="../conf/lstu.conf.ldap" --destination="$final_path/lstu.conf" else ynh_add_config --template="../conf/lstu.conf.template" --destination="$final_path/lstu.conf" fi if [ $is_public -eq 0 ]; then public_private="private" else public_private="public" fi if [ $is_public -eq 0 ] then # If the app is private, only the shortened URLs are publics. if [ "$path_url" == "/" ]; then # If the path is /, clear it to prevent any error with the regex. path_url="" fi # Modify the domain to be used in a regex domain_regex=$(echo "$domain" | sed 's@-@.@g') ynh_app_setting_set $app protected_regex "$domain_regex$path_url/login$","$domain_regex$path_url/logout$","$domain_regex$path_url/api$","$domain_regex$path_url/extensions$","$domain_regex$path_url/stats$","$domain_regex$path_url/d/.*$","$domain_regex$path_url/a$","$domain_regex$path_url/$" else ynh_app_setting_delete $app protected_regex fi # Regen ssowat configuration yunohost app ssowatconf # Update the config of the app ynh_app_setting_set $app is_public $is_public #================================================= # RELOAD NGINX #================================================= ynh_systemd_action --service_name=$app --action="reload" --log_path="systemd" --line_match="Server available at" #================================================= # END OF SCRIPT #=================================================