diff --git a/src/wp-admin/includes/class-plugin-upgrader.php b/src/wp-admin/includes/class-plugin-upgrader.php index aeefaf9875..76083b5211 100644 --- a/src/wp-admin/includes/class-plugin-upgrader.php +++ b/src/wp-admin/includes/class-plugin-upgrader.php @@ -226,14 +226,9 @@ class Plugin_Upgrader extends WP_Upgrader { 'clear_destination' => true, 'clear_working' => true, 'hook_extra' => array( - 'plugin' => $plugin, - 'type' => 'plugin', - 'action' => 'update', - 'temp_backup' => array( - 'slug' => dirname( $plugin ), - 'src' => WP_PLUGIN_DIR, - 'dir' => 'plugins', - ), + 'plugin' => $plugin, + 'type' => 'plugin', + 'action' => 'update', ), ) ); @@ -347,12 +342,7 @@ class Plugin_Upgrader extends WP_Upgrader { 'clear_working' => true, 'is_multi' => true, 'hook_extra' => array( - 'plugin' => $plugin, - 'temp_backup' => array( - 'slug' => dirname( $plugin ), - 'src' => WP_PLUGIN_DIR, - 'dir' => 'plugins', - ), + 'plugin' => $plugin, ), ) ); diff --git a/src/wp-admin/includes/class-theme-upgrader.php b/src/wp-admin/includes/class-theme-upgrader.php index 3a7beaf1fd..c550314c5d 100644 --- a/src/wp-admin/includes/class-theme-upgrader.php +++ b/src/wp-admin/includes/class-theme-upgrader.php @@ -328,14 +328,9 @@ class Theme_Upgrader extends WP_Upgrader { 'clear_destination' => true, 'clear_working' => true, 'hook_extra' => array( - 'theme' => $theme, - 'type' => 'theme', - 'action' => 'update', - 'temp_backup' => array( - 'slug' => $theme, - 'src' => get_theme_root( $theme ), - 'dir' => 'themes', - ), + 'theme' => $theme, + 'type' => 'theme', + 'action' => 'update', ), ) ); @@ -448,12 +443,7 @@ class Theme_Upgrader extends WP_Upgrader { 'clear_working' => true, 'is_multi' => true, 'hook_extra' => array( - 'theme' => $theme, - 'temp_backup' => array( - 'slug' => $theme, - 'src' => get_theme_root( $theme ), - 'dir' => 'themes', - ), + 'theme' => $theme, ), ) ); diff --git a/src/wp-admin/includes/class-wp-site-health.php b/src/wp-admin/includes/class-wp-site-health.php index 20b2f0e469..a79de8e8cf 100644 --- a/src/wp-admin/includes/class-wp-site-health.php +++ b/src/wp-admin/includes/class-wp-site-health.php @@ -1882,196 +1882,6 @@ class WP_Site_Health { return $result; } - /** - * Test available disk space for updates. - * - * @since 5.9.0 - * - * @return array The test results. - */ - public function get_test_available_updates_disk_space() { - $available_space = function_exists( 'disk_free_space' ) ? (int) @disk_free_space( WP_CONTENT_DIR . '/upgrade/' ) : 0; - $available_space_in_mb = $available_space / MB_IN_BYTES; - - $result = array( - 'label' => __( 'Disk space available to safely perform updates' ), - 'status' => 'good', - 'badge' => array( - 'label' => __( 'Security' ), - 'color' => 'blue', - ), - 'description' => sprintf( - /* translators: %s: Available disk space in MB or GB. */ - '
' . __( '%s available disk space was detected, update routines can be performed safely.' ), - size_format( $available_space ) - ), - 'actions' => '', - 'test' => 'available_updates_disk_space', - ); - - if ( $available_space_in_mb < 100 ) { - $result['description'] = __( 'Available disk space is low, less than 100 MB available.' ); - $result['status'] = 'recommended'; - } - - if ( $available_space_in_mb < 20 ) { - $result['description'] = __( 'Available disk space is critically low, less than 20 MB available. Proceed with caution, updates may fail.' ); - $result['status'] = 'critical'; - } - - if ( ! $available_space ) { - $result['description'] = __( 'Could not determine available disk space for updates.' ); - $result['status'] = 'recommended'; - } - - return $result; - } - - /** - * Test if plugin and theme updates temp-backup directories are writable or can be created. - * - * @since 5.9.0 - * - * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. - * - * @return array The test results. - */ - public function get_test_update_temp_backup_writable() { - global $wp_filesystem; - - $result = array( - 'label' => sprintf( - /* translators: %s: temp-backup */ - __( 'Plugin and theme update %s directory is writable' ), - 'temp-backup' - ), - 'status' => 'good', - 'badge' => array( - 'label' => __( 'Security' ), - 'color' => 'blue', - ), - 'description' => sprintf( - /* translators: %s: wp-content/upgrade/temp-backup */ - '
' . __( 'The %s directory used to improve the stability of plugin and theme updates is writable.' ),
- 'wp-content/upgrade/temp-backup'
- ),
- 'actions' => '',
- 'test' => 'update_temp_backup_writable',
- );
-
- if ( ! $wp_filesystem ) {
- if ( ! function_exists( 'WP_Filesystem' ) ) {
- require_once wp_normalize_path( ABSPATH . '/wp-admin/includes/file.php' );
- }
- WP_Filesystem();
- }
- $wp_content = $wp_filesystem->wp_content_dir();
-
- $upgrade_dir_exists = $wp_filesystem->is_dir( "$wp_content/upgrade" );
- $upgrade_dir_is_writable = $wp_filesystem->is_writable( "$wp_content/upgrade" );
- $backup_dir_exists = $wp_filesystem->is_dir( "$wp_content/upgrade/temp-backup" );
- $backup_dir_is_writable = $wp_filesystem->is_writable( "$wp_content/upgrade/temp-backup" );
-
- $plugins_dir_exists = $wp_filesystem->is_dir( "$wp_content/upgrade/temp-backup/plugins" );
- $plugins_dir_is_writable = $wp_filesystem->is_writable( "$wp_content/upgrade/temp-backup/plugins" );
- $themes_dir_exists = $wp_filesystem->is_dir( "$wp_content/upgrade/temp-backup/themes" );
- $themes_dir_is_writable = $wp_filesystem->is_writable( "$wp_content/upgrade/temp-backup/themes" );
-
- if ( $plugins_dir_exists && ! $plugins_dir_is_writable && $themes_dir_exists && ! $themes_dir_is_writable ) {
- $result['status'] = 'critical';
- $result['label'] = sprintf(
- /* translators: %s: temp-backup */
- __( 'Plugins and themes %s directories exist but are not writable' ),
- 'temp-backup'
- );
- $result['description'] = sprintf(
- /* translators: 1: wp-content/upgrade/temp-backup/plugins, 2: wp-content/upgrade/temp-backup/themes. */
- '
' . __( 'The %1$s and %2$s directories exist but are not writable. These directories are used to improve the stability of plugin updates. Please make sure the server has write permissions to these directories.' ) . '
', - 'wp-content/upgrade/temp-backup/plugins',
- 'wp-content/upgrade/temp-backup/themes'
- );
- return $result;
- }
-
- if ( $plugins_dir_exists && ! $plugins_dir_is_writable ) {
- $result['status'] = 'critical';
- $result['label'] = sprintf(
- /* translators: %s: temp-backup */
- __( 'Plugins %s directory exists but is not writable' ),
- 'temp-backup'
- );
- $result['description'] = sprintf(
- /* translators: %s: wp-content/upgrade/temp-backup/plugins */
- '' . __( 'The %s directory exists but is not writable. This directory is used to improve the stability of plugin updates. Please make sure the server has write permissions to this directory.' ) . '
', - 'wp-content/upgrade/temp-backup/plugins'
- );
- return $result;
- }
-
- if ( $themes_dir_exists && ! $themes_dir_is_writable ) {
- $result['status'] = 'critical';
- $result['label'] = sprintf(
- /* translators: %s: temp-backup */
- __( 'Themes %s directory exists but is not writable' ),
- 'temp-backup'
- );
- $result['description'] = sprintf(
- /* translators: %s: wp-content/upgrade/temp-backup/themes */
- '' . __( 'The %s directory exists but is not writable. This directory is used to improve the stability of theme updates. Please make sure the server has write permissions to this directory.' ) . '
', - 'wp-content/upgrade/temp-backup/themes'
- );
- return $result;
- }
-
- if ( ( ! $plugins_dir_exists || ! $themes_dir_exists ) && $backup_dir_exists && ! $backup_dir_is_writable ) {
- $result['status'] = 'critical';
- $result['label'] = sprintf(
- /* translators: %s: temp-backup */
- __( 'The %s directory exists but is not writable' ),
- 'temp-backup'
- );
- $result['description'] = sprintf(
- /* translators: %s: wp-content/upgrade/temp-backup */
- '' . __( 'The %s directory exists but is not writable. This directory is used to improve the stability of plugin and theme updates. Please make sure the server has write permissions to this directory.' ) . '
', - 'wp-content/upgrade/temp-backup'
- );
- return $result;
- }
-
- if ( ! $backup_dir_exists && $upgrade_dir_exists && ! $upgrade_dir_is_writable ) {
- $result['status'] = 'critical';
- $result['label'] = sprintf(
- /* translators: %s: upgrade */
- __( 'The %s directory exists but is not writable' ),
- 'upgrade'
- );
- $result['description'] = sprintf(
- /* translators: %s: wp-content/upgrade */
- '' . __( 'The %s directory exists but is not writable. This directory is used for plugin and theme updates. Please make sure the server has write permissions to this directory.' ) . '
', - 'wp-content/upgrade'
- );
- return $result;
- }
-
- if ( ! $upgrade_dir_exists && ! $wp_filesystem->is_writable( $wp_content ) ) {
- $result['status'] = 'critical';
- $result['label'] = sprintf(
- /* translators: %s: upgrade */
- __( 'The %s directory cannot be created' ),
- 'upgrade'
- );
- $result['description'] = sprintf(
- /* translators: 1: wp-content/upgrade, 2: wp-content. */
- '' . __( 'The %1$s directory does not exist, and the server does not have write permissions in %2$s to create it. This directory is used for plugin and theme updates. Please make sure the server has write permissions in %2$s.' ) . '
', - 'wp-content/upgrade',
- 'wp-content'
- );
- return $result;
- }
-
- return $result;
- }
-
/**
* Test if loopbacks work as expected.
*
@@ -2456,80 +2266,71 @@ class WP_Site_Health {
public static function get_tests() {
$tests = array(
'direct' => array(
- 'wordpress_version' => array(
+ 'wordpress_version' => array(
'label' => __( 'WordPress Version' ),
'test' => 'wordpress_version',
),
- 'plugin_version' => array(
+ 'plugin_version' => array(
'label' => __( 'Plugin Versions' ),
'test' => 'plugin_version',
),
- 'theme_version' => array(
+ 'theme_version' => array(
'label' => __( 'Theme Versions' ),
'test' => 'theme_version',
),
- 'php_version' => array(
+ 'php_version' => array(
'label' => __( 'PHP Version' ),
'test' => 'php_version',
),
- 'php_extensions' => array(
+ 'php_extensions' => array(
'label' => __( 'PHP Extensions' ),
'test' => 'php_extensions',
),
- 'php_default_timezone' => array(
+ 'php_default_timezone' => array(
'label' => __( 'PHP Default Timezone' ),
'test' => 'php_default_timezone',
),
- 'php_sessions' => array(
+ 'php_sessions' => array(
'label' => __( 'PHP Sessions' ),
'test' => 'php_sessions',
),
- 'sql_server' => array(
+ 'sql_server' => array(
'label' => __( 'Database Server version' ),
'test' => 'sql_server',
),
- 'utf8mb4_support' => array(
+ 'utf8mb4_support' => array(
'label' => __( 'MySQL utf8mb4 support' ),
'test' => 'utf8mb4_support',
),
- 'ssl_support' => array(
+ 'ssl_support' => array(
'label' => __( 'Secure communication' ),
'test' => 'ssl_support',
),
- 'scheduled_events' => array(
+ 'scheduled_events' => array(
'label' => __( 'Scheduled events' ),
'test' => 'scheduled_events',
),
- 'http_requests' => array(
+ 'http_requests' => array(
'label' => __( 'HTTP Requests' ),
'test' => 'http_requests',
),
- 'rest_availability' => array(
+ 'rest_availability' => array(
'label' => __( 'REST API availability' ),
'test' => 'rest_availability',
'skip_cron' => true,
),
- 'debug_enabled' => array(
+ 'debug_enabled' => array(
'label' => __( 'Debugging enabled' ),
'test' => 'is_in_debug_mode',
),
- 'file_uploads' => array(
+ 'file_uploads' => array(
'label' => __( 'File uploads' ),
'test' => 'file_uploads',
),
- 'plugin_theme_auto_updates' => array(
+ 'plugin_theme_auto_updates' => array(
'label' => __( 'Plugin and theme auto-updates' ),
'test' => 'plugin_theme_auto_updates',
),
- 'update_temp_backup_writable' => array(
- /* translators: %s: temp-backup */
- 'label' => sprintf( __( 'Updates %s directory access' ), 'temp-backup' ),
- 'test' => 'update_temp_backup_writable',
- ),
- 'available_updates_disk_space' => array(
- 'label' => __( 'Available disk space' ),
- 'test' => 'available_updates_disk_space',
- ),
),
'async' => array(
'dotorg_communication' => array(
diff --git a/src/wp-admin/includes/class-wp-upgrader.php b/src/wp-admin/includes/class-wp-upgrader.php
index d17a7a7de6..8684e46871 100644
--- a/src/wp-admin/includes/class-wp-upgrader.php
+++ b/src/wp-admin/includes/class-wp-upgrader.php
@@ -133,29 +133,11 @@ class WP_Upgrader {
* This will set the relationship between the skin being used and this upgrader,
* and also add the generic strings to `WP_Upgrader::$strings`.
*
- * Additionally, it will schedule a weekly task to clean up the temp-backup directory.
- *
* @since 2.8.0
- * @since 5.9.0 Added the `schedule_temp_backup_cleanup()` task.
*/
public function init() {
$this->skin->set_upgrader( $this );
$this->generic_strings();
-
- if ( ! wp_installing() ) {
- $this->schedule_temp_backup_cleanup();
- }
- }
-
- /**
- * Schedule cleanup of the temp-backup directory.
- *
- * @since 5.9.0
- */
- protected function schedule_temp_backup_cleanup() {
- if ( false === wp_next_scheduled( 'wp_delete_temp_updater_backups' ) ) {
- wp_schedule_event( time(), 'weekly', 'wp_delete_temp_updater_backups' );
- }
}
/**
@@ -184,13 +166,6 @@ class WP_Upgrader {
$this->strings['maintenance_start'] = __( 'Enabling Maintenance mode…' );
$this->strings['maintenance_end'] = __( 'Disabling Maintenance mode…' );
-
- /* translators: %s: temp-backup */
- $this->strings['temp_backup_mkdir_failed'] = sprintf( __( 'Could not create the %s directory.' ), 'temp-backup' );
- /* translators: %s: temp-backup */
- $this->strings['temp_backup_move_failed'] = sprintf( __( 'Could not move old version to the %s directory.' ), 'temp-backup' );
- $this->strings['temp_backup_restore_failed'] = __( 'Could not restore original version.' );
-
}
/**
@@ -338,9 +313,6 @@ class WP_Upgrader {
$upgrade_files = $wp_filesystem->dirlist( $upgrade_folder );
if ( ! empty( $upgrade_files ) ) {
foreach ( $upgrade_files as $file ) {
- if ( 'temp-backup' === $file['name'] ) {
- continue;
- }
$wp_filesystem->delete( $upgrade_folder . $file['name'], true );
}
}
@@ -521,13 +493,6 @@ class WP_Upgrader {
return $res;
}
- if ( ! empty( $args['hook_extra']['temp_backup'] ) ) {
- $temp_backup = $this->move_to_temp_backup_dir( $args['hook_extra']['temp_backup'] );
- if ( is_wp_error( $temp_backup ) ) {
- return $temp_backup;
- }
- }
-
// Retain the original source and destinations.
$remote_source = $args['source'];
$local_destination = $destination;
@@ -627,8 +592,8 @@ class WP_Upgrader {
}
}
- // Move new version of item into place.
- $result = move_dir( $source, $remote_destination, $remote_source );
+ // Copy new version of item into place.
+ $result = copy_dir( $source, $remote_destination );
if ( is_wp_error( $result ) ) {
if ( $args['clear_working'] ) {
$wp_filesystem->delete( $remote_source, true );
@@ -636,7 +601,7 @@ class WP_Upgrader {
return $result;
}
- // Clear the working directory?
+ // Clear the working folder?
if ( $args['clear_working'] ) {
$wp_filesystem->delete( $remote_source, true );
}
@@ -846,20 +811,6 @@ class WP_Upgrader {
$this->skin->set_result( $result );
if ( is_wp_error( $result ) ) {
- if ( ! empty( $options['hook_extra']['temp_backup'] ) ) {
- /*
- * Restore the backup on shutdown.
- * Actions running on `shutdown` are immune to PHP timeouts,
- * so in case the failure was due to a PHP timeout,
- * we'll still be able to properly restore the previous version.
- */
- add_action(
- 'shutdown',
- function() use ( $options ) {
- $this->restore_temp_backup( $options['hook_extra']['temp_backup'] );
- }
- );
- }
$this->skin->error( $result );
if ( ! method_exists( $this->skin, 'hide_process_failed' ) || ! $this->skin->hide_process_failed( $result ) ) {
@@ -872,17 +823,6 @@ class WP_Upgrader {
$this->skin->after();
- // Clean up the backup kept in the temp-backup directory.
- if ( ! empty( $options['hook_extra']['temp_backup'] ) ) {
- // Delete the backup on `shutdown` to avoid a PHP timeout.
- add_action(
- 'shutdown',
- function() use ( $options ) {
- $this->delete_temp_backup( $options['hook_extra']['temp_backup'] );
- }
- );
- }
-
if ( ! $options['is_multi'] ) {
/**
@@ -1007,121 +947,6 @@ class WP_Upgrader {
public static function release_lock( $lock_name ) {
return delete_option( $lock_name . '.lock' );
}
-
- /**
- * Moves the plugin/theme being updated into a temp-backup directory.
- *
- * @since 5.9.0
- *
- * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
- *
- * @param array $args Array of data for the temp-backup. Must include a slug, the source, and directory.
- * @return bool|WP_Error
- */
- public function move_to_temp_backup_dir( $args ) {
- global $wp_filesystem;
-
- if ( empty( $args['slug'] ) || empty( $args['src'] ) || empty( $args['dir'] ) ) {
- return false;
- }
-
- /**
- * Skip any plugin that has "." as its slug.
- * A slug of "." will result in a `$src` value ending in a period.
- *
- * On Windows, this will cause the 'plugins' folder to be moved,
- * and will cause a failure when attempting to call `mkdir()`.
- */
- if ( '.' === $args['slug'] ) {
- return false;
- }
-
- $dest_dir = $wp_filesystem->wp_content_dir() . 'upgrade/temp-backup/';
- // Create the temp-backup directory if it doesn't exist.
- if ( (
- ! $wp_filesystem->is_dir( $dest_dir )
- && ! $wp_filesystem->mkdir( $dest_dir )
- ) || (
- ! $wp_filesystem->is_dir( $dest_dir . $args['dir'] . '/' )
- && ! $wp_filesystem->mkdir( $dest_dir . $args['dir'] . '/' )
- )
- ) {
- return new WP_Error( 'fs_temp_backup_mkdir', $this->strings['temp_backup_mkdir_failed'] );
- }
-
- $src = trailingslashit( $args['src'] ) . $args['slug'];
- $dest = $dest_dir . $args['dir'] . '/' . $args['slug'];
-
- // Delete the temp-backup directory if it already exists.
- if ( $wp_filesystem->is_dir( $dest ) ) {
- $wp_filesystem->delete( $dest, true );
- }
-
- // Move to the temp-backup directory.
- if ( ! move_dir( $src, $dest ) ) {
- return new WP_Error( 'fs_temp_backup_move', $this->strings['temp_backup_move_failed'] );
- }
-
- return true;
- }
-
- /**
- * Restores the plugin/theme from the temp-backup directory.
- *
- * @since 5.9.0
- *
- * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
- *
- * @param array $args Array of data for the temp-backup. Must include a slug, the source, and directory.
- * @return bool|WP_Error
- */
- public function restore_temp_backup( $args ) {
- global $wp_filesystem;
-
- if ( empty( $args['slug'] ) || empty( $args['src'] ) || empty( $args['dir'] ) ) {
- return false;
- }
-
- $src = $wp_filesystem->wp_content_dir() . 'upgrade/temp-backup/' . $args['dir'] . '/' . $args['slug'];
- $dest = trailingslashit( $args['src'] ) . $args['slug'];
-
- if ( $wp_filesystem->is_dir( $src ) ) {
- // Cleanup.
- if ( $wp_filesystem->is_dir( $dest ) && ! $wp_filesystem->delete( $dest, true ) ) {
- return new WP_Error( 'fs_temp_backup_delete', $this->strings['temp_backup_restore_failed'] );
- }
-
- // Move it.
- if ( ! move_dir( $src, $dest ) ) {
- return new WP_Error( 'fs_temp_backup_delete', $this->strings['temp_backup_restore_failed'] );
- }
- }
-
- return true;
- }
-
- /**
- * Deletes a temp-backup.
- *
- * @since 5.9.0
- *
- * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
- *
- * @param array $args Array of data for the temp-backup. Must include a slug, the source, and directory.
- * @return bool
- */
- public function delete_temp_backup( $args ) {
- global $wp_filesystem;
-
- if ( empty( $args['slug'] ) || empty( $args['dir'] ) ) {
- return false;
- }
-
- return $wp_filesystem->delete(
- $wp_filesystem->wp_content_dir() . "upgrade/temp-backup/{$args['dir']}/{$args['slug']}",
- true
- );
- }
}
/** Plugin_Upgrader class */
diff --git a/src/wp-admin/includes/file.php b/src/wp-admin/includes/file.php
index 6dbb8f514a..12206b78b5 100644
--- a/src/wp-admin/includes/file.php
+++ b/src/wp-admin/includes/file.php
@@ -1943,53 +1943,6 @@ function copy_dir( $from, $to, $skip_list = array() ) {
return true;
}
-/**
- * Moves a directory from one location to another via the rename() PHP function.
- * If the renaming failed, falls back to copy_dir().
- *
- * Assumes that WP_Filesystem() has already been called and setup.
- *
- * @since 5.9.0
- *
- * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
- *
- * @param string $from Source directory.
- * @param string $to Destination directory.
- * @param string $working_dir Optional. Remote file source directory.
- * Default empty string.
- * @return true|WP_Error True on success, WP_Error on failure.
- */
-function move_dir( $from, $to, $working_dir = '' ) {
- global $wp_filesystem;
-
- if ( 'direct' === $wp_filesystem->method ) {
- $wp_filesystem->rmdir( $to );
- if ( @rename( $from, $to ) ) {
- return true;
- }
- }
-
- if ( ! $wp_filesystem->is_dir( $to ) ) {
- if ( ! $wp_filesystem->mkdir( $to, FS_CHMOD_DIR ) ) {
-
- // Clear the working directory?
- if ( ! empty( $working_dir ) ) {
- $wp_filesystem->delete( $working_dir, true );
- }
-
- return new WP_Error( 'mkdir_failed_move_dir', __( 'Could not create directory.' ), $to );
- }
- }
- $result = copy_dir( $from, $to );
-
- // Clear the working directory?
- if ( ! empty( $working_dir ) ) {
- $wp_filesystem->delete( $working_dir, true );
- }
-
- return $result;
-}
-
/**
* Initializes and connects the WordPress Filesystem Abstraction classes.
*
diff --git a/src/wp-includes/update.php b/src/wp-includes/update.php
index e17c38d0ce..42ae3ecf3a 100644
--- a/src/wp-includes/update.php
+++ b/src/wp-includes/update.php
@@ -956,51 +956,6 @@ function wp_clean_update_cache() {
delete_site_transient( 'update_core' );
}
-/**
- * Deletes all contents of the temp-backup directory.
- *
- * @since 5.9.0
- *
- * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
- */
-function wp_delete_all_temp_backups() {
- /*
- * Check if there's a lock, or if currently performing an Ajax request,
- * in which case there's a chance we're doing an update.
- * Reschedule for an hour from now and exit early.
- */
- if ( get_option( 'core_updater.lock' ) || get_option( 'auto_updater.lock' ) || wp_doing_ajax() ) {
- wp_schedule_single_event( time() + HOUR_IN_SECONDS, 'wp_delete_temp_updater_backups' );
- return;
- }
-
- add_action(
- 'shutdown',
- /*
- * This action runs on shutdown to make sure there's no plugin updates currently running.
- * Using a closure in this case is OK since the action can be removed by removing the parent hook.
- */
- function() {
- global $wp_filesystem;
-
- if ( ! $wp_filesystem ) {
- include_once ABSPATH . '/wp-admin/includes/file.php';
- WP_Filesystem();
- }
-
- $dirlist = $wp_filesystem->dirlist( $wp_filesystem->wp_content_dir() . 'upgrade/temp-backup/' );
-
- foreach ( array_keys( $dirlist ) as $dir ) {
- if ( '.' === $dir || '..' === $dir ) {
- continue;
- }
-
- $wp_filesystem->delete( $wp_filesystem->wp_content_dir() . 'upgrade/temp-backup/' . $dir, true );
- }
- }
- );
-}
-
if ( ( ! is_main_site() && ! is_network_admin() ) || wp_doing_ajax() ) {
return;
}
@@ -1025,5 +980,3 @@ add_action( 'update_option_WPLANG', 'wp_clean_update_cache', 10, 0 );
add_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' );
add_action( 'init', 'wp_schedule_update_checks' );
-
-add_action( 'wp_delete_temp_updater_backups', 'wp_delete_all_temp_backups' );