1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/snserver_ynh.git synced 2024-09-03 20:26:22 +02:00

Add config-panel feature

This commit is contained in:
Fabian Wilkens 2021-01-22 23:47:08 +01:00
parent 4ad8116a0b
commit dcc52cea2d
6 changed files with 92 additions and 0 deletions

View file

@ -1,4 +1,5 @@
Standard Notes - Syncing Server was successfully __TYPE__. Standard Notes - Syncing Server was successfully __TYPE__.
Please configure the Standard Notes web app or mobile app to use this syninc server: https://__DOMAIN____PATH_URL__/ Please configure the Standard Notes web app or mobile app to use this syninc server: https://__DOMAIN____PATH_URL__/
__ACTION__ __ACTION__
__CONFIG_PANEL__
__EXTENSIONS__ __EXTENSIONS__

14
config_panel.toml Normal file
View file

@ -0,0 +1,14 @@
version = "1.0"
name = "SNServer configuration panel"
[main]
name = "SNserver configuration"
[main.access_domain]
name = "Access Domain"
[main.access_domain.access_domain]
ask = "Which web app can access the Standart Notes Extensions?"
type = "string"
default = ""
help = "Please enter the domain without the path of a Standart Notes Web App, which should have access to the Standard Notes Extensions.<br>Example: domain.tld, notes.domain.tld"

View file

@ -180,6 +180,7 @@ admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)
message_extensions="To install extensions open this page: https://$domain$path_url/extensions/\n\ message_extensions="To install extensions open this page: https://$domain$path_url/extensions/\n\
You changed the url of the syncing server. All extensions installed from here must be reinstalled by the users." You changed the url of the syncing server. All extensions installed from here must be reinstalled by the users."
action="You can find some specific actions for this app by using the experimental __URL_TAG1__action feature__URL_TAG2__$admin_panel/actions__URL_TAG3__" action="You can find some specific actions for this app by using the experimental __URL_TAG1__action feature__URL_TAG2__$admin_panel/actions__URL_TAG3__"
config_panel="You can find some specific configurations for this app by using the experimental __URL_TAG1__config-panel feature__URL_TAG2__$admin_panel/config-panel__URL_TAG3__"
ynh_replace_string --match_string="__TYPE__" --replace_string="changed the url" --target_file="../conf/message" ynh_replace_string --match_string="__TYPE__" --replace_string="changed the url" --target_file="../conf/message"
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/message" ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/message"
@ -192,6 +193,7 @@ else
ynh_replace_string --match_string="__EXTENSIONS__" --replace_string="" --target_file="../conf/message" ynh_replace_string --match_string="__EXTENSIONS__" --replace_string="" --target_file="../conf/message"
fi fi
ynh_replace_string --match_string="__ACTION__" --replace_string="$action" --target_file="../conf/message" ynh_replace_string --match_string="__ACTION__" --replace_string="$action" --target_file="../conf/message"
ynh_replace_string --match_string="__CONFIG_PANEL__" --replace_string="$config_panel" --target_file="../conf/message"
ynh_send_readme_to_admin --app_message="../conf/message" --type='upgrade' ynh_send_readme_to_admin --app_message="../conf/message" --type='upgrade'

67
scripts/config Executable file
View file

@ -0,0 +1,67 @@
#!/bin/bash
#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
source ./_common.sh
source /usr/share/yunohost/helpers
# Stop script if errors
ynh_abort_if_errors
#=================================================
# RETRIEVE ARGUMENTS
#=================================================
app=$YNH_APP_INSTANCE_NAME
access_domain=$(ynh_app_setting_get --app=$app --key=access_domain)
domain=$(ynh_app_setting_get --app=$app --key=domain)
#=================================================
# SHOW_CONFIG FUNCTION FOR 'SHOW' COMMAND
#=================================================
show_config() {
if [ ! -z $access_domain ]
then
ynh_return "YNH_CONFIG_MAIN_ACCESS_DOMAIN_ACCESS_DOMAIN=$access_domain"
else
ynh_return "YNH_CONFIG_MAIN_ACCESS_DOMAIN_ACCESS_DOMAIN=$domain"
fi
}
#=================================================
# MODIFY THE CONFIGURATION
#=================================================
apply_config() {
access_domain=${YNH_CONFIG_MAIN_ACCESS_DOMAIN_ACCESS_DOMAIN:-$access_domain}
ynh_print_info "1: $access_domain"
ynh_app_setting_set --app=$app --key=access_domain --value=$access_domain
access_domain=$(ynh_app_setting_get --app=$app --key=access_domain)
ynh_print_info "2: $access_domain"
nginx_conf_path=/etc/nginx/conf.d/$domain.d/$app.conf
ynh_delete_file_checksum --file=$nginx_conf_path
ynh_replace_string \
--match_string='more_set_headers "X-Frame-Options: allow-from .*";' \
--replace_string='more_set_headers "X-Frame-Options: allow-from '$access_domain'";' \
--target_file=$nginx_conf_path
ynh_store_file_checksum --file=$nginx_conf_path
systemctl reload nginx
}
#=================================================
# GENERIC FINALIZATION
#=================================================
# SELECT THE ACTION FOLLOWING THE GIVEN ARGUMENT
#=================================================
case $1 in
show) show_config;;
apply) apply_config;;
esac

View file

@ -34,6 +34,10 @@ then
access_domain=$domain access_domain=$domain
else else
access_domain=$YNH_APP_ARG_ACCESS_DOMAIN access_domain=$YNH_APP_ARG_ACCESS_DOMAIN
if [ -z $access_domain ]
then
access_domain=$domain
fi
fi fi
#================================================= #=================================================
@ -294,6 +298,7 @@ You can configure this app by using the config-panel"
admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app" admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app"
action="You can find some specific actions for this app by using the experimental __URL_TAG1__action feature__URL_TAG2__$admin_panel/actions__URL_TAG3__" action="You can find some specific actions for this app by using the experimental __URL_TAG1__action feature__URL_TAG2__$admin_panel/actions__URL_TAG3__"
config_panel="You can find some specific configurations for this app by using the experimental __URL_TAG1__config-panel feature__URL_TAG2__$admin_panel/config-panel__URL_TAG3__"
ynh_replace_string --match_string="__TYPE__" --replace_string="installed" --target_file="../conf/message" ynh_replace_string --match_string="__TYPE__" --replace_string="installed" --target_file="../conf/message"
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/message" ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/message"
@ -306,6 +311,7 @@ else
ynh_replace_string --match_string="__EXTENSIONS__" --replace_string="$message_no_extensions" --target_file="../conf/message" ynh_replace_string --match_string="__EXTENSIONS__" --replace_string="$message_no_extensions" --target_file="../conf/message"
fi fi
ynh_replace_string --match_string="__ACTION__" --replace_string="$action" --target_file="../conf/message" ynh_replace_string --match_string="__ACTION__" --replace_string="$action" --target_file="../conf/message"
ynh_replace_string --match_string="__CONFIG_PANEL__" --replace_string="$config_panel" --target_file="../conf/message"
ynh_send_readme_to_admin --app_message="../conf/message" --type='install' ynh_send_readme_to_admin --app_message="../conf/message" --type='install'

View file

@ -341,6 +341,7 @@ You can configure this app by using the config-panel"
admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app" admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app"
action="You can find some specific actions for this app by using the experimental __URL_TAG1__action feature__URL_TAG2__$admin_panel/actions__URL_TAG3__" action="You can find some specific actions for this app by using the experimental __URL_TAG1__action feature__URL_TAG2__$admin_panel/actions__URL_TAG3__"
config_panel="You can find some specific configurations for this app by using the experimental __URL_TAG1__config-panel feature__URL_TAG2__$admin_panel/config-panel__URL_TAG3__"
ynh_replace_string --match_string="__TYPE__" --replace_string="installed" --target_file="../conf/message" ynh_replace_string --match_string="__TYPE__" --replace_string="installed" --target_file="../conf/message"
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/message" ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="../conf/message"
@ -353,6 +354,7 @@ else
ynh_replace_string --match_string="__EXTENSIONS__" --replace_string="$message_no_extensions" --target_file="../conf/message" ynh_replace_string --match_string="__EXTENSIONS__" --replace_string="$message_no_extensions" --target_file="../conf/message"
fi fi
ynh_replace_string --match_string="__ACTION__" --replace_string="$action" --target_file="../conf/message" ynh_replace_string --match_string="__ACTION__" --replace_string="$action" --target_file="../conf/message"
ynh_replace_string --match_string="__CONFIG_PANEL__" --replace_string="$config_panel" --target_file="../conf/message"
ynh_send_readme_to_admin --app_message="../conf/message" --type='upgrade' ynh_send_readme_to_admin --app_message="../conf/message" --type='upgrade'