Changeset 19683
- Timestamp:
- 01/05/2012 07:49:47 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/update.php
r19312 r19683 34 34 $current->version_checked = $wp_version; 35 35 } 36 37 // Wait 60 seconds between multiple version check requests 38 $timeout = 60; 39 $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); 40 if ( $time_not_changed ) 41 return false; 36 42 37 43 $locale = apply_filters( 'core_version_check_locale', get_locale() ); … … 144 150 $new_option = new stdClass; 145 151 $new_option->last_checked = time(); 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; 152 153 // Check for update on a different schedule, depending on the page. 154 switch ( current_filter() ) { 155 case 'load-update-core.php' : 156 $timeout = 60; // 1 min 157 break; 158 case 'load-plugins.php' : 159 case 'load-update.php' : 160 $timeout = 3600; // 1 hour 161 break; 162 default : 163 $timeout = 43200; // 12 hours 164 } 165 148 166 $time_not_changed = isset( $current->last_checked ) && $timeout > ( time() - $current->last_checked ); 149 167 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 ]) ) { 168 if ( $time_not_changed ) { 169 $plugin_changed = false; 170 foreach ( $plugins as $file => $p ) { 171 $new_option->checked[ $file ] = $p['Version']; 172 173 if ( !isset( $current->checked[ $file ] ) || strval($current->checked[ $file ]) !== strval($p['Version']) ) 161 174 $plugin_changed = true; 162 break; 175 } 176 177 if ( isset ( $current->response ) && is_array( $current->response ) ) { 178 foreach ( $current->response as $plugin_file => $update_details ) { 179 if ( ! isset($plugins[ $plugin_file ]) ) { 180 $plugin_changed = true; 181 break; 182 } 163 183 } 164 184 } 165 } 166 167 // Bail if we've checked in the last 12 hours and if nothing has changed168 if ( $time_not_changed && !$plugin_changed )169 return false;185 186 // Bail if we've checked recently and if nothing has changed 187 if ( ! $plugin_changed ) 188 return false; 189 } 170 190 171 191 // Update last_checked for current to prevent multiple blocking requests if request hangs … … 223 243 $last_update = new stdClass; 224 244 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 229 245 $themes = array(); 230 246 $checked = array(); … … 247 263 } 248 264 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 ]) ) { 265 // Check for update on a different schedule, depending on the page. 266 switch ( current_filter() ) { 267 case 'load-update-core.php' : 268 $timeout = 60; // 1 min 269 break; 270 case 'load-plugins.php' : 271 case 'load-update.php' : 272 $timeout = 3600; // 1 hour 273 break; 274 default : 275 $timeout = 43200; // 12 hours 276 } 277 278 $time_not_changed = isset( $last_update->last_checked ) && $timeout > ( time( ) - $last_update->last_checked ); 279 280 if ( $time_not_changed ) { 281 $theme_changed = false; 282 foreach ( $checked as $slug => $v ) { 283 $update_request->checked[ $slug ] = $v; 284 285 if ( !isset( $last_update->checked[ $slug ] ) || strval($last_update->checked[ $slug ]) !== strval($v) ) 260 286 $theme_changed = true; 261 break; 287 } 288 289 if ( isset ( $last_update->response ) && is_array( $last_update->response ) ) { 290 foreach ( $last_update->response as $slug => $update_details ) { 291 if ( ! isset($checked[ $slug ]) ) { 292 $theme_changed = true; 293 break; 294 } 262 295 } 263 296 } 264 } 265 266 if ( $time_not_changed && !$theme_changed ) 267 return false; 297 298 // Bail if we've checked recently and if nothing has changed 299 if ( ! $theme_changed ) 300 return false; 301 } 268 302 269 303 // Update last_checked for current to prevent multiple blocking requests if request hangs
Note: See TracChangeset
for help on using the changeset viewer.