Make WordPress Core


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.6/wp-includes/update.php

    r8317 r8521  
    9191                return false;
    9292
    93         $current = get_option( 'update_plugins' );
    94 
    95         $time_not_changed = isset( $current->last_checked ) && 43200 > ( time() - $current->last_checked );
    96 
    9793        // If running blog-side, bail unless we've not checked in the last 12 hours
    98         if ( !function_exists( 'get_plugins' ) ) {
    99                 if ( $time_not_changed )
    100                         return false;
     94        if ( !function_exists( 'get_plugins' ) )
    10195                require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    102         }
    10396
    10497        $plugins = get_plugins();
    10598        $active  = get_option( 'active_plugins' );
     99        $current = get_option( 'update_plugins' );
    106100
    107101        $new_option = '';
    108102        $new_option->last_checked = time();
     103        $time_not_changed = isset( $current->last_checked ) && 43200 > ( time() - $current->last_checked );
    109104
    110105        $plugin_changed = false;
    … …  
    119114                if ( strval($current->checked[ $file ]) !== strval($p['Version']) )
    120115                        $plugin_changed = true;
     116        }
     117
     118        foreach ( (array) $current->response as $plugin_file => $update_details ) {
     119                if ( ! isset($plugins[ $plugin_file ]) ) {
     120                        $plugin_changed = true;
     121                }
    121122        }
    122123
    … …  
    155156        update_option( 'update_plugins', $new_option );
    156157}
    157 if ( defined( 'WP_ADMIN' ) && WP_ADMIN )
    158         add_action( 'admin_init', 'wp_update_plugins' );
    159 else
    160         add_action( 'init', 'wp_update_plugins' );
     158
     159function _maybe_update_plugins() {
     160        $current = get_option( 'update_plugins' );
     161        if ( isset( $current->last_checked ) && 43200 > ( time() - $current->last_checked ) )
     162                return;
     163        wp_update_plugins();
     164}
     165
     166add_action( 'load-plugins.php', 'wp_update_plugins' );
     167add_action( 'admin_init', '_maybe_update_plugins' );
     168add_action( 'wp_update_plugins', 'wp_update_plugins' );
     169
     170if ( !wp_next_scheduled('wp_update_plugins') )
     171        wp_schedule_event(time(), 'twicedaily', 'wp_update_plugins');
    161172
    162173?>
Note: See TracChangeset for help on using the changeset viewer.