From 48e22da9d17ab6ae658be98d0997f226924fcacb Mon Sep 17 00:00:00 2001 From: Felix Bartels Date: Sat, 30 Mar 2019 19:37:19 +0100 Subject: [PATCH] Rework php cfg handling a bit (#135) * make sed matching a bit more strict * append settings if not found instead of throwing error fixes #133 --- Makefile | 6 +++--- webapp/start.sh | 28 ++++++++++++++-------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index dbf1403..ea5e801 100644 --- a/Makefile +++ b/Makefile @@ -58,7 +58,7 @@ build-simple: build-base: component=base make build -build-core: +build-core: build-base component=core make build build-konnect: @@ -70,7 +70,7 @@ build-kwmserver: build-ldap-demo: component=ldap_demo make build-simple -build-meet: +build-meet: build-base component=meet make build build-playground: @@ -91,7 +91,7 @@ build-utils: build-core build-web: component=web make build-simple -build-webapp: +build-webapp: build-base component=webapp make build build-zpush: diff --git a/webapp/start.sh b/webapp/start.sh index 89bfe58..0f051c7 100755 --- a/webapp/start.sh +++ b/webapp/start.sh @@ -13,22 +13,22 @@ php_cfg_gen() { local cfg_setting="$2" local cfg_value="$3" if [ -e "$cfg_file" ]; then - if grep -q "$cfg_setting" "$cfg_file"; then - echo "Setting $cfg_setting = $cfg_value in $cfg_file" - case $cfg_value in - true|TRUE|false|FALSE) - echo boolean value - sed -ri "s#(\s*define).+${cfg_setting}.+#\tdefine(\x27${cfg_setting}\x27, ${cfg_value}\);#g" "$cfg_file" - ;; - *) - sed -ri "s#(\s*define).+${cfg_setting}.+#\tdefine(\x27${cfg_setting}\x27, \x27${cfg_value}\x27\);#g" "$cfg_file" - ;; - esac - else - echo "Error: Config option $cfg_setting not found in $cfg_file" + echo "Setting $cfg_setting = $cfg_value in $cfg_file" + if ! grep -q "$cfg_setting" "$cfg_file"; then + echo "WARNING: Config option $cfg_setting not found in $cfg_file! You may have misspelled the confing setting." + echo "define('$cfg_setting', '$cfg_value');" >> "$cfg_file" cat "$cfg_file" - exit 1 + return fi + case $cfg_value in + true|TRUE|false|FALSE) + echo boolean value + sed -ri "s#(\s*define).+${cfg_setting}'.+#\tdefine(\x27${cfg_setting}\x27, ${cfg_value}\);#g" "$cfg_file" + ;; + *) + sed -ri "s#(\s*define).+${cfg_setting}'.+#\tdefine(\x27${cfg_setting}\x27, \x27${cfg_value}\x27\);#g" "$cfg_file" + ;; + esac else echo "Error: Config file $cfg_file not found. Plugin not installed?" local dir