From 9ea589975920a2c13a53a6037c473f46e873129d Mon Sep 17 00:00:00 2001 From: Shivam Mathur Date: Thu, 13 Jan 2022 06:33:07 +0530 Subject: [PATCH] Refactor add_extension --- src/scripts/darwin.sh | 19 +++++++------------ src/scripts/extensions/add_extensions.sh | 12 ++++++++++++ src/scripts/linux.sh | 16 +++++----------- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/scripts/darwin.sh b/src/scripts/darwin.sh index 4401e2cf..0c764058 100644 --- a/src/scripts/darwin.sh +++ b/src/scripts/darwin.sh @@ -78,22 +78,17 @@ add_brew_extension() { fi } -# Function to setup extensions. -add_extension() { +# Helper function to add an extension. +add_extension_helper() { local extension=$1 prefix=$2 - enable_extension "$extension" "$prefix" - if check_extension "$extension"; then - add_log "${tick:?}" "$extension" "Enabled" + if [[ "$version" =~ ${old_versions:?} ]] && [ "$extension" = "imagick" ]; then + run_script "php5-darwin" "${version/./}" "$extension" >/dev/null 2>&1 else - if [[ "$version" =~ ${old_versions:?} ]] && [ "$extension" = "imagick" ]; then - run_script "php5-darwin" "${version/./}" "$extension" >/dev/null 2>&1 - else - pecl_install "$extension" >/dev/null 2>&1 && - if [[ "$version" =~ ${old_versions:?} ]]; then echo "$prefix=$ext_dir/$extension.so" >>"$ini_file"; fi - fi - add_extension_log "$extension" "Installed and enabled" + pecl_install "$extension" >/dev/null 2>&1 && + if [[ "$version" =~ ${old_versions:?} ]]; then echo "$prefix=$ext_dir/$extension.so" >>"$ini_file"; fi fi + add_extension_log "$extension" "Installed and enabled" } # Function to handle request to add phpize and php-config. diff --git a/src/scripts/extensions/add_extensions.sh b/src/scripts/extensions/add_extensions.sh index a0e08981..bfb1e117 100644 --- a/src/scripts/extensions/add_extensions.sh +++ b/src/scripts/extensions/add_extensions.sh @@ -109,6 +109,18 @@ configure_pecl() { fi } +# Function to add an extension. +add_extension() { + local extension=$1 + prefix=$2 + enable_extension "$extension" "$prefix" + if check_extension "$extension"; then + add_log "${tick:?}" "$extension" "Enabled" + else + add_extension_helper "$extension" "$prefix" + fi +} + # Function to get the PECL version of an extension. get_pecl_version() { local extension=$1 diff --git a/src/scripts/linux.sh b/src/scripts/linux.sh index 79008386..faa974e1 100644 --- a/src/scripts/linux.sh +++ b/src/scripts/linux.sh @@ -68,19 +68,13 @@ check_package() { apt-cache policy "$1" 2>/dev/null | grep -q 'Candidate' } -# Function to add extensions. -add_extension() { +# Helper function to add an extension. +add_extension_helper() { local extension=$1 - prefix=$2 package=php"$version"-"$extension" - enable_extension "$extension" "$prefix" - if check_extension "$extension"; then - add_log "${tick:?}" "$extension" "Enabled" - else - add_ppa ondrej/php >/dev/null 2>&1 || update_ppa ondrej/php - (check_package "$package" && install_packages "$package") || pecl_install "$extension" - add_extension_log "$extension" "Installed and enabled" - fi + add_ppa ondrej/php >/dev/null 2>&1 || update_ppa ondrej/php + (check_package "$package" && install_packages "$package") || pecl_install "$extension" + add_extension_log "$extension" "Installed and enabled" sudo chmod 777 "${ini_file[@]}" }