Changeset 8595
- Timestamp:
- 08/08/2008 10:49:35 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/includes/file.php
r8580 r8595 409 409 $wp_filesystem->chmod($to . $filename, 0644); 410 410 } elseif ( 'd' == $fileinfo['type'] ) { 411 if ( !$wp_filesystem->mkdir($to . $filename, 0755) ) 412 return new WP_Error('mkdir_failed', __('Could not create directory'), $to . $filename); 411 if ( !$wp_filesystem->is_dir($to . $filename) ) { 412 if ( !$wp_filesystem->mkdir($to . $filename, 0755) ) 413 return new WP_Error('mkdir_failed', __('Could not create directory'), $to . $filename); 414 } 413 415 $result = copy_dir($from . $filename, $to . $filename); 414 416 if ( is_wp_error($result) ) -
trunk/wp-admin/includes/update.php
r8589 r8595 16 16 switch ( $cur->response ) { 17 17 case 'development' : 18 return sprintf( '| '.__( 'You are using a development version (% s). Cool! Please <a href="%s">stay updated</a>.' ), $GLOBALS['wp_version'], $cur->url, $cur->current);18 return sprintf( '| '.__( 'You are using a development version (%1$s). Cool! Please <a href="%2$s">stay updated</a>.' ), $GLOBALS['wp_version'], wp_nonce_url('update.php?action=upgrade-core', 'upgrade-core')); 19 19 break; 20 20 21 21 case 'upgrade' : 22 22 if ( current_user_can('manage_options') ) { 23 return sprintf( '| <strong>'.__( '<a href="% 2$s">Get Version %3$s</a>' ).'</strong>', $GLOBALS['wp_version'], $cur->url, $cur->current);23 return sprintf( '| <strong>'.__( '<a href="%1$s">Get Version %2$s</a>' ).'</strong>', wp_nonce_url('update.php?action=upgrade-core', 'upgrade-core'), $cur->current); 24 24 break; 25 25 } … … 27 27 case 'latest' : 28 28 default : 29 return sprintf( '| '.__( 'Version %s' ), $GLOBALS['wp_version'] , $cur->url, $cur->current);29 return sprintf( '| '.__( 'Version %s' ), $GLOBALS['wp_version'] ); 30 30 break; 31 31 } … … 40 40 41 41 if ( current_user_can('manage_options') ) 42 $msg = sprintf( __('WordPress % 2$s is available! <a href="%1$s">Please update now</a>.'), $cur->url, $cur->current);42 $msg = sprintf( __('WordPress %1$s is available! <a href="%2$s">Please update now</a>.'), $cur->current, wp_nonce_url('update.php?action=upgrade-core', 'upgrade-core') ); 43 43 else 44 $msg = sprintf( __('WordPress % 2$s is available! Please notify the site administrator.'), $cur->url, $cur->current );44 $msg = sprintf( __('WordPress %1$s is available! Please notify the site administrator.'), $cur->current ); 45 45 46 46 echo "<div id='update-nag'>$msg</div>"; … … 54 54 $msg = sprintf( __('This is WordPress version %s.'), $GLOBALS['wp_version'] ); 55 55 if ( isset( $cur->response ) && $cur->response == 'upgrade' && current_user_can('manage_options') ) 56 $msg .= " <a href=' $cur->url' class='rbutton'>" . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a>';56 $msg .= " <a href='" . wp_nonce_url('update.php?action=upgrade-core', 'upgrade-core') . "' class='rbutton'>" . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a>'; 57 57 58 58 echo "<span id='wp-version-message'>$msg</span>"; … … 194 194 } 195 195 196 function wp_update_core($feedback = '') { 197 global $wp_filesystem; 198 199 if ( !empty($feedback) ) 200 add_filter('update_feedback', $feedback); 201 202 // Is an update available? 203 $current = get_option( 'update_core' ); 204 if ( !isset( $current->response ) || $current->response == 'latest' ) 205 return new WP_Error('up_to_date', __('WordPress is at the latest version.')); 206 207 // Is a filesystem accessor setup? 208 if ( ! $wp_filesystem || ! is_object($wp_filesystem) ) 209 WP_Filesystem(); 210 211 if ( ! is_object($wp_filesystem) ) 212 return new WP_Error('fs_unavailable', __('Could not access filesystem.')); 213 214 if ( $wp_filesystem->errors->get_error_code() ) 215 return new WP_Error('fs_error', __('Filesystem error'), $wp_filesystem->errors); 216 217 // Get the base WP folder 218 $wp_dir = $wp_filesystem->abspath(); 219 if ( empty($wp_dir) ) 220 return new WP_Error('fs_no_wp_dir', __('Unable to locate WordPress directory.')); 221 222 // And the same for the Content directory. 223 $content_dir = $wp_filesystem->wp_content_dir(); 224 if( empty($content_dir) ) 225 return new WP_Error('fs_no_content_dir', __('Unable to locate WordPress Content directory (wp-content).')); 226 227 $wp_dir = trailingslashit( $wp_dir ); 228 $content_dir = trailingslashit( $content_dir ); 229 230 // Get the URL to the zip file 231 $package = $current->package; 232 233 // Download the package 234 apply_filters('update_feedback', sprintf(__('Downloading update from %s'), $package)); 235 $download_file = download_url($package); 236 237 if ( is_wp_error($download_file) ) 238 return new WP_Error('download_failed', __('Download failed.'), $download_file->get_error_message()); 239 240 $working_dir = $content_dir . 'upgrade/core'; 241 242 // Clean up working directory 243 if ( $wp_filesystem->is_dir($working_dir) ) 244 $wp_filesystem->delete($working_dir, true); 245 246 apply_filters('update_feedback', __('Unpacking the update')); 247 // Unzip package to working directory 248 $result = unzip_file($download_file, $working_dir); 249 250 // Once extracted, delete the package 251 unlink($download_file); 252 253 if ( is_wp_error($result) ) { 254 $wp_filesystem->delete($working_dir, true); 255 return $result; 256 } 257 258 // Copy update-core.php from the new version into place. 259 if ( !$wp_filesystem->copy($working_dir . '/wordpress/wp-admin/includes/update-core.php', $wp_dir . 'wp-admin/includes/update-core.php', true) ) { 260 $wp_filesystem->delete($working_dir, true); 261 return new WP_Error('copy_failed', __('Could not copy files')); 262 } 263 264 require(ABSPATH . 'wp-admin/includes/update-core.php'); 265 266 return update_core($working_dir, $wp_dir); 267 } 268 196 269 ?> -
trunk/wp-admin/update.php
r8540 r8595 45 45 } 46 46 47 function do_core_upgrade() { 48 global $wp_filesystem; 49 50 $url = wp_nonce_url("update.php?action=upgrade-core", "upgrade-core"); 51 if ( false === ($credentials = request_filesystem_credentials($url)) ) 52 return; 53 54 if ( ! WP_Filesystem($credentials) ) { 55 request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again 56 return; 57 } 58 59 echo '<div class="wrap">'; 60 echo '<h2>' . __('Upgrade WordPress') . '</h2>'; 61 if ( $wp_filesystem->errors->get_error_code() ) { 62 foreach ( $wp_filesystem->errors->get_error_messages() as $message ) 63 show_message($message); 64 echo '</div>'; 65 return; 66 } 67 68 $result = wp_update_core('show_message'); 69 70 if ( is_wp_error($result) ) { 71 show_message($result); 72 if ('up_to_date' != $result->get_error_code() ) 73 show_message( __('Installation Failed') ); 74 } else { 75 show_message( __('WordPress upgraded successfully') ); 76 } 77 echo '</div>'; 78 } 79 47 80 if ( isset($_GET['action']) ) { 48 81 $plugin = isset($_GET['plugin']) ? trim($_GET['plugin']) : ''; … … 85 118 } 86 119 echo "</body></html>"; 120 } elseif ( 'upgrade-core' == $_GET['action'] ) { 121 //check_admin_referer('upgrade-core'); 122 $title = __('Upgrade WordPress'); 123 $parent_file = 'index.php'; 124 require_once('admin-header.php'); 125 do_core_upgrade(); 126 include('admin-footer.php'); 87 127 } 88 128 } -
trunk/wp-includes/update.php
r8516 r8595 41 41 $new_option->version_checked = $wp_version; 42 42 43 $url = "http://api.wordpress.org/core/version-check/1. 1/?version=$wp_version&php=$php_version&locale=$locale";43 $url = "http://api.wordpress.org/core/version-check/1.2/?version=$wp_version&php=$php_version&locale=$locale"; 44 44 $options = array('timeout' => 3); 45 45 … … 51 51 $response = wp_remote_request($url, $options, $headers); 52 52 53 if ( 200 != $response['response']['code'] )53 if ( 200 != $response['response']['code'] ) 54 54 return false; 55 55 56 56 $body = $response['body']; 57 58 $body = trim( $response[1] ); 57 $body = trim( $body ); 59 58 $body = str_replace(array("\r\n", "\r"), "\n", $body); 60 61 59 $returns = explode("\n", $body); 62 60 … … 65 63 $new_option->url = clean_url( $returns[1] ); 66 64 if ( isset( $returns[2] ) ) 67 $new_option->current = attribute_escape( $returns[2] ); 65 $new_option->package = clean_url( $returns[2] ); 66 if ( isset( $returns[3] ) ) 67 $new_option->current = attribute_escape( $returns[3] ); 68 if ( isset( $returns[4] ) ) 69 $new_option->locale = attribute_escape( $returns[4] ); 68 70 69 71 update_option( 'update_core', $new_option ); -
trunk/wp-settings.php
r8565 r8595 107 107 if ( !defined('WP_CONTENT_DIR') ) 108 108 define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down 109 110 if ( file_exists(ABSPATH . '.maintenance') ) { 111 if ( file_exists( WP_CONTENT_DIR . '/maintenance.php' ) ) { 112 require_once( WP_CONTENT_DIR . '/maintenance.php' ); 113 die(); 114 } 115 116 $protocol = $_SERVER["SERVER_PROTOCOL"]; 117 if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol ) 118 $protocol = 'HTTP/1.0'; 119 header( "$protocol 503 Service Unavailable", true, 503 ); 120 header( 'Content-Type: text/html; charset=utf-8' ); 121 ?> 122 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 123 <html xmlns="http://www.w3.org/1999/xhtml"> 124 <head> 125 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 126 <title>Maintenance</title> 127 128 </head> 129 <body> 130 <h1>Briefly unavailable for scheduled maintenance. Check back in a minute.</h1> 131 </body> 132 </html> 133 <?php 134 die(); 135 } 109 136 110 137 if ( !extension_loaded('mysql') && !file_exists(WP_CONTENT_DIR . '/db.php') )
Note: See TracChangeset
for help on using the changeset viewer.