6 changed files with 263 additions and 6 deletions
-
11actions.toml
-
40config_panel.toml
-
73scripts/actions/public_private
-
100scripts/config
-
4scripts/install
-
41scripts/upgrade
@ -0,0 +1,11 @@ |
|||
[public_private] |
|||
name = "Move to public or private" |
|||
command = "/bin/bash scripts/actions/public_private" |
|||
accepted_return_codes = [0] |
|||
description = "Change the public access of the app." |
|||
|
|||
[public_private.arguments] |
|||
[public_private.arguments.is_public] |
|||
type = "boolean" |
|||
ask = "Is it a public app ?" |
|||
default = true |
|||
@ -0,0 +1,40 @@ |
|||
version = "0.1" |
|||
name = "Wordpress configuration panel" |
|||
|
|||
[main] |
|||
name = "Wordpress configuration" |
|||
|
|||
|
|||
[main.is_public] |
|||
name = "Public access" |
|||
|
|||
[main.is_public.is_public] |
|||
ask = "Is it a public WordPress site ?" |
|||
type = "boolean" |
|||
default = true |
|||
|
|||
|
|||
[main.overwrite_files] |
|||
name = "Overwriting config files" |
|||
|
|||
[main.overwrite_files.overwrite_nginx] |
|||
ask = "Overwrite the nginx config file ?" |
|||
type = "boolean" |
|||
default = true |
|||
help = "If the file is overwritten, a backup will be created." |
|||
|
|||
[main.overwrite_files.overwrite_phpfpm] |
|||
ask = "Overwrite the php-fpm config file ?" |
|||
type = "boolean" |
|||
default = true |
|||
help = "If the file is overwritten, a backup will be created." |
|||
|
|||
|
|||
[main.global_config] |
|||
name = "Global configuration" |
|||
|
|||
[main.global_config.email_type] |
|||
ask = "Send HTML email to admin ?" |
|||
type = "boolean" |
|||
default = true |
|||
help = "Allow app scripts to send HTML mails instead of plain text." |
|||
@ -0,0 +1,73 @@ |
|||
#!/bin/bash |
|||
|
|||
#================================================= |
|||
# GENERIC STARTING |
|||
#================================================= |
|||
# IMPORT GENERIC HELPERS |
|||
#================================================= |
|||
|
|||
source /usr/share/yunohost/helpers |
|||
|
|||
#================================================= |
|||
# RETRIEVE ARGUMENTS |
|||
#================================================= |
|||
|
|||
# Get is_public |
|||
is_public=${YNH_ACTION_IS_PUBLIC} |
|||
|
|||
app=${YNH_APP_INSTANCE_NAME:-$YNH_APP_ID} |
|||
|
|||
#================================================= |
|||
# CHECK IF ARGUMENTS ARE CORRECT |
|||
#================================================= |
|||
|
|||
#================================================= |
|||
# CHECK IF AN ACTION HAS TO BE DONE |
|||
#================================================= |
|||
|
|||
is_public_old=$(ynh_app_setting_get --app=$app --key=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 |
|||
public_private="private" |
|||
else |
|||
public_private="public" |
|||
fi |
|||
ynh_script_progression --message="Moving the application to $public_private..." --weight=3 |
|||
|
|||
if [ $is_public -eq 0 ] |
|||
then |
|||
ynh_app_setting_delete --app=$app --key=unprotected_uris |
|||
else |
|||
ynh_app_setting_set --app=$app --key=unprotected_uris --value="/" |
|||
fi |
|||
|
|||
ynh_script_progression --message="Upgrading SSOwat configuration..." |
|||
# Regen ssowat configuration |
|||
yunohost app ssowatconf |
|||
|
|||
# Update the config of the app |
|||
ynh_app_setting_set --app=$app --key=is_public --value=$is_public |
|||
|
|||
#================================================= |
|||
# RELOAD NGINX |
|||
#================================================= |
|||
ynh_script_progression --message="Reloading nginx web server..." |
|||
|
|||
ynh_systemd_action --service_name=nginx --action=reload |
|||
|
|||
#================================================= |
|||
# END OF SCRIPT |
|||
#================================================= |
|||
|
|||
ynh_script_progression --message="Execution completed" --last |
|||
@ -0,0 +1,100 @@ |
|||
#!/bin/bash |
|||
|
|||
#================================================= |
|||
# GENERIC STARTING |
|||
#================================================= |
|||
# IMPORT GENERIC HELPERS |
|||
#================================================= |
|||
|
|||
source _common.sh |
|||
source /usr/share/yunohost/helpers |
|||
|
|||
#================================================= |
|||
# RETRIEVE ARGUMENTS |
|||
#================================================= |
|||
|
|||
app=${YNH_APP_INSTANCE_NAME:-$YNH_APP_ID} |
|||
|
|||
#================================================= |
|||
# LOAD VALUES |
|||
#================================================= |
|||
|
|||
# Load the real value from the app config or elsewhere. |
|||
# Then get the value from the form. |
|||
# If the form has a value for a variable, take the value from the form, |
|||
# Otherwise, keep the value from the app config. |
|||
|
|||
# is_public |
|||
old_is_public="$(ynh_app_setting_get --app=$app --key=is_public)" |
|||
is_public="${YNH_CONFIG_MAIN_IS_PUBLIC_IS_PUBLIC:-$old_is_public}" |
|||
|
|||
# Overwrite nginx configuration |
|||
old_overwrite_nginx="$(ynh_app_setting_get --app=$app --key=overwrite_nginx)" |
|||
overwrite_nginx="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX:-$old_overwrite_nginx}" |
|||
|
|||
# Overwrite php-fpm configuration |
|||
old_overwrite_phpfpm="$(ynh_app_setting_get --app=$app --key=overwrite_phpfpm)" |
|||
overwrite_phpfpm="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_PHPFPM:-$old_overwrite_phpfpm}" |
|||
|
|||
# Type of admin mail configuration |
|||
old_admin_mail_html="$(ynh_app_setting_get $app admin_mail_html)" |
|||
admin_mail_html="${YNH_CONFIG_MAIN_GLOBAL_CONFIG_EMAIL_TYPE:-$old_admin_mail_html}" |
|||
|
|||
#================================================= |
|||
# SHOW_CONFIG FUNCTION FOR 'SHOW' COMMAND |
|||
#================================================= |
|||
|
|||
show_config() { |
|||
# here you are supposed to read some config file/database/other then print the values |
|||
# ynh_return "YNH_CONFIG_${PANEL_ID}_${SECTION_ID}_${OPTION_ID}=value" |
|||
|
|||
ynh_return "YNH_CONFIG_MAIN_IS_PUBLIC_IS_PUBLIC=$is_public" |
|||
|
|||
ynh_return "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX=$overwrite_nginx" |
|||
ynh_return "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_PHPFPM=$overwrite_phpfpm" |
|||
|
|||
ynh_return "YNH_CONFIG_MAIN_GLOBAL_CONFIG_EMAIL_TYPE=$admin_mail_html" |
|||
} |
|||
|
|||
#================================================= |
|||
# MODIFY THE CONFIGURATION |
|||
#================================================= |
|||
|
|||
apply_config() { |
|||
|
|||
# Change public accessibility |
|||
if [ "$is_public" = "true" ] |
|||
then |
|||
yunohost app action run $app public_private --args is_public=1 |
|||
else |
|||
yunohost app action run $app public_private --args is_public=0 |
|||
fi |
|||
|
|||
#================================================= |
|||
# MODIFY OVERWRITTING SETTINGS |
|||
#================================================= |
|||
|
|||
# Set overwrite_nginx |
|||
ynh_app_setting_set --app=$app --key=overwrite_nginx --value="$overwrite_nginx" |
|||
|
|||
# Set overwrite_phpfpm |
|||
ynh_app_setting_set --app=$app --key=overwrite_phpfpm --value="$overwrite_phpfpm" |
|||
|
|||
#================================================= |
|||
# MODIFY EMAIL SETTING |
|||
#================================================= |
|||
|
|||
# Set admin_mail_html |
|||
ynh_app_setting_set --app=$app --key=admin_mail_html --value="$admin_mail_html" |
|||
} |
|||
|
|||
#================================================= |
|||
# GENERIC FINALIZATION |
|||
#================================================= |
|||
# SELECT THE ACTION FOLLOWING THE GIVEN ARGUMENT |
|||
#================================================= |
|||
|
|||
case $1 in |
|||
show) show_config;; |
|||
apply) apply_config;; |
|||
esac |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue