From 0582cc048e1dedfa6874a5321ee32866a1afd6e7 Mon Sep 17 00:00:00 2001 From: Stefan Pejcic Date: Thu, 22 May 2025 12:07:29 +0200 Subject: [PATCH] Update UPDATE.sh --- version/1.3.1/UPDATE.sh | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/version/1.3.1/UPDATE.sh b/version/1.3.1/UPDATE.sh index bf6cd8e2..9227fa0a 100644 --- a/version/1.3.1/UPDATE.sh +++ b/version/1.3.1/UPDATE.sh @@ -17,31 +17,30 @@ systemctl restart admin > /dev/null 2>&1 CONFIG_FILE="/etc/openpanel/openpanel/conf/openpanel.config" MODULES_TO_CHECK=("mysql" "domains" "autoinstaller" "filemanager" "php") -# Check if the config file exists -if [[ ! -f "$CONFIG_FILE" ]]; then - echo "Config file not found: $CONFIG_FILE" - exit 1 -fi +current_modules=$(grep "^enabled_modules=" "$CONFIG_FILE" | sed -E 's/^enabled_modules="(.*)"/\1/') +modules_modified=0 -# Get the current enabled_modules line -current_modules=$(grep "^enabled_modules=" "$CONFIG_FILE" | cut -d= -f2) +IFS=',' read -r -a enabled_array <<< "$current_modules" -# Keep track of changes -modules_modified=false - -# Loop through each required module for module in "${MODULES_TO_CHECK[@]}"; do - if echo "$current_modules" | grep -qw "$module"; then + if printf '%s\n' "${enabled_array[@]}" | grep -qx "$module"; then echo "'$module' is already enabled." else echo "Adding '$module' to enabled_modules..." - current_modules="${current_modules},$module" - modules_modified=true + enabled_array+=("$module") + modules_modified=1 fi done +if [[ $modules_modified -eq 1 ]]; then + updated_modules=$(IFS=','; echo "${enabled_array[*]}") + # Use double quotes around the value when writing back + sed -i "s/^enabled_modules=\".*\"/enabled_modules=\"${updated_modules}\"/" "$CONFIG_FILE" + echo "Updated enabled_modules in config file." +fi + # Update the file only if we added new modules -if [ "$modules_modified" = true ]; then +if [ "$modules_modified" -eq 1 ]; then sed -i "s/^enabled_modules=.*/enabled_modules=${current_modules}/" "$CONFIG_FILE" echo "Updated enabled_modules in config file." fi