From 7715c78c855e23bd92566d82fb6f6ea4e23fbcd4 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Fri, 18 Aug 2023 23:25:24 +0000 Subject: [PATCH] Revert the last use of `str_starts_with()` in `update-core.php`. Fixes updating WordPress from 5.7 and earlier versions. When doing the update this file runs first in the old version where the polifills may not be available. Porps: frankit. Fixes: #59145. Built from https://develop.svn.wordpress.org/trunk@56417 git-svn-id: http://core.svn.wordpress.org/trunk@55929 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/update-core.php | 8 ++++++-- wp-includes/version.php | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/wp-admin/includes/update-core.php b/wp-admin/includes/update-core.php index 8d672199ee..6085b02c8f 100644 --- a/wp-admin/includes/update-core.php +++ b/wp-admin/includes/update-core.php @@ -1431,9 +1431,13 @@ function update_core( $from, $to ) { } else { $lang_dir = WP_CONTENT_DIR . '/languages'; } - + /* + * Note: str_starts_with() is not used here, as this file is included + * when updating from older WordPress versions, in which case + * the polyfills from wp-includes/compat.php may not be available. + */ // Check if the language directory exists first. - if ( ! @is_dir( $lang_dir ) && str_starts_with( $lang_dir, ABSPATH ) ) { + if ( ! @is_dir( $lang_dir ) && 0 === strpos( $lang_dir, ABSPATH ) ) { // If it's within the ABSPATH we can handle it here, otherwise they're out of luck. $wp_filesystem->mkdir( $to . str_replace( ABSPATH, '', $lang_dir ), FS_CHMOD_DIR ); clearstatcache(); // For FTP, need to clear the stat cache. diff --git a/wp-includes/version.php b/wp-includes/version.php index 5b098339a2..14a9861cd6 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.4-alpha-56416'; +$wp_version = '6.4-alpha-56417'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.