Forráskód Böngészése

wp retrieve

External DB improved.
Fixed issue with site info asking for external db data.
Cristhian Martínez Ochoa 3 éve
szülő
commit
4e51912aea
3 módosított fájl, 56 hozzáadás és 39 törlés
  1. 1 3
      lib/bkp
  2. 31 30
      lib/general
  3. 24 6
      lib/sites

+ 1 - 3
lib/bkp

@@ -297,9 +297,7 @@ bkp_s3_profile() {
 			exit 1
 		fi
 		
-		[[ -z $subfolder ]] && local sbf="false" || sbf=$subfolder
-		wp_conf_retrieve $add_db_pre false true $sbf
-		if [[ $wp_dbhost != "localhost" && -z $(conf_read external-dbu) && -z $(conf_read external-dbp) ]]; then
+		if [[ $(wp_config_read $add_db_pre DB_HOST $subfolder) != "localhost" && -z $(conf_read external-dbu) && -z $(conf_read external-dbp) ]]; then
 			echo "${red}[ERROR] Database host is not localhost!${dim} (External databases are supported with -external-db-save)${end}"
 			exit 1
 		fi

+ 31 - 30
lib/general

@@ -4,7 +4,7 @@
 # Prevent 'tput' errors when running from Cron
 [[ -z $TERM || $TERM == "unknown" || $TERM == "dumb" ]] && export TERM=dumb
 
-readonly app_version="1.16.3"
+readonly app_version="1.16.4"
 readonly svr_version="1.7"
 readonly os_ubuntu_supported=(bionic focal)
 readonly php_supported=(7.4 8.0 8.1)
@@ -479,35 +479,6 @@ wp_conf_retrieve() {
 	[[ ${wp_dbhost,,} == "localhost" ]] && wp_dbhost=${wp_dbhost,,}
 	[[ -z $wp_extdb_port ]] && wp_extdb_port="3306"
 	
-	# In case of parked sites with WP domain mapping
-	if [[ $3 != "false" && $(is_parked $1) == "true" ]]; then
-		# If domain doesn't exist, check if it's a subsite of a subdomain Multisite network.
-		if [[ ! -f /etc/nginx/sites-available/$1 && -f /etc/nginx/sites-available/$(echo $1 | cut -d "." -f 2- -s) ]]; then
-			local maindom=$(echo $1 | cut -d "." -f 2- -s)
-		else
-			local maindom=$1
-		fi
-		
-		if [[ $(is_wp_multisite $maindom $4) =~ ^(subdomain|subdirectory)$ ]]; then
-			local dbq="USE $wp_dbname; SELECT blog_id FROM ${wp_dbpref}blogs WHERE domain='$1' OR domain='www.$1';"
-			
-			if [[ $wp_dbhost == "localhost" && $(check_mysql_connection localhost) == "true" ]]; then
-				local bid=$(sudo mysql --connect-timeout=10 --user=admin -p$ADMIN_PASS -e "$dbq")
-			elif [[ $(check_mysql_connection $extdb_url $extdb_port $extdb_user $extdb_pass) == "true" ]]; then
-				local bid=$(sudo mysql --connect-timeout=10 -h "$extdb_url" -P "$extdb_port" -u"$extdb_user" -p"$extdb_pass" -e "$dbq")
-			fi
-			
-			wp_blogid=$(echo $bid | cut -f 2 -d " " -s)
-			# Number 1 is main site, so we don't need to change the WP prefix.
-			if [[ $wp_blogid =~ ^[0-9]+$  && $wp_blogid -gt 1 ]]; then
-				wp_dbpref="${wp_dbpref}${wp_blogid}_"
-				echo "${blu}${dim}Site${end}${dim} ${1}${4} ${blu}is a subsite (${wp_dbpref}) in a WP Multisite Network!${end}" >&2
-			else
-				[[ $wp_blogid != 1 ]] && wp_blogid=""
-			fi
-		fi		
-	fi
-	
 	
 	if [[ $2 != "false" ]]; then
 		if [[ -z $external_db && -n $wp_dbhost && $wp_dbhost != "localhost" && $wp_dbhost == "$(conf_read external-dbh):$(conf_read external-dbx)" ]]; then
@@ -538,6 +509,36 @@ wp_conf_retrieve() {
 			external_db="[${extdb_user},${extdb_pass},${extdb_host}]"
 		fi
 	fi
+	
+	
+	# In case of parked sites with WP domain mapping
+	if [[ $3 != "false" && $(is_parked $1) == "true" ]]; then
+		# If domain doesn't exist, check if it's a subsite of a subdomain Multisite network.
+		if [[ ! -f /etc/nginx/sites-available/$1 && -f /etc/nginx/sites-available/$(echo $1 | cut -d "." -f 2- -s) ]]; then
+			local maindom=$(echo $1 | cut -d "." -f 2- -s)
+		else
+			local maindom=$1
+		fi
+		
+		if [[ $(is_wp_multisite $maindom $4) =~ ^(subdomain|subdirectory)$ ]]; then
+			local dbq="USE $wp_dbname; SELECT blog_id FROM ${wp_dbpref}blogs WHERE domain='$1' OR domain='www.$1';"
+			
+			if [[ $wp_dbhost == "localhost" && $(check_mysql_connection localhost) == "true" ]]; then
+				local bid=$(sudo mysql --connect-timeout=10 --user=admin -p$ADMIN_PASS -e "$dbq")
+			elif [[ $(check_mysql_connection $extdb_url $extdb_port $extdb_user $extdb_pass) == "true" ]]; then
+				local bid=$(sudo mysql --connect-timeout=10 -h "$extdb_url" -P "$extdb_port" -u"$extdb_user" -p"$extdb_pass" -e "$dbq")
+			fi
+			
+			wp_blogid=$(echo $bid | cut -f 2 -d " " -s)
+			# Number 1 is main site, so we don't need to change the WP prefix.
+			if [[ $wp_blogid =~ ^[0-9]+$  && $wp_blogid -gt 1 ]]; then
+				wp_dbpref="${wp_dbpref}${wp_blogid}_"
+				echo "${blu}${dim}Site${end}${dim} ${1}${4} ${blu}is a subsite (${wp_dbpref}) in a WP Multisite Network!${end}" >&2
+			else
+				[[ $wp_blogid != 1 ]] && wp_blogid=""
+			fi
+		fi		
+	fi
 }
 
 

+ 24 - 6
lib/sites

@@ -1859,20 +1859,29 @@ site_info_subfolder() {
 	fi
 	
 	if [[ $typesite == "wp" ]]; then
+		local wph=$(wp_config_read $domain DB_HOST $subfolder)
+		if [[ ${wph,,} == "localhost" || -n $external_db ]]; then
+			local wpmu=$(is_wp_multisite $domain $subfolder)
+			wp_conf_retrieve $domain true true $subfolder
+		else
+			local wpmu="${dim}Not Available${end}"
+			wp_conf_retrieve $domain false false $subfolder
+		fi
+		
 		echo ""
 		echo "${blu}Cache:${end} $cache"
-		echo "${blu}Multisite:${end} $(is_wp_multisite $domain $subfolder)"
+		echo "${blu}Multisite:${end} $wpmu"
 		echo "${blu}WP Auth:${end} $(is_wp_auth $domain $subfolder)"
 		echo "${blu}Debug:${end} $(is_wp_debug $domain $subfolder)"
 	
 		[[ -n $(wp_config_read $domain WP_ENVIRONMENT_TYPE $subfolder) ]] && echo "${blu}Environment:${end} $(wp_config_read $domain WP_ENVIRONMENT_TYPE $subfolder)"
 		echo ""
 		
-		wp_conf_retrieve $domain false true $subfolder
-		echo "${blu}Database:${end} $wp_dbhost"
+		echo "${blu}Database:${end} $wph"
 		echo "${blu}DB Name:${end} $wp_dbname"
 		echo "${blu}DB User:${end} $wp_dbuser"
 		echo "${blu}DB Prefix:${end} $wp_dbpref"
+		[[ -n $wpmu && $wpmu =~ ^(subdomain|subdirectory)$ && -n $wp_blogid ]] && echo "${blu}Blog ID:${end} $wp_blogid"
 	fi
 	
 	[[ $typesite == "proxy" ]] && echo "${blu}Source Server:${end} $(grep 'proxy_pass ' /etc/nginx/apps.d/$domain$subname-proxy.conf | head -1 | cut -d ' ' -f 2 -s | rev | cut -c 2- | rev)"
@@ -1927,20 +1936,29 @@ site_info() {
 	fi
 	
 	if [[ $typesite == "WordPress" || ( $typesite == "Parked" && $(is_wp $domain) == "true" ) ]]; then
+		local wph=$(wp_config_read $domain DB_HOST)
+		if [[ ${wph,,} == "localhost" || -n $external_db ]]; then
+			local wpmu=$(is_wp_multisite $domain)
+			wp_conf_retrieve $domain true true
+		else
+			local wpmu="${dim}Not Available${end}"
+			wp_conf_retrieve $domain false false
+		fi
+		
 		echo ""
 		echo "${blu}Cache:${end} $cache"
-		echo "${blu}Multisite:${end} $(is_wp_multisite $domain)"
+		echo "${blu}Multisite:${end} $wpmu"
 		echo "${blu}WP Auth:${end} $(is_wp_auth $domain)"
 		echo "${blu}Debug:${end} $(is_wp_debug $domain)"
 	
 		[[ -n $(wp_config_read $domain WP_ENVIRONMENT_TYPE $subfolder) ]] && echo "${blu}Environment:${end} $(wp_config_read $domain WP_ENVIRONMENT_TYPE $subfolder)"
 		echo ""
 		
-		wp_conf_retrieve $domain false
-		echo "${blu}Database:${end} $wp_dbhost"
+		echo "${blu}Database:${end} $wph"
 		echo "${blu}DB Name:${end} $wp_dbname"
 		echo "${blu}DB User:${end} $wp_dbuser"
 		echo "${blu}DB Prefix:${end} $wp_dbpref"
+		[[ -n $wpmu && $wpmu =~ ^(subdomain|subdirectory)$ && -n $wp_blogid ]] && echo "${blu}Blog ID:${end} $wp_blogid"
 	fi
 	
 	if [[ $typesite == "Reverse Proxy" ]]; then