Changeset 52192
- Timestamp:
- 11/16/2021 10:18:32 PM (3 years ago)
- Location:
- trunk/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/class-wp-upgrader.php
r51902 r52192 151 151 */ 152 152 protected function schedule_temp_backup_cleanup() { 153 wp_schedule_event( time(), 'weekly', 'delete_temp_updater_backups' ); 154 add_action( 'delete_temp_updater_backups', array( $this, 'delete_all_temp_backups' ) ); 153 if ( false === wp_next_scheduled( 'wp_delete_temp_updater_backups' ) ) { 154 wp_schedule_event( time(), 'weekly', 'wp_delete_temp_updater_backups' ); 155 } 155 156 } 156 157 … … 1108 1109 ); 1109 1110 } 1110 1111 /**1112 * Deletes all contents of the temp-backup directory.1113 *1114 * @since 5.9.01115 *1116 * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.1117 */1118 public function delete_all_temp_backups() {1119 /*1120 * Check if there's a lock, or if currently performing an Ajax request,1121 * in which case there's a chance we're doing an update.1122 * Reschedule for an hour from now and exit early.1123 */1124 if ( get_option( 'core_updater.lock' ) || get_option( 'auto_updater.lock' ) || wp_doing_ajax() ) {1125 wp_schedule_single_event( time() + HOUR_IN_SECONDS, 'delete_temp_updater_backups' );1126 return;1127 }1128 1129 add_action(1130 'shutdown',1131 /*1132 * This action runs on shutdown to make sure there's no plugin updates currently running.1133 * Using a closure in this case is OK since the action can be removed by removing the parent hook.1134 */1135 function() {1136 global $wp_filesystem;1137 1138 if ( ! $wp_filesystem ) {1139 include_once ABSPATH . '/wp-admin/includes/file.php';1140 WP_Filesystem();1141 }1142 1143 $dirlist = $wp_filesystem->dirlist( $wp_filesystem->wp_content_dir() . 'upgrade/temp-backup/' );1144 1145 foreach ( array_keys( $dirlist ) as $dir ) {1146 if ( '.' === $dir || '..' === $dir ) {1147 continue;1148 }1149 1150 $wp_filesystem->delete( $wp_filesystem->wp_content_dir() . 'upgrade/temp-backup/' . $dir, true );1151 }1152 }1153 );1154 }1155 1111 } 1156 1112 -
trunk/src/wp-includes/update.php
r52019 r52192 957 957 } 958 958 959 /** 960 * Deletes all contents of the temp-backup directory. 961 * 962 * @since 5.9.0 963 * 964 * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. 965 */ 966 function wp_delete_all_temp_backups() { 967 /* 968 * Check if there's a lock, or if currently performing an Ajax request, 969 * in which case there's a chance we're doing an update. 970 * Reschedule for an hour from now and exit early. 971 */ 972 if ( get_option( 'core_updater.lock' ) || get_option( 'auto_updater.lock' ) || wp_doing_ajax() ) { 973 wp_schedule_single_event( time() + HOUR_IN_SECONDS, 'wp_delete_temp_updater_backups' ); 974 return; 975 } 976 977 add_action( 978 'shutdown', 979 /* 980 * This action runs on shutdown to make sure there's no plugin updates currently running. 981 * Using a closure in this case is OK since the action can be removed by removing the parent hook. 982 */ 983 function() { 984 global $wp_filesystem; 985 986 if ( ! $wp_filesystem ) { 987 include_once ABSPATH . '/wp-admin/includes/file.php'; 988 WP_Filesystem(); 989 } 990 991 $dirlist = $wp_filesystem->dirlist( $wp_filesystem->wp_content_dir() . 'upgrade/temp-backup/' ); 992 993 foreach ( array_keys( $dirlist ) as $dir ) { 994 if ( '.' === $dir || '..' === $dir ) { 995 continue; 996 } 997 998 $wp_filesystem->delete( $wp_filesystem->wp_content_dir() . 'upgrade/temp-backup/' . $dir, true ); 999 } 1000 } 1001 ); 1002 } 1003 959 1004 if ( ( ! is_main_site() && ! is_network_admin() ) || wp_doing_ajax() ) { 960 1005 return; … … 981 1026 982 1027 add_action( 'init', 'wp_schedule_update_checks' ); 1028 1029 add_action( 'wp_delete_temp_updater_backups', 'wp_delete_all_temp_backups' );
Note: See TracChangeset
for help on using the changeset viewer.