Changeset 8891 for trunk/wp-includes/update.php
- Timestamp:
- 09/15/2008 04:21:15 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/update.php
r8742 r8891 166 166 } 167 167 168 /** 169 * Check theme versions against the latest versions hosted on WordPress.org. 170 * 171 * A list of all themes installed in sent to WP. Checks against the 172 * WordPress server at api.wordpress.org. Will only check if PHP has 173 * fsockopen enabled and WordPress isn't installing. 174 * 175 * @package WordPress 176 * @since 2.7.0 177 * @uses $wp_version Used to notidy the WordPress version. 178 * 179 * @return mixed Returns null if update is unsupported. Returns false if check is too soon. 180 */ 181 function wp_update_themes( ) { 182 global $wp_version; 183 184 if( defined( 'WP_INSTALLING' ) ) 185 return false; 186 187 if( !function_exists( 'get_themes' ) ) 188 require_once( ABSPATH . 'wp-includes/theme.php' ); 189 190 $installed_themes = get_themes( ); 191 $current_theme = get_option( 'update_themes' ); 192 193 $new_option = ''; 194 $new_option->last_checked = time( ); 195 $time_not_changed = isset( $current->last_checked ) && 43200 > ( time( ) - $current->last_checked ); 196 197 if( $time_not_changed ) 198 return false; 199 200 $themes = array( ); 201 $themes['current_theme'] = $current_theme; 202 foreach( (array) $installed_themes as $theme_title => $theme ) { 203 $themes[$theme['Template']] = array( ); 204 205 foreach( (array) $theme as $key => $value ) { 206 $themes[$theme['Template']][$key] = $value; 207 } 208 } 209 210 $options = array( 211 'method' => 'POST', 212 'timeout' => 3, 213 'body' => 'themes=' . urlencode( serialize( $themes ) ) 214 ); 215 $options['headers'] = array( 216 'Content-Type' => 'application/x-www-form-urlencoded; charset=' . get_option( 'blog_charset' ), 217 'Content-Length' => strlen( $options['body'] ), 218 'User-Agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) 219 ); 220 221 $raw_response = wp_remote_request( 'http://api.wordpress.org/themes/update-check/1.0/', $options ); 222 223 if( is_wp_error( $raw_response ) ) 224 return false; 225 226 if( 200 != $raw_response['response']['code'] ) 227 return false; 228 229 $response = unserialize( $raw_response['body'] ); 230 if( $response ) 231 $new_option->response = $response; 232 233 update_option( 'update_themes', $new_option ); 234 } 235 168 236 function _maybe_update_plugins() { 169 237 $current = get_option( 'update_plugins' ); … … 173 241 } 174 242 243 function _maybe_update_themes( ) { 244 $current = get_option( 'update_themes' ); 245 if( isset( $current->last_checked ) && 43200 > ( time( ) - $current->last_checked ) ) 246 return; 247 248 wp_update_themes( ); 249 } 250 175 251 add_action( 'load-plugins.php', 'wp_update_plugins' ); 176 252 add_action( 'admin_init', '_maybe_update_plugins' ); 177 253 add_action( 'wp_update_plugins', 'wp_update_plugins' ); 178 254 255 add_action( 'admin_init', '_maybe_update_themes' ); 256 add_action( 'wp_update_themes', 'wp_update_themes' ); 257 179 258 if ( !wp_next_scheduled('wp_update_plugins') ) 180 259 wp_schedule_event(time(), 'twicedaily', 'wp_update_plugins'); 181 260 261 262 if ( !wp_next_scheduled('wp_update_themes') ) 263 wp_schedule_event(time(), 'twicedaily', 'wp_update_themes'); 264 182 265 ?>
Note: See TracChangeset
for help on using the changeset viewer.