mirror of
https://gh.wpcy.net/https://github.com/CaptainCore/captaincore.git
synced 2026-04-22 20:45:45 +08:00
98 lines
No EOL
3.9 KiB
Bash
Executable file
98 lines
No EOL
3.9 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
#
|
|
# Fetches site data
|
|
#
|
|
# Returns:
|
|
# line 1: plugin data
|
|
# line 2: theme data
|
|
# line 3: core version
|
|
# line 4: home url
|
|
# line 5: user data
|
|
# line 6: database name
|
|
# line 7: database username
|
|
# line 8: database password
|
|
# line 9: core verify checksum
|
|
# line 10: subsite count
|
|
# line 11: PHP memory
|
|
# line 12: token
|
|
#
|
|
|
|
if [ ! -f "wp-config.php" ]; then
|
|
echo "WordPress not found"
|
|
exit
|
|
fi
|
|
|
|
# Install CaptainCore helper if missing
|
|
helper_check=$( wp plugin list --status=must-use --skip-themes --skip-plugins --skip-packages | grep "captaincore-helper" )
|
|
if [[ "$helper_check" == "" ]]; then
|
|
curl https://run.captaincore.io/deploy-helper | bash -s
|
|
fi
|
|
|
|
plugins=$( wp plugin list --format=json --skip-themes --skip-plugins --skip-packages --fields=name,title,status,version )
|
|
themes=$(wp theme list --format=json --skip-themes --skip-plugins --skip-packages --fields=name,title,status,version )
|
|
core=$( wp core version --skip-themes --skip-plugins --skip-packages )
|
|
home_url=$( wp option get home --skip-themes --skip-plugins --skip-packages )
|
|
users=$( wp user list --format=json --skip-themes --skip-plugins --skip-packages )
|
|
core_verify_checksums_response=$( wp core verify-checksums --skip-themes --skip-plugins --skip-packages 2>&1 )
|
|
core_verify_checksums=0
|
|
|
|
# Make sure to only include output of last line of core check
|
|
core_verify_checksums_response_last_line=$( echo "$core_verify_checksums_response" | tail -n 1 )
|
|
|
|
if [[ "$core_verify_checksums_response_last_line" == "Success: WordPress installation verifies against checksums." ]]; then
|
|
core_verify_checksums=1
|
|
fi
|
|
|
|
if [[ "$core_verify_checksums_response" == "Warning: File doesn't exist: readme.html"$'\n'"Error: WordPress installation doesn't verify against checksums." ]]; then
|
|
core_verify_checksums=1
|
|
fi
|
|
|
|
if [[ "$core_verify_checksums_response" == "Warning: File doesn't exist: wp-config-sample.php"$'\n'"Error: WordPress installation doesn't verify against checksums." ]]; then
|
|
core_verify_checksums=1
|
|
fi
|
|
|
|
if [[ "$core_verify_checksums_response" == "Warning: File doesn't exist: wp-config-sample.php"$'\n'"Warning: File should not exist: wp-config-orig.php"$'\n'"Error: WordPress installation doesn't verify against checksums." ]]; then
|
|
core_verify_checksums=1
|
|
fi
|
|
|
|
db_name=$( wp eval "echo DB_NAME;" --skip-plugins --skip-themes --skip-packages )
|
|
db_username=$( wp eval "echo DB_USER;" --skip-plugins --skip-themes --skip-packages )
|
|
db_password=$( wp eval "echo DB_PASSWORD;" --skip-plugins --skip-themes --skip-packages )
|
|
|
|
if $( wp core is-installed --network --skip-themes --skip-plugins --skip-packages ); then
|
|
subsite_count=$( wp site list --format=count --skip-themes --skip-plugins --skip-packages )
|
|
fi
|
|
|
|
php_version=$( php -v | head -n1 | cut -d ' ' -f 2 | cut -d '.' -f 1,2 )
|
|
if [ -f "/etc/php/$php_version/fpm/php.ini" ]; then
|
|
php_memory=$( cat "/etc/php/$php_version/fpm/php.ini" | grep "memory_limit" )
|
|
fi
|
|
if [[ "$php_memory" == "" ]]; then
|
|
php_ini=$( wp eval 'echo php_ini_loaded_file();' )
|
|
php_memory=$( cat "$php_ini" | grep "memory_limit" )
|
|
fi
|
|
|
|
read -r -d '' php_code << heredoc
|
|
\$line = '$php_memory';
|
|
preg_match( '/memory_limit = (\d\w+)/', '$php_memory', \$matches );
|
|
echo \$matches[1];
|
|
heredoc
|
|
|
|
php_memory=$( php -r "$php_code" )
|
|
|
|
token=$( wp eval "echo md5( AUTH_KEY );" --skip-plugins --skip-themes )
|
|
|
|
# Assume WP-CLI output may contain whitespaces and remove.
|
|
echo ${plugins} | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
|
|
echo ${themes} | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
|
|
echo ${core} | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
|
|
echo ${home_url} | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
|
|
echo ${users} | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
|
|
echo ${db_name}
|
|
echo ${db_username}
|
|
echo ${db_password}
|
|
echo ${core_verify_checksums}
|
|
echo ${subsite_count} | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
|
|
echo ${php_memory}
|
|
echo ${token} |