Make WordPress Core

Changeset 19312


Ignore:
Timestamp:
11/16/2011 07:23:15 AM (15 years ago)
Author:
nacin
Message:

Revert update changes that snuck in with [19311]. see #19255, see #18876.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/update.php

    r19311 r19312  
    144144        $new_option = new stdClass;
    145145        $new_option->last_checked = time();
    146 
    147         // Check for updated every 12 hours, 60 minutes, or immediately, depending on the page.
    148         $filter = current_filter();
    149         if ( 'load-update-core.php' != $filter ) {
    150                 $timeout = 'load-plugins.php' == $filter || 'load-update.php' == $filter ? 3600 : 43200;
    151                 $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked );
    152 
    153                 if ( $time_not_changed ) {
    154                         $plugin_changed = false;
    155                         foreach ( $plugins as $file => $p ) {
    156                                 $new_option->checked[ $file ] = $p['Version'];
    157                
    158                                 if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) )
    159                                         $plugin_changed = true;
     146        // Check for updated every 60 minutes if hitting update pages; else, check every 12 hours.
     147        $timeout = in_array( current_filter(), array( 'load-plugins.php', 'load-update.php', 'load-update-core.php' ) ) ? 3600 : 43200;
     148        $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked );
     149
     150        $plugin_changed = false;
     151        foreach ( $plugins as $file => $p ) {
     152                $new_option->checked[ $file ] = $p['Version'];
     153
     154                if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) )
     155                        $plugin_changed = true;
     156        }
     157
     158        if ( isset ( $current->response ) && is_array( $current->response ) ) {
     159                foreach ( $current->response as $plugin_file => $update_details ) {
     160                        if ( ! isset($plugins[ $plugin_file ]) ) {
     161                                $plugin_changed = true;
     162                                break;
    160163                        }
    161 
    162                         if ( isset ( $current->response ) && is_array( $current->response ) ) {
    163                                 foreach ( $current->response as $plugin_file => $update_details ) {
    164                                         if ( ! isset($plugins[ $plugin_file ]) ) {
    165                                                 $plugin_changed = true;
    166                                                 break;
    167                                         }
    168                                 }
    169                         }
    170 
    171                         // Bail if we've checked recently and if nothing has changed
    172                         if ( ! $plugin_changed )
    173                                 return false;
    174164                }
    175165        }
     166
     167        // Bail if we've checked in the last 12 hours and if nothing has changed
     168        if ( $time_not_changed && !$plugin_changed )
     169                return false;
    176170
    177171        // Update last_checked for current to prevent multiple blocking requests if request hangs
     
    229223                $last_update = new stdClass;
    230224
     225        // Check for updated every 60 minutes if hitting update pages; else, check every 12 hours.
     226        $timeout = in_array( current_filter(), array( 'load-themes.php', 'load-update.php', 'load-update-core.php' ) ) ? 3600 : 43200;
     227        $time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time( ) - $last_update->last_checked );
     228
    231229        $themes = array();
    232230        $checked = array();
     
    249247        }
    250248
    251         // Check for updated every 12 hours, 60 minutes, or immediately, depending on the page.
    252         $filter = current_filter();
    253         if ( 'load-update-core.php' != $filter ) {
    254                 $timeout = 'load-themes.php' == $filter || 'load-update.php' == $filter ? 3600 : 43200;
    255                 $time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time( ) - $last_update->last_checked );
    256 
    257                 if ( $time_not_changed ) {
    258                         $theme_changed = false;
    259                         foreach ( $checked as $slug => $v ) {
    260                                 $update_request->checked[ $slug ] = $v;
    261                
    262                                 if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) )
    263                                         $theme_changed = true;
     249        $theme_changed = false;
     250        foreach ( $checked as $slug => $v ) {
     251                $update_request->checked[ $slug ] = $v;
     252
     253                if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) )
     254                        $theme_changed = true;
     255        }
     256
     257        if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) {
     258                foreach ( $last_update->response as $slug => $update_details ) {
     259                        if ( ! isset($checked[ $slug ]) ) {
     260                                $theme_changed = true;
     261                                break;
    264262                        }
    265 
    266                         if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) {
    267                                 foreach ( $last_update->response as $slug => $update_details ) {
    268                                         if ( ! isset($checked[ $slug ]) ) {
    269                                                 $theme_changed = true;
    270                                                 break;
    271                                         }
    272                                 }
    273                         }
    274 
    275                         // Bail if we've checked recently and if nothing has changed
    276                         if ( ! $theme_changed )
    277                                 return false;
    278263                }
    279264        }
     265
     266        if ( $time_not_changed && !$theme_changed )
     267                return false;
    280268
    281269        // Update last_checked for current to prevent multiple blocking requests if request hangs
Note: See TracChangeset for help on using the changeset viewer.