General: 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.

Props frankit, azaozz.
Reviewed by audrasjb.
Merges [56417] to the 6.3 branch.
Fixes .




git-svn-id: https://develop.svn.wordpress.org/branches/6.3@56425 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jb Audras 2023-08-22 12:45:12 +00:00
parent a992cb776e
commit 0550f74770

@ -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.