1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/garradin_ynh.git synced 2024-09-03 18:36:17 +02:00

Split config into several files

This commit is contained in:
Florent 2021-12-30 14:12:37 +01:00 committed by Florent F
parent 2e7cced587
commit 92b105e43d
7 changed files with 101 additions and 74 deletions

9
conf/config.local.php Normal file
View file

@ -0,0 +1,9 @@
<?php
/**
* NE PAS MODIFIER CE FICHIER. Il est généré automatiquement à chaque mise à jour de Yunohost
*
* Modifiez plutôt le fichier config.local.user.php
*/
require '__FINALPATH__/config.local.yunohost.php';
require '__FINALPATH__/config.local.user.php';

View file

@ -1,51 +0,0 @@
<?php
/**
* Activer la possibilité de faire une mise à jour semi-automatisée
* depuis fossil.kd2.org.
*
* Si mis à TRUE, alors un bouton sera accessible depuis le menu "Configuration"
* pour faire une mise à jour en deux clics.
*
* Il est conseillé de désactiver cette fonctionnalité si vous ne voulez pas
* permettre à un utilisateur de casser l'installation !
*
* Défaut : true, ajout pour l'environement Yunohost défaut : false
*
* @var bool
*/
const ENABLE_UPGRADES = false;
/**
* Commande de création de PDF
*
* Commande qui sera exécutée pour créer un fichier PDF à partir d'un HTML.
* Si laissé non spécifié (ou NULL), Garradin essaiera de détecter une solution entre
* PrinceXML, Chromium, wkhtmltopdf ou weasyprint.
*
* %1$s sera remplacé par le chemin du fichier HTML, et %2$s par le chemin du fichier PDF.
*
* Exemple : chromium --headless --print-to-pdf=%2$s %1$s
*
* Défaut : null
*/
//const PDF_COMMAND = 'wkhtmltopdf %2$s %1$s';
/**
* Clé de licence
*
* Cette clé permet de débloquer certaines fonctionnalités dans des extensions officielles.
*
* Pour l'obtenir il faut se créer un compte sur Garradin.eu
* et faire une contribution financière.
* La clé apparaîtra ensuite en dessous des informations
* de l'association dans la page "Mon abonnement Garradin.eu".
*
* Il faut recopier cette clé dans le fichier config.local.php
* dans la constante CONTRIBUTOR_LICENSE.
*
* Merci de ne pas essayer de contourner cette licence et de contribuer au
* financement de notre travail :-)
*/
//const CONTRIBUTOR_LICENSE = 'XXXXX';

View file

@ -0,0 +1,13 @@
<?php
/**
* Ce fichier représente un exemple des constantes de configuration
* disponibles pour Garradin.
*
* Modifiez ce fichier à votre guise, il ne sera pas modifié lors des mises à jour.
* Consultez le fichier config.dist.php pour disposer d'un exemple.
*
*/
// Nécessaire pour situer les constantes dans le bon namespace
namespace Garradin;

View file

@ -0,0 +1,58 @@
<?php
/**
* Ce fichier représente un exemple des constantes de configuration
* disponibles pour Garradin.
*
* NE PAS MODIFIER CE FICHIER!
*
* Ce fichier sera mis à jour à chaque nouvelle version de Yunohost
*
* Pour ajouter vos configurations personnalisées, rendez-vous dans le fichier config.local.user.php
*
*/
// Nécessaire pour situer les constantes dans le bon namespace
namespace Garradin;
/**
* Clé secrète, doit être unique à chaque instance de Garradin
*
* Ceci est utilisé afin de sécuriser l'envoi de formulaires
* (protection anti-CSRF).
*
* Cette valeur peut être modifiée sans autre impact que la déconnexion des utilisateurs
* actuellement connectés.
*
* Si cette constante n'est définie, Garradin ajoutera automatiquement
* une valeur aléatoire dans le fichier config.local.php.
*/
const SECRET_KEY = '__SECRET_KEY__';
/**
* Adresse URI de la racine du site Garradin
* (doit se terminer par un slash)
*
* Défaut : découverte automatique à partir de SCRIPT_NAME
*/
const WWW_URI = '__PATH__/';
/**
* Activer la possibilité de faire une mise à jour semi-automatisée
* depuis fossil.kd2.org.
*
* Si mis à TRUE, alors un bouton sera accessible depuis le menu "Configuration"
* pour faire une mise à jour en deux clics.
*
* Il est conseillé de désactiver cette fonctionnalité si vous ne voulez pas
* permettre à un utilisateur de casser l'installation !
*
* Défaut : true, ajout pour l'environement Yunohost défaut : false
*
* @var bool
*/
const ENABLE_UPGRADES = false;

View file

@ -8,7 +8,7 @@
YNH_PHP_VERSION="7.4" YNH_PHP_VERSION="7.4"
extra_php_dependencies="php${YNH_PHP_VERSION}-sqlite3 php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-imagick php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-cli" extra_php_dependencies="php${YNH_PHP_VERSION} php${YNH_PHP_VERSION}-sqlite3 php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-imagick php${YNH_PHP_VERSION}-intl php${YNH_PHP_VERSION}-cli"
#================================================= #=================================================
# PERSONAL HELPERS # PERSONAL HELPERS

View file

@ -84,18 +84,13 @@ ynh_add_fpm_config
#================================================= #=================================================
ynh_script_progression --message="Adding a configuration file..." --weight=5 ynh_script_progression --message="Adding a configuration file..." --weight=5
# copy config.dist.php creating config.local.php # create a key for the secret key CSFR:
cp -a $final_path/config.dist.php $final_path/config.local.php secret_key=$(ynh_string_random --length=50)
# create a key for the secret key CSFR;
key=$(ynh_string_random --length=50) # Install configuration files
# edit config.local.php ynh_add_config --template="config.local.php" --destination="$final_path/config.local.php"
ynh_replace_string --match_string="const SECRET_KEY = '3xUhIgGwuovRKOjVsVPQ5yUMfXUSIOX2GKzcebsz5OINrYC50r';" --replace_string="const SECRET_KEY = '$key';" --target_file="$final_path/config.local.php" ynh_add_config --template="config.local.yunohost.php" --destination="$final_path/config.local.yunohost.php"
if [ "$path_url" == "/" ]; then ynh_add_config --template="config.local.user.php" --destination="$final_path/config.local.user.php"
ynh_replace_string --match_string="//const WWW_URI = '/asso/';" --replace_string="const WWW_URI = '$path_url';" --target_file="$final_path/config.local.php"
else
ynh_replace_string --match_string="//const WWW_URI = '/asso/';" --replace_string="const WWW_URI = '$path_url/';" --target_file="$final_path/config.local.php"
fi
ynh_replace_string --match_string="//const ENABLE_UPGRADES = true;" --replace_string="const ENABLE_UPGRADES = false;" --target_file="$final_path/config.local.php"
# Permissions on files and directories # Permissions on files and directories
chmod -R o-rwx "$final_path" chmod -R o-rwx "$final_path"
@ -104,7 +99,9 @@ find "$final_path" -type d -exec chmod 550 {} +
find "$final_path" -type f -exec chmod 440 {} + find "$final_path" -type f -exec chmod 440 {} +
find "$final_path/data" -type d -exec chmod 770 {} + find "$final_path/data" -type d -exec chmod 770 {} +
find "$final_path/data" -type f -exec chmod 660 {} + find "$final_path/data" -type f -exec chmod 660 {} +
chmod 660 "$final_path/config.local.php" chmod 440 "$final_path/config.local.php"
chmod 440 "$final_path/config.local.yunohost.php"
chmod 660 "$final_path/config.local.user.php"
#================================================= #=================================================
# SETUP SSOWAT # SETUP SSOWAT

View file

@ -20,6 +20,7 @@ domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path) path_url=$(ynh_app_setting_get --app=$app --key=path)
final_path=$(ynh_app_setting_get --app=$app --key=final_path) || ynh_die "This path already contains a folder" final_path=$(ynh_app_setting_get --app=$app --key=final_path) || ynh_die "This path already contains a folder"
phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
secret_key=$(ynh_string_random --length=50)
#================================================= #=================================================
# CHECK VERSION # CHECK VERSION
@ -91,7 +92,7 @@ fi
if ynh_compare_current_package_version --comparison lt --version 0.9.8.1~ynh1 if ynh_compare_current_package_version --comparison lt --version 0.9.8.1~ynh1
then then
ynh_script_progression --message="Upgrading upgrade to 0.9.8" --weight=5 ynh_script_progression --message="Upgrading to 0.9.8" --weight=5
# Download, check integrity, uncompress and patch the source from 0.9.8.src # Download, check integrity, uncompress and patch the source from 0.9.8.src
ynh_setup_source --keep="config.local.php" --dest_dir="$final_path" --source_id="0.9.8" ynh_setup_source --keep="config.local.php" --dest_dir="$final_path" --source_id="0.9.8"
# Set permissions on app files # Set permissions on app files
@ -139,7 +140,7 @@ fi
if ynh_compare_current_package_version --comparison lt --version 1.1.0~ynh1 if ynh_compare_current_package_version --comparison lt --version 1.1.0~ynh1
then then
ynh_script_progression --message="Upgrading upgrade to 1.1.0" --weight=5 ynh_script_progression --message="Upgrading to 1.1.0" --weight=5
# Download, check integrity, uncompress and patch the source from 0.9.8.src # Download, check integrity, uncompress and patch the source from 0.9.8.src
ynh_setup_source --keep="config.local.php" --dest_dir="$final_path" --source_id="1.1.0" ynh_setup_source --keep="config.local.php" --dest_dir="$final_path" --source_id="1.1.0"
# Set permissions on app files # Set permissions on app files
@ -198,7 +199,7 @@ ynh_script_progression --message="Upgrading source files..." --weight=5
if [ "$upgrade_type" == "UPGRADE_APP" ] if [ "$upgrade_type" == "UPGRADE_APP" ]
then then
# Download, check integrity, uncompress and patch the source from app.src # Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --keep="config.local.php" --dest_dir="$final_path" ynh_setup_source --keep="config.local.user.php" --dest_dir="$final_path"
fi fi
#================================================= #=================================================
@ -258,9 +259,9 @@ fi
#================================================= #=================================================
ynh_script_progression --message="Adding a configuration file..." --weight=5 ynh_script_progression --message="Adding a configuration file..." --weight=5
ynh_add_config --template="config.local.release.php" --destination="$final_path/config.local.release.php" ynh_add_config --template="config.local.php" --destination="$final_path/config.local.php"
ynh_add_config --template="config.local.yunohost.php" --destination="$final_path/config.local.yunohost.php"
echo -e "\n require 'config.local.release.php;'" >> $final_path/config.local.php # NOTE: Don't overwrite config.local.user.php
# Permissions on files and directories # Permissions on files and directories
chmod -R o-rwx "$final_path" chmod -R o-rwx "$final_path"
@ -269,8 +270,9 @@ find "$final_path" -type d -exec chmod 550 {} +
find "$final_path" -type f -exec chmod 440 {} + find "$final_path" -type f -exec chmod 440 {} +
find "$final_path/data" -type d -exec chmod 770 {} + find "$final_path/data" -type d -exec chmod 770 {} +
find "$final_path/data" -type f -exec chmod 660 {} + find "$final_path/data" -type f -exec chmod 660 {} +
chmod 660 "$final_path/config.local.php" chmod 440 "$final_path/config.local.php"
chmod 660 "$final_path/config.local.release.php" chmod 440 "$final_path/config.local.yunohost.php"
chmod 660 "$final_path/config.local.user.php"
#================================================= #=================================================
# RELOAD NGINX # RELOAD NGINX
@ -285,7 +287,6 @@ ynh_systemd_action --service_name=nginx --action=reload
ynh_script_progression --message="Finalise upgrade" --weight=1 ynh_script_progression --message="Finalise upgrade" --weight=1
ynh_local_curl "/admin/index.php" ynh_local_curl "/admin/index.php"
chmod 440 "$final_path/config.local.php"
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT