Changeset 25540 for trunk/src/wp-admin/includes/update.php
- Timestamp:
- 09/21/2013 06:48:20 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/update.php
r25421 r25540 88 88 } 89 89 90 /** 91 * Gets and caches the checksums for the given versions of WordPress 92 * 93 * @since 3.7.0 94 * 95 * @param $version string|array A single version, or an array of versions to fetch 96 * 97 * @return bool|array False on failure, otherwise the array of checksums, keyed by version 98 */ 99 function get_core_checksums( $version ) { 100 if ( ! is_array( $version ) ) 101 $version = array( $version ); 102 103 $return = array(); 104 105 // Check to see if we have cached copies available, if we do, no need to request them 106 foreach ( $version as $i => $v ) { 107 if ( $checksums = get_site_transient( "core_checksums_$v" ) ) { 108 unset( $version[ $i ] ); 109 $return[ $v ] = $checksums; 110 } 111 } 112 113 // We had cached copies for all of the versions! 114 if ( empty( $version ) ) 115 return $return; 116 117 $url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query( array( 'version' => $version ), null, '&' ); 118 119 if ( wp_http_supports( array( 'ssl' ) ) ) 120 $url = set_url_scheme( $url, 'https' ); 121 122 $options = array( 123 'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3 ), 124 ); 125 126 $response = wp_remote_get( $url, $options ); 127 128 if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) 129 return false; 130 131 $body = trim( wp_remote_retrieve_body( $response ) ); 132 $body = json_decode( $body, true ); 133 134 if ( ! is_array( $body ) || ! isset( $body['checksums'] ) || ! is_array( $body['checksums'] ) ) 135 return false; 136 137 // Cache the checksums for later 138 foreach ( $version as $v ) { 139 set_site_transient( "core_checksums_$v", $body['checksums'][ $v ], HOUR_IN_SECONDS ); 140 $return[ $v ] = $body['checksums'][ $v ]; 141 } 142 143 // If the API didn't return anything for a version, explicitly set it's return value to false 144 foreach ( $return as $v => $r ) { 145 if ( empty( $r ) ) 146 $return[ $v ] = false; 147 } 148 149 return $return; 150 } 151 90 152 function dismiss_core_update( $update ) { 91 153 $dismissed = get_site_option( 'dismissed_update_core' );
Note: See TracChangeset
for help on using the changeset viewer.