7 changed files with 199 additions and 36 deletions
-
36actions.json
-
37config_panel.json
-
18scripts/_common.sh
-
18scripts/actions/public_private
-
88scripts/config
-
2scripts/install
-
36scripts/upgrade
@ -1,20 +1,20 @@ |
|||
[{ |
|||
"id": "public_private", |
|||
"name": "Move to public or private", |
|||
"command": "/bin/bash scripts/actions/public_private", |
|||
"user": "root", |
|||
"accepted_return_codes": [0], |
|||
"description": { |
|||
"en": "Change the public access of the app." |
|||
}, |
|||
"arguments": [ |
|||
{ |
|||
"name": "is_public", |
|||
"type": "boolean", |
|||
"ask": { |
|||
"en": "Is it a public app ? (1/0) (1=yes; 0=no)" |
|||
}, |
|||
"default": true |
|||
} |
|||
] |
|||
"id": "public_private", |
|||
"name": "Move to public or private", |
|||
"command": "/bin/bash scripts/actions/public_private", |
|||
"user": "root", |
|||
"accepted_return_codes": [0], |
|||
"description": { |
|||
"en": "Change the public access of the app." |
|||
}, |
|||
"arguments": [ |
|||
{ |
|||
"name": "is_public", |
|||
"type": "boolean", |
|||
"ask": { |
|||
"en": "Is it a public app ?" |
|||
}, |
|||
"default": true |
|||
} |
|||
] |
|||
}] |
|||
@ -0,0 +1,37 @@ |
|||
{ |
|||
"name": "Wordpress configuration panel", |
|||
"version": "0.1", |
|||
"panel": [{ |
|||
"name": "Wordpress configuration", |
|||
"id": "main", |
|||
"sections": [{ |
|||
"name": "Public access", |
|||
"id": "is_public", |
|||
"options": [{ |
|||
"name": "Is it a public app ?", |
|||
"id": "is_public", |
|||
"type": "bool", |
|||
"default": true |
|||
}] |
|||
}, |
|||
{ |
|||
"name": "Overwriting config files", |
|||
"id": "overwrite_files", |
|||
"options": [{ |
|||
"name": "Overwrite the nginx config file ?", |
|||
"help": "If the file is overwritten, a backup will be created.", |
|||
"id": "overwrite_nginx", |
|||
"type": "bool", |
|||
"default": true |
|||
}, |
|||
{ |
|||
"name": "Overwrite the php-fpm config file ?", |
|||
"help": "If the file is overwritten, a backup will be created.", |
|||
"id": "overwrite_phpfpm", |
|||
"type": "bool", |
|||
"default": true |
|||
}] |
|||
}] |
|||
} |
|||
] |
|||
} |
|||
@ -0,0 +1,88 @@ |
|||
#!/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} |
|||
|
|||
#================================================= |
|||
# SPECIFIC CODE |
|||
#================================================= |
|||
# 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 is_public)" |
|||
old_is_public=$(bool_to_true_false $old_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 overwrite_nginx)" |
|||
old_overwrite_nginx=$(bool_to_true_false $old_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 overwrite_phpfpm)" |
|||
old_overwrite_phpfpm=$(bool_to_true_false $old_overwrite_phpfpm) |
|||
overwrite_phpfpm="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_PHPFPM:-$old_overwrite_phpfpm}" |
|||
|
|||
#================================================= |
|||
# SHOW_CONFIG FUNCTION FOR 'SHOW' COMMAND |
|||
#================================================= |
|||
|
|||
show_config() { |
|||
# here you are supposed to read some config file/database/other then print the values |
|||
# echo "YNH_CONFIG_${PANEL_ID}_${SECTION_ID}_${OPTION_ID}=value" |
|||
|
|||
echo "YNH_CONFIG_MAIN_IS_PUBLIC_IS_PUBLIC=$is_public" |
|||
|
|||
echo "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX=$overwrite_nginx" |
|||
echo "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_PHPFPM=$overwrite_phpfpm" |
|||
} |
|||
|
|||
#================================================= |
|||
# 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 |
|||
|
|||
# Set overwrite_nginx |
|||
overwrite_nginx=$(bool_to_01 $overwrite_nginx) |
|||
ynh_app_setting_set $app overwrite_nginx "$overwrite_nginx" |
|||
# Set overwrite_phpfpm |
|||
overwrite_phpfpm=$(bool_to_01 $overwrite_phpfpm) |
|||
ynh_app_setting_set $app overwrite_phpfpm "$overwrite_phpfpm" |
|||
} |
|||
|
|||
#================================================= |
|||
# 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